上一页 1 ··· 7 8 9 10 11 12 13 14 15 下一页
摘要: 今天从算法竞赛的书上看到求这两个东西的方法,稍微记一下。 根据欧几里得算法,即著名的辗转相除法: gcd(a,b)=gcd(b,a%b),边界条件为当b=0时,gcd(a,b)=a; (扩展欧几里得请看另一篇博客) int gcd(int x,int y){return y?gcd(y,x%y):x 阅读全文
posted @ 2020-07-18 08:31 Star_Cried 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 运用了分治的思想,将一个数组分成几乎相等的两份,分别将两段中第一个最小的数拿出来放在一个临时数组中,直到全部取完。因为是递归的,所以每一段的数列都是排序好的。 void merge_sort(ll *A,ll *B,int x,int y) { if(y-x<=1)return; int m=x+( 阅读全文
posted @ 2020-07-17 16:14 Star_Cried 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 学习自该博客 (dalao讲得真好,我只为了记忆写重点) Splay是一种数据结构,用于在线调整二叉排序树的操作,用于让树平衡(空树或任意节点的左右两个子树的深度差的绝对值不超过1)转换根节点或者其他操作。 二叉排序树,左子树任意一个点的值小于根节点,右子树任意一个点大于根节点的树。很显然,如果你想 阅读全文
posted @ 2020-07-17 11:14 Star_Cried 阅读(162) 评论(0) 推荐(0) 编辑
摘要: Tarjan,我相信大多数人是这么写的: void tarjan(int x) { dfn[x]=low[x]=++cnt; st.push(x),vis[x]=1; for(int i=head[x];i;i=nxt[i]) { int u=to[i]; if(!dfn[u]) { tarjan( 阅读全文
posted @ 2020-07-17 09:08 Star_Cried 阅读(522) 评论(4) 推荐(0) 编辑
摘要: 2-SAT SAT(satisfiabality)是适应性的缩写,一般称K的适应性问题为k-SAT 适应性问题就是有x1-n和y1-n的布尔变量,加入一些限制然后求限制内的解得问题(自己理解) 因为k>2的k-SAT问题是DP完全问题(没有一定的算法和正解)(好吧就是暴力),我们只讨论2-SAT问题 阅读全文
posted @ 2020-07-16 18:40 Star_Cried 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 就是n的元素给定m个关系求他们之间的关系。 eg. ∵a>b and b>c ∴a>c emmmm 若要知道n个元素的绝对关系,则需知道C(n,2)个关系。 例题:POJ3275 求法:Floyd。关系如下: if(g[i][k] and g[k][j]) g[i][j]=1; 但是呢,对于这个题的 阅读全文
posted @ 2020-07-16 11:29 Star_Cried 阅读(950) 评论(0) 推荐(0) 编辑
摘要: POJ3190 将所有牛从小到大排序然后用优先队列(小根堆)依次记录插入的牛的结束时间,如果插入牛时起始时间大于首元素,ans不增加并弹出首元素。 挺简单的。那么为什么我会写(水)这篇博客呢? #include<iostream> #include<cstdio> #include<algorith 阅读全文
posted @ 2020-07-15 11:55 Star_Cried 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 初始化flow(最大流量)为INF(极大值),建边(正向弧和反向弧) bfs寻找增广路看看有没有路,顺便进行深度标号。如果没有路直接结束输出flow。 如果有,我们按照深度dfs。dfs时注意在给正向弧减权时给反向弧加权。 ans+=flow,重复2到4步骤,直到无路可走。 输出结束~ 以上就是网络 阅读全文
posted @ 2020-07-14 22:00 Star_Cried 阅读(184) 评论(0) 推荐(0) 编辑
摘要: AC来自一个大佬的名字,并不是写了就可以自动AC的意思 XD AC自动机是建立在trie树上的一种优化手段。trie在每次查询一个字符串时,如果在一个子树查不到就会回溯再查,效率会很低。我们考虑在给每个节点加一个如果查不到就跳转的指针fail,那么如果找不到的话直接跳转到fail就可以了。fail代 阅读全文
posted @ 2020-07-13 22:28 Star_Cried 阅读(137) 评论(0) 推荐(0) 编辑
摘要: POJ3041 这道题正解对于像我这种蒟蒻来说比较难以想到。 我们发现每次覆盖的只是一条线上的所有点。那么我们可以把它想象成一个二分图,两个集合分别是横轴和纵轴。 想一想,这实际上是不是就是x轴轴和纵轴的最大匹配? 于是这就变成了一个板子匈牙利算法题目。 #include<iostream> #in 阅读全文
posted @ 2020-07-02 21:56 Star_Cried 阅读(157) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 下一页