Loading

摘要: 符号说明 a|b a整除b (a,b) a与b的最大公因数 [a,b] a与b的最小公倍数 pα||a pα|a但pα+1∤a a≡b(mod m) a与b对模m同余 a-1 (mod m) a对模m的数论倒数 性质1 如果a|b,那么(-a)|b,反过来也成立 性质2 如果a|b,b|c,那么a| 阅读全文
posted @ 2020-02-10 22:38 MQFLLY 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 1.刘汝佳紫书区间问题三大情况 1.选择不相交区间 贪心策略:一定要选择第一个区间 2.区间选点问题 贪心策略:取最后一个点 3.区间覆盖问题: n个闭区间,选择尽量少的区间覆盖一条指定线段[s,t] 贪心策略:预处理掉[s,t]之外的区间,闭区间从最左向右开始覆盖 应用 Open Judge 13 阅读全文
posted @ 2020-02-10 18:55 MQFLLY 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 数据结构往往可以在不改变主算法的前提下题高运行效率,具体做法可能千差万别,但思路却是有规律可循 经典问题:滑动窗口 单调队列O(n) POJ 2823 我开始写的: TLE 说明STL的库还是有点慢 #include<iostream> #include<cstdio> #include<strin 阅读全文
posted @ 2020-02-09 14:02 MQFLLY 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 所以,每个子集对应了一个二进制数:这个二进制数的每个1都代表了一个元素,也因此所以子集的数量是2n #include<iostream> #include<cstdio> #include<string> #include<algorithm> #include<queue> #include<se 阅读全文
posted @ 2020-02-08 16:24 MQFLLY 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 前置知识 (1)如果将 aa 自乘一次,就会变成 a^2a2 。再把 a^2a2 自乘一次就会变成 a^4a4 。然后是 a^8a8…… 自乘 nn 次的结果是 a^{2^{n}}a2n 。对吧…… (2)a^xa^y = a^{x+y}axay=ax+y,这个容易。 (3)将 bb 转化为二进制观 阅读全文
posted @ 2020-02-08 15:06 MQFLLY 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 树形DP 加分二叉树 洛谷P1040 注意中序遍历的特点:当根节点编号k时,编号小于k的都在其左子树上,编号大于k的都在右子树 转移方程 f[i,j]=max{f[i,k-1]*f[k+1,j]+d[k]} ,f[i,j]表示中序遍历i到j的二叉树最大加分 时间复杂度O(N3) #include<i 阅读全文
posted @ 2020-02-07 12:31 MQFLLY 阅读(135) 评论(0) 推荐(0) 编辑
摘要: LCA 倍增法求最近公共祖先 首先对于每个结点先进行dfs预处理它的深度,再记录下它们往父亲方向走2的0次,1次...k次步所到达的结点。在这里2的k次大于整棵树的最大深度。 预处理完后,需要查询两个点u,v的LCA时,先将u,v中深度较大的利用预处理的数组走到和另一个结点相同深度,操作次数不会超过 阅读全文
posted @ 2020-02-06 10:56 MQFLLY 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 最小生成树(无向图) Kruskal 给所有边按从小到大排序 形成环则不选择(利用并查集) P1546 最短网络 https://www.luogu.com.cn/problem/P1546 #include<iostream> #include<cstdio> #include<string> # 阅读全文
posted @ 2020-02-05 10:24 MQFLLY 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 背包问题 01背包 状态:f(i,j) 表示只能装前i个物品的情况下,容量为j的背包所能达到的最大总价值 状态转移方程: f(i,j)=max(f(i-1,j),f(i-1,j-w[i])+v[i]) 核心代码(滚动数组) 由于我们使用一维数组存储,则在求两个子问题时没有直接取出那么方便了,因为第i 阅读全文
posted @ 2020-02-04 20:07 MQFLLY 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 线性DP 考虑一组硬币面值 1,5,11 给定W,求凑出W的最少硬币个数 我们记凑出n需要用到的最少硬币数量为f(n) 我们注意到了一个很棒的性质 : f(n)只与f(n-1) f(n-5) f(n-11) 有关。 更确切的说f(n)=min(f(n-1),f(n-5),f(n-11)}+1 int 阅读全文
posted @ 2020-02-03 16:07 MQFLLY 阅读(165) 评论(0) 推荐(0) 编辑