因为之前没打过只能打
感觉题还不错的样子
Coronavirus Spread
略
Isolation Centers
略
Sorting Vases
先对非二元环做,然后将二元环两两合并
Chef and Bitwise Product
比较脑残的做法
从高往低枚举
考虑对于一个可以
任意选的地方
选
后面显然在满足下界情况直接贪心
然后选
继续即可
注意特判
直接做是两个
,但实际上想想感觉似乎可以一个
假装他可以
Triple Sort
显然是先二操作缩成连通块
变成求最大化边的环覆盖的环数
直接找每个简单环显然是错的
直接状压
枚举子集即可
但做的时候傻逼的没意识到为什么是错的
比如这个图
于是在
的建议下写了个随机化乱搞
然后它过了
Buying a New String
显然是
一段前缀和
一段后缀
可以直接枚举,然后在
自动机上计算贡献
唯一需要考虑的就是拼接的
长度的贡献
就是
即可
复杂度
下面做法经
教育/kk
正反串各建一个自动机
考虑一个
的前缀,预处理整串的贡献
考虑散串,在
自动机
树上
长度为
的位置对应反串的
的位置
子树加,每次就是在反串自动机上询问
Binary Land
显然的想法是矩乘
考虑维护两个栈,分别记录某一段前缀的后缀积和后缀的前缀积
每次弹出在第一个栈内弹出即可,加入在第二个内加入
第一个栈空了后把第二个丢过来即可
由于加入的矩阵每行只有三个可以做到
乘法
询问由于最初是向量也是
总复杂度
由于咕咕咕并没有写代码
Not a Real World Problem
考虑先让贡献全部为正
建立最小割模型,
分别表示
割哪边的就代表取哪个,边对应的流量可以简单计算
然后相邻之间连边即可
注意输出方案
Chef and Rainbow Road
又是被
教育的一道题/kk
先将答案乘上
考虑对于
直接对每列构造生成函数
然后乘起来即可
现在考虑
怎么做
本身要求的是
考虑找到数
,满足
即满足
由于
与
取值无关,考虑带入
于是只需要对
求值即可
用洛必达法则后直接对上面东西求导后的函数多点求值即可