摘要: 解决可带权树上简单路径统计问题 其精髓在于把无根树平均地分割成若干互不影响的子问题求解,极大降低了时间复杂度,是一种巧妙的暴力。 例: 模板给定一棵树(无根树)和一个整数 k ,求树上等于 k 的路径有多少条? ​ (存在) 枚举不同的两个点,然后dfs算出ta们间的距离,统计一下就行了 大概是 O 阅读全文
posted @ 2020-08-22 10:18 ke_xin 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一棵 N 个点的无向树,边有边权,求树上任意两点间的距离和,答案对 1e9+7 取模。 题解:依题可知,这道题所求即Σi=1n−1Σj=i+1ndist(i,j),枚举树上任意两点并计算距离的复杂度要达到 O(n2logn),时间难以承受。 可以换一种方式思考,由于任意两点的距离都是答案贡 阅读全文
posted @ 2020-08-22 10:16 ke_xin 阅读(966) 评论(0) 推荐(0) 编辑
摘要: 树上差分 松鼠的新家 很显然的 起点+1,终点+1,然后lca和 fa[lca] 都减 1 最后统计答案时 因为终点被重复算了两次 ,所以要减1 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> 阅读全文
posted @ 2020-08-22 10:13 ke_xin 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 最小生成树 Kruskal: 适用稀疏图,\(O(mlogm+ma(n))\) $a(n)$是一次并查集的复杂度,更快,更常用 把边按照权值进行排序,用贪心的思想优先选取权值较小的边,并依次连接,若出现环则跳过此边(并查集来判断是否存在环)继续搜,直到已经使用的边的数量比总点数少一即可。 #incl 阅读全文
posted @ 2020-08-22 10:05 ke_xin 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 0/1分数规划 0/1分数规划 给定一些物品,每个物品有 a[i],b[i] ,要求选 k 个,最大化 (∑ a[i])/(∑b[i]) 。 二分,判定答案是否能 ≥mid 。 那么即 (∑a[i])/(∑b[i])≥mid ,也即 ∑a[i]-mid×b[i] ≥0 。 将物品按照 a[i]-mi 阅读全文
posted @ 2020-08-22 09:32 ke_xin 阅读(44) 评论(0) 推荐(0) 编辑
摘要: T1 啊?60改成20???啊啊啊 60 #include <iostream> #include <cstdio> #include <cstring> using namespace std; const int N=1000005; const int mod=1000000007; int 阅读全文
posted @ 2020-08-22 09:03 ke_xin 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 咳咳。。。这场考试摸了 T1蓝蓝的棋盘 我菜炸了。。。 这竟然是个dp。。。长得真像博弈论 80分做法:设dp[x]表示棋子目前在位置x的答案(先手减去后手的分数). 状态转移方程dp[xl=max(a[y]-dp[y])(x<y<=min(n,x+m)),且dp[n]=0 直接枚举y转移即可,复杂 阅读全文
posted @ 2020-08-21 19:44 ke_xin 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 栈 后进先出 数组模拟即可 例1 设计一个支持push,pop,top等操作并且可以在**O(1)**时间内检索出最小元素的堆栈 显然一个栈维护最小值时,pop后无法O(1)知道其他最小值 二叉堆是支持查最值的,但是O(logn)的 所以我们可以建两个栈,一个栈存原数据,另一个维护从栈顶到now的m 阅读全文
posted @ 2020-08-20 16:54 ke_xin 阅读(25) 评论(0) 推荐(0) 编辑
摘要: BSGS大步小步算法 用于解决离散对数问题: 已知 \(a^x≡b (mod\quad p)\),求 x 的最小非负整数解。其中 \(gcd(a,p)=1\)。 Small Step:对于 \(i ϵ [0,S)\) ,求出 \(a^i% p=A[i]\) Big Step:对于 \(j ϵ [0, 阅读全文
posted @ 2020-08-19 21:12 ke_xin 阅读(64) 评论(0) 推荐(1) 编辑
摘要: •期望计算方法:每种事件的值乘该事件发生的概率 $ E(X)=∑x_i P(X=x_i )$ 随机的抛掷一枚骰子,所得骰子的点数的数学期望为 (1+2+3+4+5+6)/6 =3.5 例1:POJ 2096找bug Description •有s个系统,n种bug,小明每天找出一个bug,可能是任意 阅读全文
posted @ 2020-08-19 21:11 ke_xin 阅读(62) 评论(0) 推荐(0) 编辑