摘要: 堆优化后的算法 O(ElogV) #include<bits/stdc++.h> #define ll long long using namespace std; const int maxn=2e5+15; const int mxn=5e3+15; struct node { int t;in 阅读全文
posted @ 2019-08-10 11:33 song_jian 阅读(335) 评论(0) 推荐(0) 编辑
摘要: O(logn)(n<=10^6) https://www.cnblogs.com/cangT-Tlan/p/8846408.html 把一棵树分成几条链,用数据结构去维护每一条链 1 #include<bits/stdc++.h> 2 #define ll long long 3 #define r 阅读全文
posted @ 2019-08-10 11:19 song_jian 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 适合稀疏图 时间复杂度:O(E*logE) 把边权从小到大,枚举判断此边连接的点是否已经加入生成树,没有的话就加入这条边,否则不加。 1 #include <bits/stdc++.h> 2 using namespace std; 3 struct node{ 4 int u,v,w; 5 }e[ 阅读全文
posted @ 2019-08-10 11:17 song_jian 阅读(228) 评论(0) 推荐(0) 编辑
摘要: O(n)的算法数据范围n < 10^8。O(n *logn)的算法数据范围n <= 10^6。O(n*sqrt(n) )的算法数据范围n < 10^5。O(n^2)的算法数据范围n<5000。O(n^3)的算法数据范围n <300。O(2^n)的算法数据范围n < 25。O(n!)的算法数据范围n 阅读全文
posted @ 2019-08-10 09:59 song_jian 阅读(155) 评论(0) 推荐(0) 编辑
摘要: LCA:树剖、倍增、Tarjan 模板: 模板: 题目: 题目: (蓝)仓鼠找sugar 生成树 最小生成树:Kruskal、Prim及其堆优、(严格)次小生成树、最大生成树 模板: 阅读全文
posted @ 2019-08-10 09:24 song_jian 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 待写 阅读全文
posted @ 2019-08-09 16:49 song_jian 阅读(83) 评论(0) 推荐(0) 编辑
摘要: T1.乘(待搞懂) 时间复杂度不会分析,100→50分。快速幂模板打错,50→10分。果然还是做题少了、不集中。:)))) 知识:时间复杂度 T1.乘(待搞懂) T2.树(线段树+概率与期望) emmm 阅读全文
posted @ 2019-08-09 15:44 song_jian 阅读(71) 评论(0) 推荐(0) 编辑
摘要: inline ll ksm(ll a,ll b){ ll res=1; while(b){ if(b&1) res=res%mo*a%mo; a=a%mo*a%mo; b>>=1; } return res; } 阅读全文
posted @ 2019-08-08 15:23 song_jian 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 理解矩阵乘法:http://www.ruanyifeng.com/blog/2015/09/matrix-multiplication.html 构造矩阵:根据递推构造矩阵用于快速幂 快速幂 :https://www.cnblogs.com/wi1d3on/p/11321389.html 矩阵乘法模 阅读全文
posted @ 2019-08-08 15:00 song_jian 阅读(285) 评论(0) 推荐(0) 编辑
摘要: T1.楼梯问题(递推+矩阵乘法) 一层楼共有n级台阶,一次可以上至少1级但不超过m级台阶,求有多少种不同的上楼方案数。由于结果可能很大,你只需要输出结果对10,007取模的值即可。 递推√矩阵乘法没认真学,但注意到第15、16个点其实都可以直接打表算出,它们的n、m递推超时,但均已知,可以特判。 知 阅读全文
posted @ 2019-08-08 14:26 song_jian 阅读(165) 评论(0) 推荐(0) 编辑