02 2019 档案
摘要:已知(2+1)?种做法 分别是: 按dfs序倒推 "Link" BZOJ2427代码 另一种在dfs过程中枚举 i
阅读全文
摘要:除了1以外的每个物品依赖另一个物品,因为 $x_i 1) G[in].pb(i); } dfs(1); dl(i, n, 0) if (dp[1][i][0]
阅读全文
摘要:题意:给定两个长为n 1≤n≤106的序列a,b,值域 [1..n] ,从这两个序列中个找出任意一对和相同的子序列(长度可以不同) 首先进行一个处理:若a的元素和大于b的元素和,则交换序列 a 和 b 令 A 表示序列a的前缀和数组 B表示序列b的前缀和数组 对于A中的每个
阅读全文
摘要:令S=12∑ni=1|ipi|,每次swap最好情况下会让 S 减少 2,所以如果交换次数恰好是 12∑ni=1|ipi|,那么每个数都不能向 pi 的反方向移动,也就是排序过程中,某个数字不能同时有往后和
阅读全文
摘要:每次从当前的叶子往上DP(每条链上没有染色的深度最大点视为叶子),先看子树里的点能不能染到这个点,染不到就++ans,把这个点的k传上去,能染到的话要 cpp vint G[MAXN]; int k[MAXN], fa[MAXN], ans; inline int dfs(int u) { int
阅读全文