Codeforces试题乱做 Part1
终于开第一个乱作
数连通块个数, 就会有不少想法, 例如找代表元之类的.
但是, 看到这题的行列关系只和上下两行和相邻列. 所有可以考虑, 并查集数联通块个数.
只用记录上一行的值, 滚动数组即可. 用并查集来记录合并关系.
这题好诈骗啊,
这题还是教育到我了, 异或的优先级居然这么低.
先考虑暴力, 枚举左右端点,
输入格式考虑优化这个暴力, 很套路的, 只考虑左端点比右端点大的情况, 再从左往右从右往左各做一遍.
异或有一个很优秀的性质,
所以我们可以考虑优化这个暴力了.
由于
考虑什么时候会推出, 最劣情况也会是经过两个最高位和
我们按位考虑, 设最高位为
那么总共会枚举到的所有数的最坏情况就是
首先环上的边一定不会被遍历到.
用类似拓扑排序的方法把环上的点全部扔掉, 剩下的点会构成若干个有根树和无根树, 其中有根树的根是与环上相连的点.
对每棵树求出答案,
对于求每棵树的答案, 就是树上背包, 设
对于无根树, 对树上每个点做一边树上背包这样会发现有的方案被多计算
总时间复杂度
自己秒的
首先答案不可能超过原树上
显然树的形态是一个链, 然后链上的结点最多只有除链以外的一个儿子.
如果有超过一个儿子, 那么就可以直接连边, 使得答案为
否则, 设点
显然是最大化
这题好厉害啊, 为啥有人说是入门好题啊, 我不能接受.
考虑最终树的形态, 会是若干个不相交的子树以及一些未染色的点.
还是考虑在树上
- 被染色, 且染相同颜色的儿子数为
, 记方案数为 . - 被染色, 且染相同颜色的儿子数为大于等于
, 记方案数为 . - 未被染色, 记方案数为
.
这里解释一下为什么要分开
接下来考虑转移.
对于
对于
对于
如果说用
所以其实所有最大最小化的题不会就试试对偶, 反正没啥损失.
考虑对偶的式子
其实就是构造出上面式子的.
为全 的列向量, 长度为 . 为 列向量, 长度为 , 表示每条链选或者不选. 为长度为 的行向量, 表示每条链的代价. 为长 宽 的 矩阵, 其中 表示 这条边是否在第 条链中.
所以现在的问题变成了构造一个
那就套路的找左式的意义, 实际上就是, 给每条边一个权值
方便思考, 我们把每条边的权值定义为选这条边的次数.
那么现在的问题就是, 在一个树上选若干条边(可重复), 给出一些链限制, 要求链上的边被选的次数不能超过这个限制, 使选择边数最大.
这是一个比较显然的贪心了, 先选深度大的, 能选就选, 选不了再选深度小的, 正确性显然, 用可并堆维护当前点到父亲这条边能选的最多次数.
最终复杂度
先考虑暴力
显然有
这个是
我们发现多用一个精灵球肯定比不用的期望要大, 所以他是一个单调的东西, 不难发现
我们讲状态化简为
时间复杂度
这显然有问题, 不可能所有的转移都加上第二种的贡献, 所以可以给第二种加上一个价格, 即需要
这样肯定就能有一些选不了. 这个就是
同理, 对于另一维也能这样二分, 最后复杂度为
不难发现点数为奇数的连通块一定不可行. 对于偶数个点的连通块直接找一棵生成树然后就一定能使度数为奇数. 像最小生成树的做法即可. 整体二分就行.
刚想觉得巨大神仙, 思考清楚之后感觉人力可及?总
根据经典结论, 这个距离就是
在一个不确定的置换中, 我们会产生
对于第一种我们可以简单的用并查集维护一下, 计算环的个数, 然后忽略这些边.
如果存在一组
处理之后记第二种第三种和第四种边的个数为分别为,
此外不可能存在一个环只包含第二种和第三种边, 一定是
并且我们考虑到这是置换, 所以
在这里就应该很自然的想到分为内部消化和变成外部两种方案.
接下来我们形式化的表示出来我们的目标.
- 将第二种链内部连成环, 或转化为第四类.
- 将第三种链内部连成环, 或转化为第四类.
- 将所有的第四类内部连接成环.
这就很自然的想到多项式了, 若成
我们发现了
所以只要
而第二种和第三种边之间不会相互转化, 所以三种转化之间是独立的, 于是分别考虑.
设第一种转化的多项式为
意思是, 先选出
这种转化是不能留下第二种边的, 只能转化成若干条第四种边, 于是对于第一条待处理的边, 我们有
连完就消失, 所以是下降幂的形式.
同时要注意在
类似的考虑第二种转化记为
最后考虑第三种转化, 记为
总乘上
这题
这题还真挺有教育意义的, 让我明白了一个道理, 面对这种
不难证明这个函数是个积性函数, 也不难得出对于
也就是说, 我们要把
于是问题就变成了
众所周知,
那么直接质因数分解就好了, 甚至不用
接下来就是裸
令
复杂度
完结撒花!!!
这个
这个
不好高骛远, 但也不能只是轻触星空, 所以, 继续努力吧!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现