Codeforces Round #309

第一次打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没看懂于是弃掉了

速度太慢了啊,思考还要再快点呢

 

posted @ 2015-06-25 22:26  ST_Saint  阅读(139)  评论(0编辑  收藏  举报