摘要: 虚树,是对于一棵给定的节点数为 n的树 T,构造一棵新的树 T' 使得总结点数最小且包含指定的某几个节点和他们的LCA。 虚树是只包含关键点以及关键lca的点,而其他不影响虚树结构的点和边都相当于进行了路径压缩,整颗虚树的规模不会超过关键点数目的两倍. 虚树实际就是为了解决一类树形动态规划问题而诞生 阅读全文
posted @ 2020-08-26 15:55 ke_xin 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 树的直径 模板poj1985 树形dp **优点:**可以处理负边权的树 **缺点:**只能求一个树的直径的长度,其他的求不出 不妨设1号节点为根,将树看成有根树; 法1: \(d[x]\) 表示从$x$到以$x$为根的子树的最远距离 \(d[x]=max( d[y]+edge(x,y) );\) 阅读全文
posted @ 2020-08-26 11:30 ke_xin 阅读(55) 评论(0) 推荐(0) 编辑
摘要: dfs序 所以对于一棵树的$dfs$序来说,这个点和他所有的子节点会被存储在连续的区间之中。 所以如果一个点的起始时间和终结时间被另一个点包括,这个点肯定是另一个点的子节点。(括号化定理) 欧拉序有两种形式: 1 在每个结点进和出时加进序列。 2 只要到达每一个结点就把他加进序列。 —— 用于求LC 阅读全文
posted @ 2020-08-25 19:42 ke_xin 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 7.26 题目:https://blog.csdn.net/weixin_30952103/article/details/101591104 礼物 见概率dp 通讯 见有向图tarjan 奇袭 由于题水。。。$O(N2)$算法也可过,话说考试那天我就想了个$O(N5)$... O(N^2)算法: 阅读全文
posted @ 2020-08-25 15:03 ke_xin 阅读(27) 评论(0) 推荐(0) 编辑
摘要: Trick 1.快速乘 解决乘法爆long long 的问题 int mul(int a, int b, int P){//快速乘 int L = a * (b >> 25ll) % P * (1ll << 25) % P; int R = a * (b & ((1ll << 25) - 1)) % 阅读全文
posted @ 2020-08-24 15:55 ke_xin 阅读(40) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.com.cn/problem/T120293 Description 一共有n张卡牌,每张卡牌上有一个数Ai,每次可以从中选出k张卡牌。一种选取方案的幸运数为这k张卡牌上数的异或和。马克想知道所有选取方案的幸运数之和除以998244353的余数。 Solution 阅读全文
posted @ 2020-08-24 14:25 ke_xin 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 数学基础 1.快速幂 注意结果可能为负(c++出锅)最后答案(ans+mod)%mod inline ll qpow(ll a,ll b){ ll ans=1; while(b){ if(b&1) ans=ans*a%MOD; a=a*a%MOD; b>>=1; } return (ans+MOD) 阅读全文
posted @ 2020-08-22 20:38 ke_xin 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 卡特兰数 优秀博客 1 2 3 卡特兰数是一种经典的组合数,经常出现在各种计算中,其前几项为 : 1, 2, 5, 14, 42,132, 429, 1430, 4862, 16796, 如果打表or手模找到如上规律可考虑卡特兰数 公式1: \(Catalan(n)=\sum_{i=0}^{n-1} 阅读全文
posted @ 2020-08-22 19:31 ke_xin 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 背包 blog背包九讲 n件物品,容量为V的背包,w价值,v体积 \(dp[i][j]=dp[i-1][j-k\*v[i]]+k\*w[i]\) 01背包 每个物品只有一件 k=1 memset(f,0xcf,sizoef(f)); f[0][0]=0; for(int i=1;i<=n;i++) 阅读全文
posted @ 2020-08-22 19:24 ke_xin 阅读(43) 评论(0) 推荐(0) 编辑
摘要: T1 过不了大样例 查不出错。。。可能想错了 wawawa爆零了 #include <cstdio> #include <vector> #include <cstring> #include <iostream> using namespace std; const int N=500005; i 阅读全文
posted @ 2020-08-22 19:02 ke_xin 阅读(26) 评论(0) 推荐(0) 编辑