摘要: 注意:在最小割轻易不要连流量为无穷大的双向边(这就意味着这两个点必须属于一个集合里了) code: #include <bits/stdc++.h> #define N 10005 #define I(s) freopen(s".in","r",stdin) #define O(s) freopen 阅读全文
posted @ 2020-03-24 21:50 EM-LGH 阅读(211) 评论(0) 推荐(0) 编辑
摘要: Description 维护一个长度为N的序列a,现在有三种操作: 1)给出参数U,V,C,将a[U],a[U+1],...,a[V-1],a[V]都赋值为C。 2)给出参数U,V,C,对于区间[U,V]里的每个数i,将a[i]赋值为max(a[i]+C,0)。 3)给出参数U,V,输出a[U],a 阅读全文
posted @ 2020-03-24 20:47 EM-LGH 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 和 cpu 监控用的是一种做法. 令 $(a,b)$ 表示加上 a,再与 $b$ 取 max. 则 $(a,b)$ 与 $(c,d)$ 的历史最值合并可以看作是两个函数的合并,只需在 $(a,c)$ 中取一个 max,$(b,d)$ 中也取一个 max 即可. 仔细考虑一下标记的时间顺序:如果使用取 阅读全文
posted @ 2020-03-24 20:17 EM-LGH 阅读(175) 评论(0) 推荐(0) 编辑
摘要: $(x,y)$ 表示加完 $x$,再对 $y$ 取 max 的操作. 那么有 $(a,b)+(c,d)=(a+c,max(b+c,d))$ 然后对于两个标记取 max 的话是 $(max(a,c),max(b,d))$ 知道这些之后就好做了. 一定要注意:先更新历史最值标记,然后再更新当前最值(因为 阅读全文
posted @ 2020-03-24 20:06 EM-LGH 阅读(168) 评论(0) 推荐(0) 编辑