【学习笔记】AGC016
不保证严谨 。保证在一定情况下是正确的。
XOR Replace
- 记序列异或和为 a [ n + 1 ] a[n+1] a[n+1]
- 一次操作等价于交换 a [ i ] a[i] a[i]和 a [ n + 1 ] a[n+1] a[n+1]
- 现在你会判无解了
- 假设 a a a没有相同元素
- 答案是显然的
- 假设 a a a有相同元素
- 首先把自环删了
- 然后建立有向图 a i → b i a_i\to b_i ai→bi
- 手玩一下发现
题解的做法是环的最小数目=连通块数目 - 下给出构造
- 考虑每个连通块的长相
- 显然是若干环套在一起,同时共用了节点
- 按照度数拆点就能构造一个简单环了
- 理论上环的最大数目也是能求出来的
- 为出题人点赞
Poor Turkeys
- 考虑构造无向图 G = ( V , E ) G=(V,E) G=(V,E)
- f [ j ] f[j] f[j]表示 i i i存活的前提下, j j j被吃掉的最大时间
- ( u , v ) (u,v) (u,v)合法当且仅当 f [ u ] > w f[u]>w f[u]>w
- 可以按边从大到小加入
- 复杂度 O ( n m ) O(nm) O(nm)
- 果不其然wa了
- 如果存在 k k k,满足 f i [ k ] > 0 , f j [ k ] > 0 f_i[k]>0,f_j[k]>0 fi[k]>0,fj[k]>0
- 说明 i , j i,j i,j不可能同时存活
- 这个结论好妙啊qwq
Rotation Sort
- d p [ i ] [ j ] dp[i][j] dp[i][j]表示对 1 ∼ i 1\sim i 1∼i排好,排好后的序列后继权值为 j ( j > i ) j(j>i) j(j>i)的方案数
- 发现是可以转移的
- 其实怎么 d p dp dp都行啦
Cleaning
- 不想听课只能做agc了
- 记 C [ i ] = A [ i ] − ∑ j ∈ s o n [ i ] A [ j ] C[i]=A[i]-\sum_{j\in son[i]}A[j] C[i]=A[i]−∑j∈son[i]A[j]
- 显然要让 C [ i ] C[i] C[i]清零
转化错了gg了- 考虑一个好的转化
题解的做法是 - 设 f [ u ] f[u] f[u]表示从某个点可以拓展的路径数量
- 这些路径有两种情况:
- 合并成一个点,或者继续向上扩展
- 显然是定值,因此 f [ u ] f[u] f[u]可以递推求出
- 然后我们每次取出两个最大的 f [ v ] f[v] f[v]合并成一个点
- 这是个经典的贪心就不说了
不是本题重点
__EOF__

本文作者:仰望星空的蚂蚁
本文链接:https://www.cnblogs.com/cqbzly/p/17530123.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/cqbzly/p/17530123.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
2021-07-17 【题解】Alice ans Bob(博弈论)