01 2019 档案
只有注册用户登录后才能阅读该文。
只有注册用户登录后才能阅读该文。
只有注册用户登录后才能阅读该文。
只有注册用户登录后才能阅读该文。
摘要:// luogu-judger-enable-o2 #include using namespace std; const int INF=0x3f3f3f3f; const int maxn=50004; int n,S,T,head[maxn],nxt[maxn],mark[maxn],dep[maxn],cnt=0,ans; struct node{ int to,next,w...
阅读全文
摘要:最小割,割实验表示不选这个实验,割器材表示选这个器材(很多题解都没说) 答案=Σ实验价值-最小割 后面找实验与器材感性理解一下,如果一个实验被选,那么它没有被割,也就是还有路可以增广,从而从S进行bfs可以被搜到;同理器材(之后再写)
阅读全文
摘要:http://poj.org/problem?id=1269 求交点见zhhx课件
阅读全文
摘要:http://poj.org/problem?id=3304 等价于是否存在一条直线穿过所有线段 判断直线与线段是否相交: 首先用两点p1,p2确定了一条直线 在用p1,p2分别与计算线段两个端点计算叉乘即可 ,叉乘之积>0就说明线段两端点在直线的同侧,也就是直线不经过此线段 注意顺序不要搞反了
阅读全文
摘要:二分+叉积 http://poj.org/problem?id=2318 http://poj.org/problem?id=2398
阅读全文
摘要:https://www.cnblogs.com/zwfymqz/p/9264513.html#_label3_4
阅读全文
摘要:kruskal重构树 https://www.cnblogs.com/zwfymqz/p/9683523.html
阅读全文
摘要:https://www.cnblogs.com/cjyyb/p/8664527.html
阅读全文
摘要:#include using namespace std; const int maxn=1e6+4; int n,m,head[maxns; inline void tarjan(int u){ dfn[u]=low[u]=++tim; vis[u]=1; s.push(u); for(int i=head[u];i!=-1;i=e[i].next){ ...
阅读全文
摘要:https://vjudge.net/problem/AtCoder-2064 https://vjudge.net/problem/51Nod-1237 http://acm.hdu.edu.cn/showproblem.php?pid=3590 //讲的是错的!! https://www.lyd
阅读全文
摘要:拉格朗日插值 模板 https://www.luogu.org/problemnew/show/P4781 洛谷P4593 [TJOI2018]教科书般的亵渎 BZOJ3453: tyvj 1858 XLkxc BZOJ4559: [JLoi2016]成绩比较 BZOJ2655: calc 离散傅里
阅读全文
摘要:https://www.cnblogs.com/zwfymqz/p/9338689.html
阅读全文
摘要:题目:https://www.luogu.org/problemnew/show/P3807 题解:https://www.luogu.org/problemnew/solution/P3807
阅读全文
摘要:BZOJ2306 重定义矩乘 BZOJ2460 线性基板子 BZOJ2115 线性基 转https://www.cnblogs.com/ljh2000-jump/p/5869991.html 正解:线性基 解题报告: 这道题要求从1到n的最大xor和路径,存在重边,允许经过重复点、重复边。那么 在图
阅读全文
摘要:https://www.cnblogs.com/justPassBy/p/5369930.html https://loj.ac/problem/6045
阅读全文
摘要:#include using namespace std; const int INF=0x3f3f3f3f; int n,m,S,T,dep[10004],head[10004],cnt=0; struct node{ int to,next,w; }e[200004]; inline void add(int u,int v,int w){ e[cnt].to=v;e[cnt...
阅读全文
摘要:两个最基本的操作 merge合并 split分割 merge 把两棵treap合并成一棵treap,要满足T1最大值要比T2最小值小,比较将随机数值key值更大的作为合并后的根 假设T1作为根节点作为新子树的根,左子树不变,右子树对T1原来的右子树与T2再递归一次merge spilt 把一棵tre
阅读全文
摘要:#include using namespace std; const int maxn=500004; inline int read() { int x=0,w=1; char ch=getchar(); while (ch'9') { if(ch=='-') w=-1; ch=getchar(); } while (c...
阅读全文
摘要:Problem 1 1.带修改的主席树+平衡树,维护前驱:每修改一个数会导致三个数的前驱改变,对每个值开平衡树,存放每个值的位置在哪 2.分块,维护前驱,开一个数组表示每个块内排序后的结果,两边暴力,中间二分 O(2s+(N/s)*logs) s=sqrt(N*logN) 法二:f[i][j]为从i
阅读全文
摘要:kmp #include<bits/stdc++.h> using namespace std; const int maxn=1e6+4; char a[maxn],b[maxn]; int p[maxn]; int main(){ scanf("%s",a+1); scanf("%s",b+1)
阅读全文
摘要:https://vjudge.net/contest/278181 写在前面: 1)一个子串既是一个后缀的前缀,又是一个前缀的后缀 2)AC自动机/后缀数组后常接DP/数据结构 Problem 0 Long Long Message (后缀数组) http://poj.org/problem?id=
阅读全文
摘要:strlen(s) O(n) Trie树 O(sigma len[i]); AC自动机 建立一个trie树 fail指针:根的fail指针指向自己,其余节点找到一个最长后缀使得它是原来某个串的一个前缀,fail指针指向该前缀在trie树上的位置 fail指针性质:1.指向比它浅的节点(除根的fail
阅读全文
摘要:https://www.luogu.org/problemnew/show/P4211 人生中第一道黑题!!!我觉得差不多紫题难度吧qaq 题意: 思路: 代码:
阅读全文
摘要:https://www.luogu.org/problemnew/show/AT2061 题意: 给你每个点到最远点的距离,求是否存在这样的一颗树。 n<=200。 思路: 一个性质是每个点的最远点一定是直径的端点。 然后我们找出直径长度,要求能构造出这条直径(每种距离都有2个点,当然直径中心只需要
阅读全文
摘要:https://www.luogu.org/problemnew/show/AT2673 题意: 思路:与CF468D TREE类似 代码:
阅读全文
摘要:树的重心 定义:将树上某点删掉后,剩下的子树大小最小。 性质:1)树的重心的每棵子树大小一定小于等于n/2 2)每棵子树大小一定小于等于n/2的点一定是树的重心->最多有2个点为重心且相邻 3)树中所有点到某点的距离和中,到重心的距离和最小。(如果有2个重心,距离和一样) 4)两棵树通过一条边相连成
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4738
阅读全文
摘要:线段树 [NOI2017]整数(https://www.luogu.org/problemnew/show/P3822) 思路: 线段树,每位存1/0,加法时将a中二进制表示下为1的位取出,分别加入序列,寻找x位左边最靠近x的0,对这个位置到x位进行区间反转,进行进位操作,线段树分别维护一段区间最右
阅读全文
摘要:龟速乘的根据&实现——慢工出细活 比起计算机自带的乘法,龟速乘的的运行速度还要慢上一些。 但是,它可以有效地保证你的long long不会boom的一声炸掉,然后送给你一个神奇的数字。 相信你一眼就能看出来,这两个东西长的不是一般的像。 如果再仔细观察一下就会发现,快速幂里的x是指数级增长,而龟速乘
阅读全文
摘要:https://ouuan.blog.luogu.org/solution-p5091
阅读全文
摘要:http://codeforces.com/contest/1091/problem/D 题目大意: n个数的全排列按顺序写出来,求为连续n个数且和为n(n+1)/2的子串个数 思路: 对于分别在两个排列中的连续n个数 设其前a个数为前一个排列的末尾a个数,s,后(n-a)个数为后一个排列的开头(n
阅读全文