上一页 1 ··· 5 6 7 8 9
摘要: 点击查看折叠代码块 //两多边形面积交,并模板 //输入n,n个点逆时针输入 //输入m,m个点逆时针输入 #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> u 阅读全文
posted @ 2020-07-28 19:53 wsl_lld 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 点击查看折叠代码块 /* Str :需要处理的字符串(长度为Len) Suffix[i] :Str下标为i ~ Len的连续子串(即后缀) Rank[i] : Suffix[i]在所有后缀中的排名 SA[i] : 满足Suffix[SA[1]] < Suffix[SA[2]] …… < Suffix 阅读全文
posted @ 2020-07-28 19:51 wsl_lld 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 带权并查集 点击查看折叠代码块 /* 给出一个区间的长度 N,及 M 个子区间和, 形如:x y z, 表示 子区间 [x, y] 的和为 z 如果一个“子区间和”与前面的“子区间和”冲突,即为错误(而且这个“子区间和”将在接下来的判断中被忽略)。 求总错误个数。 带权并查集 */ #include 阅读全文
posted @ 2020-07-28 19:49 wsl_lld 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 点击查看折叠代码块 /* LCA(最近公共祖先)模板 倍增LCA */ #include <bits/stdc++.h> using namespace std; const int maxn=5e5+10; int fa[maxn][30]; int n,m,s; int head[maxn],c 阅读全文
posted @ 2020-07-28 19:46 wsl_lld 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 分层图的应用范围: 比如最短路、网络流等,题目对边的权值提供可选的操作,比如可以将一定数量的边权减半,在此基础上求解最优解。 分层图的构建步骤可以描述为: 1、先将图复制成 k+1 份 (0 ~ k) 2、对于图中的每一条边 <u,v> 从 ui 到 vi+1 建立与题目所给操作相对应的边(i=0, 阅读全文
posted @ 2020-07-28 19:06 wsl_lld 阅读(329) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9