[杂谈] 日报 D21

哎好摆啊 .

周六研究了一天自动机 . 周日坐了梦熊大牢 .

今天来处理一下核桃平台的三道题吧 . 题都还行 .

T1. a酱的仙人掌

求仙人掌上所有路径长度对 \(p\) 取模的和 , 在对 \(p\) 取模 .

其实真不难 , 有沙皮没看出直接正常求所有路径长度取模就行了 , 在苦哈哈地合并取模后长度 .

然后考虑怎么求 , 首先可以把环内部路径的求出来 , 然后对每条边求环外有多少路径经过它 , 用圆方树换根维护即可 .

T1 扩展

设定 \(p\le 10^5\) 时 , 还可以设定成所有路径长度对 \(p\) 取模的和 , 注意最终答案不取模 ( 或者对不是 \(p\) 的大质数取模 ) .

这东西在树上可以用边分治或者启发式合并来处理 , 核心就是把两个深度数组合并求所有路径长度 , 让一边全贡献 , 另一边假设是 \(x\) , 贡献个数取决于对边 \(\le p-x\) 的个数 . 用树状数组就可以维护 .

在仙人掌上不太好处理 , 不太会 .

T2.b酱的补习班

贪心题创人能力一流 .

大概思路就是反悔贪心 , 按成绩顺序两两加入 , 不断反悔贪心地把左边的学生变成老师 .

为了模拟学生没有找到老师 , 可以认为左端有任意多的 \(-k\) 价值的老师 .

最后贪心地把从学生变老师变优的翻转过来 .

但是这样会少情况 . 主要问题就是在不一次匹配两个的情况下 , 单方面翻转一个和 \(-k\) 匹配学生 , 匹配本身的贡献去掉了 , 但左边匹配的 \(-k\) 仍然留在了贡献里 , 相当于多减了一个 \(k\) .

发现这种错误翻转最多发生一次 , 因为一旦发生两次 , 后一个在加入时应该通过前一个翻转来匹配 , 这时匹配的是正常老师 , 后一个翻转也不构成问题 .

所以再特判一下有一次错误翻转的就行了 . 即钦定一个学生和 \(-k\) 匹配 . 我们让第一个匹配即可 , 剩下的仍然套用两两加入 , 这样就可以保证后面的不会翻转与 \(-k\) 匹配的学生 .

事实上直到 D22 上午才把这里想通 , 不过内容仍然整合到这里 .

T3.c酱的答辩

看起来挺难的 , 其实还好 .

首先题意可以转化为整体 \(+1\) , 然后取两对不同的 , 距离为 \(2\) 的点对 \(-1\) .

然后对 \(5\) 种点对分别求出取的次数 .

现在的限制是每次不能取相同 , 用容斥解决 .

用 NTT 优化一下就能过了 .

posted @ 2025-06-17 10:37  youlv  阅读(28)  评论(0)    收藏  举报