- 博客(11)
- 收藏
- 关注
原创 二分学习小结
主要以题为主咯 习题1 POJ 1064 Cable master 题意:给出n条绳子,想切出m段,问最长多长(向下取整) 题解 二分切出来的长度,然后O(N)check即可 #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> using ...
2018-02-22 21:38:09 153
原创 寒假训练3
51nod 1004 n^n的末位数字 https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1004 就是个快速幂嘛 #include<cstdio> #include<cstring> #include<algorithm> #include<stack> #inclu...
2018-02-20 08:41:52 185
原创 树形dp学习小结
树型DP即在树上进行DP。一般树型DP的特征很明显,即状态可以表示为树中的节点。其他DP的特征也都有 例题1 树的最大独立集问题 对于一棵有N个结点的无根树,选出尽量多的结点,使得任何两个结点均不相邻(称为最大独立集) 题解 就是父亲的选择决定了儿子 状态定义 定义d(i,0)为不选择i号节点,i号子树最大独立集大小 定义d(i,1)为选择i号节点,i号子树最大独立集大小...
2018-02-18 14:52:28 357
原创 二分图匹配学习小结
二分图 当这个图可以被分成两个集合(一般称为X部和Y部),且所有边的两个端点分别在X部和Y部时,此为二分图 引题:SGU172 题意:给出一个图,判断其是否是二分图,如果是,输出其中一部 其实就是搜索染色 #include<cstdio> #include<cstring> #include<vector> #include<algori...
2018-02-17 10:00:19 201
原创 寒假训练
51Nod 1305 Pairwise Sum and Divide https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1305 考场上把floor看掉了,然后推推推居然发现了就算没有floor还有O(N)做法 (以后说不定出模拟赛的时候我就可以来出这样一道题) WA了一遍,重新审题,惊奇地发现floor,开始化简...
2018-02-15 10:22:18 257
原创 LCA(倍增)学习小结
To be continued… LCA问题,即Lowest Common Ancestor 最近公共祖先 LCA问题有很多解法,比如 ·暴力解法 分块解法 ·倍增算法 ·Tarjan算法 ·LCT算法 在这里呢,我们只讨论倍增 倍增算法其实是一种类似于dp的实现 pa[i][j]pa[i][j]pa[i][j]表示I号节点的2j2j2^j个父亲 pa[i][j]=fa[i]...
2018-02-14 18:18:41 166
原创 最短路学习小结
To be continued… 最短路算法 dijkstra算法 适用范围:无负权边 时间复杂度:O(N2)O(N2)O(N^2)(无优化时) 然而…优先队列优化的dijkstra的均摊时间复杂度是多少? 斐波那契堆优化的dijkstra的复杂度(大约)是O(MlogN)O(MlogN)O(M logN),尽管优先队列优化没有堆优化那么强,但姑且当做这么多吧 无优化的dij...
2018-02-14 08:55:42 235
原创 2-sat学习小结
To be continued… 你问我2-sat的定义??? 一口血喷出来 总之我们就开始做吧 其实我们只需要把能推出的关系连边 比如a存在时b一定存在,则连边a->b a存在时b一定不存在,则连边a->┐b 然后强连通分量缩点,拓扑排序 这个时候呢我们就要安利一波Korasaju算法了 http://blog.csdn.net/qq_35541672/ar...
2018-02-13 12:08:41 223
原创 强连通分量、割边、割点、双连通分量学习小结
To be continued… 强连通分量 在有向图G中,如果任意两个不同的顶点相互可达,则称该有向图是强连通的。 Korasaju算法求有向图强连通分量 现在才知道叫这个名字 1.深度优先遍历G,算出每个结点u的结束时间f[u],起 点如何选择无所谓。 2.将G中所有边反向,选择深度优先遍历的起点时,按照结点的结束时间从大到小进行。(用个栈就可以了)。同时进行标记 3. 第...
2018-02-12 21:21:09 324
原创 最小生成树学习小结
To be continued… 一个图的生成树,即找出这个无向连通图的某个边集为一棵树 最小生成树,即使边权和最小(最大生成树同理) Prim算法 设已加入最小生成树的点集为T 算法思路:每次寻找T所连向的不在T中的点的边中最小的边,将此边和点加入T 实现 int Prim(){ memset(cost,-1,sizeof cost); cost[1]=0;//...
2018-02-12 20:11:47 855
原创 状压DP学习小结
状压DP,即通过二进制位运算将状态压缩(用整数表示集合)作为动态规划的状态来解决问题的办法 例题1 n个点的有向图,给出距离的邻接矩阵,求经过每个点一次的最短路径。n<=20,256MB 题解 解法1: n!枚举路径 解法2: 状压dp 将已访问过的点和当前访问的点为状态进行dp dp(S′,v)=dp(S,u)+dist(u,v)(S不含v且S|v=S′)dp(S′...
2018-02-12 09:33:34 3122 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人