bnds 8.26

P3117#

枚举矩形上边界和下边界 i,j,然后枚举每一列 y,且必须当前列上有 h 牛,然后向右枚举直到遇到有 g 牛的列,更新最大值。注意要离散化一下坐标,再处理一下二维前缀和,时间复杂度 O(n3)

P3118#

状压dp,设 fi 表示当前集合为 i 时,要连续看多久电影,然后枚举不在集合 i 中的电影 j,二分找到 j 中的第一个开始时间小于 dpi 的场次,转移即可,时间复杂度 O(2nnlogc)

P3119#

先缩点,设 s 为 1 所在的强连通分量,跑从 s 出发和到 s 的最长路。

因为只能逆行一次,所以回到 1 肯定是从1 出发到一个点 u,再从 u 逆行到一个能到 1 的点 v,所以枚举这一条逆行的边,答案即为 max(f[u][0]+f[v][1]+e[u][v]cnt[s])

作者:wyyqwq

出处:https://www.cnblogs.com/wyyqwq/p/18385313

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   你说得太对辣  阅读(13)  评论(0编辑  收藏  举报
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示