CTSC 2012 showhand

http://www.lydsy.com/JudgeOnline/problem.php?id=2804
闲的DT去写了一下。。。其实也不难写。。。

算法么也就那样。。。预处理出所有C(52,5)种牌的组合,然后将他们按大小排序,对每个我可能的牌,算出有多少个在它之前的牌与它没有重复元素,使用容斥计算就行了。。。

常数有点虚。。。预处理牌的时候尽量写的靠谱一点。。。用两个数分别压位表示点数和花色。。。然后一个type一个type的处理。。。

容斥的时候么。。。裸Hash似乎会T。。。对所有组合编个码好了。。。

code:

http://ideone.com/M1uIV

CF 124 Div I

A:裸贪心

B:bfs,不妨令当前到了(r,c),如果存在令一个到过的格子(r’,c’) , (r%n,c%m) == (r’%n,c’%m),那么就可以无限走远,不然No.

C:构造,注意要使用极角序!!!!尼玛我比赛的时候写错了…

D:注意到只需要不要有长度为d或d+1的回文串即可,那么一个当前位置最多就2个字符不能选,只要找到第一个可以修改的位置之后后面就直接构造就行了.

E:显然要对于两个portal a,b,令他们间的边权为a,b在图中的最短距离,然后建MST.

注意到暴力显然不靠谱,我们脑补一下,可以感觉出只有"相邻"的portal要连边,

所谓的相邻就是存在一条边e(a,b),a离portal x最近,b离portal y最近,那么就给x – y连一条边.

一开始弱逼到B都不会做…

D一开始写错了,最后发现的时候一顿狂改差了30s没来得及交…

C傻逼了…

最后TM还掉rating…哭了…