51nod算法马拉松28划水记

来源:互联网 发布:沪深300股指期货 知乎 编辑:程序博客网 时间:2024/05/16 05:46

上高中的第一场认真打完全程(并不 的比赛
实力划水靠着手速打到了rank14 结果只涨了58 rating
怀念CF打一场涨100+rating的时代啊
A:签到题,想了好久QwQ
最后发现合法遍历的话划分方案必然唯一然后就过了
谴责出题人还要写高精度
B:比C难
考虑如果没有相等的限制怎么做
我们用哈希判断两个字符串是否相等
二分出那个不相等的位置即可
有限制?
处理出来字符c的哈希系数的前缀和,就可以O(1)修改哈希数组了
C:维护一个向前的前缀和和向后的前缀和
一旦删过界就暴力把中点放到最左端
读入写错3次我好菜啊
D:听计算几何讲师说题意为给n个凸包问交集是否为空
半平面交。。。。
E:考虑简单环的生成函数,设环长为l,那么显然为C1l+1+C2lx+C3lx2+...+Cllxl1
因为是仙人掌所以简单环只可能以点或边链接
以点连接的话F(A+B)=F(A)*F(B)
以边连接的话F(A+B)=F(A) * F(B) * (x+1)
分治FFT即可
因为不会写yy出一个基于哈夫曼树的做法
每次选择两个次数界最小的多项式合并
太难写样例错了就弃疗了_ (:з」∠) _
F:如果是一个确定的序列怎么做?
设Fi,j表示A排列做到i,B排列做到j的方案数
直接Dp会算重,感受一下发现容斥系数是卡特兰数

然后这道题就加一维k表示有k的相同的数
推一下转移就好了