第一次打CF
感觉翻译好淡疼,题目各种看不懂,问别人加看样例才勉勉强强看懂
A
枚举+判重
话说打CF会养成STL的陋习貌似是真的= =,第一二题都是直接交了两个set+sting
不过会写一些STL也是挺方便的,然后其实第一题想打一个char*的map的,然后莫名发现set和map都不支持char*的判断,也不知道是我写的丑还是什么= =,现场学了以下string直接过了
B
统计相同子串最大个数
直接set+string,不过忘记ans最小也有1,没判WA了一发
C
递推+组合数
题意:有k组球,对于任意 i,只有将第 i - 1 组的球取完之后才能将第 i 组取完
于是用 f[ i ] 记录一下前 i 组的方案数,sum 维护一下当前球的总数,对于下一组球 i+1 ,先拿出一个球放在最后,再讲剩下 num[ i ] - 1 个球插入之前的排序中
稍微想一下可以的得到 f[ i+1 ]= f[ i ]*C(sum+num[ i ] - 1 ,num[ i ] - 1 )
之后C随便打个递归或者 lucas 都可以,比赛的时候没看懂它说球的总数小于1000,很虚的打了 lucas ,比完之后才知道= =
第一次就A了三道题好开心啊,然后突然发现是三道傻逼题有什么好高兴的 Orz
其实还是很弱啊,简单题想得慢,实现也慢,第一题花了我45min,第二题同第一题,花了15min,第三题傻逼组合数推完之后还用了我30min,然后一小时四十分钟以后弃疗了
看了一下E题,依然题意看不懂= =目测好像是并查集再统计一下什么的,然而还有15min没看懂于是弃掉了
速度太慢了啊,思考还要再快点呢