码迷,mamicode.com
首页 > 其他好文 > 详细

CF Round 1473

时间:2021-01-16 11:50:20      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:最大值   变化   set   tiles   path   状态   ini   绝对值   more   

1473G - Tiles

画图分析,可以发现路径形成了网格图,每一次的状态是一条斜线上的所有点,增加操作就是将网格图向外拓展,减少操作就是将网格图向内收拢。

可以分阶段统计,因为每次阶段上点的数量最大只会变化 \(5\),点数是 \(O(n)\) 级别的,相邻阶段之间可以用组合数转移。

\[f_{i} = \sum_{j} f‘_j*\binom{a + b}{a + i - j} \]

然后就可以用 \(NTT\) 优化为 \(O(n^2\log n)\)

淦,赛时因为暴力转移是 \(O(n^2)\) 一直 T,最后 5 分钟才发现复杂度假了$

1473F - Strange Set

就是一个网络流最小割的模型,选了一个点就必须选择它的所有后继,可以考虑最少要放弃多少正权和加上多少负权。

正权连源,负权连汇,边权为绝对值,然后连 \(inf\) 到每个点的直接后继,边全连的话可能存不下。

跑最小割即可。

1473E - Minimum Path

因为要求最小的代价和,所以当减去的不是最大值或者加上的不是最小值的一定不是最优的,

\(f_{u,0/1,0/1}\) 表示是否减去最大值,是否加上最小值,走到 \(u\) 的最小代价,用 \(dijkstra\) 转移即可。

1473D - Program

维护每个后缀的前缀最大值与最小值即可,答案为 \(Min + Max + 1\)

1473C - No More Inversions

可以发现,只有回文串内部才会产生逆序对,而回文串内部的逆序对个数与相对大小无关,所以将回文串的前部分倒序即可

1473B - String LCM

\(LCM\) 处是否重合即可

1473A - Replacing Elements

最小与次小值之和是否小于 \(d\)

CF Round 1473

标签:最大值   变化   set   tiles   path   状态   ini   绝对值   more   

原文地址:https://www.cnblogs.com/ympc2005/p/14282343.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!