总结在最后
1.CF92A Chips
水题,m减去i(1...n)直到m下一次小于零为止。
2.CF92B Binary Number
找规律,需要加1的次数是倒数第一个1左边所有0的个数加上一个1的个数。
如果不加1除2的次数就是长度len-1。加1除2的次数是len。len是字符串的长度。
3.CF92C newspaper deadline
朴素的算法o(n2)是把目标串的每个字符在源串中找,找到结尾后,使用源串的数量+1。
可以在查找下一次位置的时候用二分降到o(nlogn)。首先用了set超时了,然后vector过了。
可能因为set每次插入到有序表中消耗时间比较大,也可能是我没写好。
4.CF92D queue
这个题拿了一血很幸运,因为在写完之后有个样例把我一个没想到的地方卡到了,所以修改之后1A了。
我用的线段树,首先把10^9数据离散到10^6次方,然后记录区间lr之间最靠右的值。建树之后直接查询0到num[i]区间最靠右的值。
队友有用优先队列的思路做的。记录年龄和位置,按年龄排序,队列里放置位置,不断更新队列即可。代码量少,思路简单,速度也比我的快。
5.CF92E ski base
给出10^5节点,每次连一条边输出当前有多少个环。当相连的边不在同一个连通分量中,他们不会形成环,
当在一个连通分量中,回路的数量变为2*ans+1。这题我看了之后就想到了用并查集的思路,也稍微推出了一点规律。但是看到H更简单就先做了H,然后一直卡在H。
6.CF94A Restoring password
水题,用map对应即可。
7.94B Friends
水题,枚举是否存在三个人两两不认识或者两两认识的情况。
8.94C Frames
里结束比赛还有1个小时,就开始做这个题,题意有一点没搞清楚就去敲了,然后思路各种乱,各种慌。到最后思路都没缕清楚。
91D,91E两个题都没做,比赛之后也没敲。
总结这次比赛,感觉有进步,一开始都很顺利,心态也好,每个题都尽量的仔细,比赛的前8个题都看过一遍,还剩一个小时的时候还是rank1。但在那个时候开始慌了,最终导致H题没出来,下次一定要改。很佩服sumy,虽然一开始不很顺利,到最后心态好最终变成了rank1,比赛结束1分钟还A了一个题,这就是差距啊。