讲的网络流
1.早读
P13925 [POKATT 2024] 联合猫国 / The Paw-litical Game
感觉好像在哪见过这道题,但是我不会
其实是个 \(dp\) (复杂度对吗?)
就是设 \(f[i]\) 表示考虑前 \(i\) 个最少变成几个
转移就是枚举最后一个合法状态
复杂度是 \(\sum i\) 结尾合法状态
发现最多时是所有数相等,可以到 \(n log\)
做到 \(O(1)\) 枚举就是设 \(g[i][j]\) 表示 \(i\) 结尾合成 \(j\) 的位置,每次像倍增一样转移即可
这个不用 \(map\) ,就是发现是从 \(a[i]\) 开始连续区间,用 \(vector\)
2.
注意雇佣一个人是干好几天
这个和那个...监控一样
顺着放一排点表示天,点后面的边表示这一天最多多少个人 \(= inf - a[i]\) 空闲,这样至少有 \(a[i]\)
个人这一天干活
3.
这题有结论一个点的海拔是无限接近 0/1
证明就是考虑把最小的换成周围次小的一定不劣(一次函数在端点取极值)
然后跑最小割
~~然后 T_T 了 - > 90pt ~~
写平面图转对偶图跑最短路就行
注意这题是有向边,方向变化可以自己画一个个然后看往那边旋转
4.
这俩题一样
就是一个贡献算一次
和我出的考试题一类 \(trick\) ,可以建两类边
一类流量为 \(1\) , 费用为 权值
一类流量 \(inf\) , 费用为 \(0\)
跑最大费用最大流即可
5.
限制一定奇偶不同,奇偶分类
不同限制连边
6.
限制 :
- 一个城市经过一次 - > 拆点,流量为 \(1\)
- 经过城市最多 - > 费用为 \(1\)
注意到 单向从西向东 所以直接连就行
有来有回可以看成去两次, \(1 - > 1 , n - > n\) 流量定为 2 即可
方案就随便搜一下
浙公网安备 33010602011771号