摘要:
###铺地毯 Link 模拟。 #include<cstdio> const int N=10007; int a[N],b[N],g[N],k[N]; int read(){int x;scanf("%d",&x);return x;} int main() { int n=read(),x,y; 阅读全文
摘要:
###程序自动分析 Luogu LOJ UOJ BZOJ 用并查集维护相等关系即可。 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; namespace IO 阅读全文
摘要:
###优秀的拆分 Luogu LOJ UOJ BZOJ 设$f_i,g_i$分别表示以$i$结尾/开头的形如$AA$的串的个数,那么答案就是$\sum f_ig_{i+1}$。 考虑枚举$A$的长度$len$,那么形如$AA$的串一定会过至少两个下标为$len$的倍数的位置(我们称之为关键位置)。 阅读全文
摘要:
###泳池 Luogu LOJ UOJ BZOJ 先用差分转成$\le k$的概率减去$\le k-1$的概率。 设$f_{i,j}$表示总共有$i$列,默认$1,\cdots,j$行一定全部安全,第$j+1$行存在至少一个危险的点,保证当前最大合法子矩形面积$\le k$的概率。 转移方程为$f_ 阅读全文
摘要:
###归程 Luogu LOJ UOJ BZOJ 不难发现一定是先开车走一段路直到下条边海拔不超过水位,然后下车沿最短路走到$1$号点。 按海拔降序建出Kruskal重构树,对于一次询问,找到$v$的祖先中深度最低的海拔高于水位低的点$u$,那么$u$的子树中的叶子节点就是$v$可以开车到的点。 预 阅读全文
摘要:
###序列 Luogu LOJ UOJ BZOJ 可以直接贪心,但是用模拟费用流推的话会更轻松。 首先有一个显然的建图方式: $S$到$0$流量为$k$,费用为$0$。 $0$到$a_i$流量为$1$,费用为$-a_i$。 $a_i$到$b_i$流量为$1$,费用为$0$。 $b_i$到$T$流量为 阅读全文