【学习笔记】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 aibi
  • 手玩一下发现 题解的做法是 环的最小数目=连通块数目
  • 下给出构造
  • 考虑每个连通块的长相
  • 显然是若干环套在一起,同时共用了节点
  • 按照度数拆点就能构造一个简单环了
  • 理论上环的最大数目也是能求出来的
  • 为出题人点赞

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 1i排好,排好后的序列后继权值为 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]json[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 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   仰望星空的蚂蚁  阅读(10)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
历史上的今天:
2021-07-17 【题解】Alice ans Bob(博弈论)
点击右上角即可分享
微信分享提示