CF1913

C

先用桶记录各个位数量。

对于每次询问,从低位到高位扫,先用掉一个当前位的,然后把当前位的全部转化成 cnt/2 个更高位的。

D

有一个思路:其实删区间可以视作删相邻两个数。(然鹅这题不是按这个思路做的)

考虑整个序列最小值,它一定不会被删。

这个最小值把序列剖成两半。递归进入左右分别计算方案数。

有个问题:递归进入后,更短的序列的最小值也可能被边界外的更小值删掉。

但是我们发现,新的最小值要被删,一定是连着某半边全部删了。

E

和士兵占领类似。按行列建图。

每一行建一个点,每一列建一个点,行列之间连边容量 [0,1],费用为:若对应格子原本是 1,费用为 0;否则费用为 1

S 向行连容量 [ai,ai] 费用 0 的边,列向 T 连容量 [bi,bi] 费用 0 的边。

跑有源汇上下界最小费用最大流。

这里回顾一下:上下界网络流是出的多了 x,就向新超汇点连容量为 x 的边!所有额外边费用都是 0,不要忘了原本的 TS+ 边!

posted @   FLY_lai  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示