51nod算法马拉松28划水记

上高中的第一场认真打完全程(并不 的比赛
实力划水靠着手速打到了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的相同的数
推一下转移就好了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值