A题:给定一个数,输出n个数,这n个数全部要在1~4*n之间且不能有任意一对满足:gcd(a,b)=1,a%b==0||b%a==0。
1.开始看样例从4开始找,暴力一下就好(能暴力就暴力(暴力解题可以避免讨论很多情况,前提是在复杂度允许的情况下))
然后n=5的时候就只能找到4个,做到这里,我就应该反思自己的思路了(也许不应该从4开始找,从4*n开始找)。其实就是输出大于2*n的所有偶数就ok。
2.这一题,开得像往常一样的慢,22分钟才出。
B题:纠结了很久(接近50分钟)。(我不是有一点害怕字符串的题,吐血了)。
题意:01串,加1(0->1)花费b,清空一串连续的1花费a,问清楚所有的最后花费多少?其实就是一个贪心问题,然鹅???我尼玛贪的不明不白(想法一直都是正确的,但是每一发都是没有将自己的思路完全表达出来(还有就是特殊情况的判断(000000全为0)))。
总结:
1.不要怕,有思路,觉得正确就可以直接操起键盘就写,但是交之前还是至少需要
1)代码实现的功能就是我像要实现的功能。(这个多写几行输出就ok了)
2)尽量构造一些自己的样例(最简单粗暴的是,代码写完之后直接凭感觉来构造样例,然后按照自己的代码模拟(特别是字符串什么的,基本上构造机组样例,本地能过就稳过))
3)不要总是以仔细思考的借口来浪费时间。这个容易自闭,那么最好自己自负一点。(有思路就操起键盘直接淦,能实现自己的功能,能过自己构造的几个样例就直接交。什么暴力,什么打表,应该必须是经常用到的操作)。
4)注意考虑边界。这一题就是这样子。没有考虑到00000000000
C题:8分钟a出来,就是个2分答案,感觉和ccpc签到题哪一题很相似,而且简单多了。
题意:给定n,和数组an,bn。
选ai或bi。ai是快递员自己送餐来,时间不叠加,bi是自己去取,时间要叠加,问最少多少时间能将这些快递全部取了。
直接二分答案,>mid就直接选b[i],大于的sum(bi)>mid就直接返回false;
D题:最后竟然还有45分钟的时间思考,挺好的了。
也是操起键盘直接淦,但是,我觉得,在wa了两次之后就应该认真构造一些样例,认真思考一些题目了。emmm
明天再起来看一看这一题吧(但是明天上午复变考试,白天要学习专业课(打了一场ccpc之后虽然没拿牌,但也想清楚了我并不能只靠acm带给我的就能够养活自己,还是必须得注重专业课))。。。
题意:给定一个长为n的数组a。每次操作可以将某个前/后缀全部减1,判断最终是否可以全部减为0.
题解:实际上就相当于是否可以找到两个数组,分别为不上升b/下降c序列。然后叠加求和得到数组a。找这样两个数组的时候应该满足贪心策略(ci在满足条件的情况下尽可能小,bi在满足条件的情况下尽可能大)
感觉是这一场对我来说最好的一道题吧,写下博客::https://blog.csdn.net/I_have_a_world/article/details/109479492
F题:3000分的F题,没想到挺水的,40分钟ac(可惜是比赛结束后)。
就是个set维护数组,然后每次判断两边的值是否在之后需要用到(需要就不能取,不需要就可以取)。
链接:https://codeforces.ml/contest/1443/problem/F