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\leq n\leq 10^6$的序列a,b,值域 $[1..n]$ ,从这两个序列中个找出任意一对和相同的子序列(长度可以不同) 首先进行一个处理:若a的元素和大于b的元素和,则交换序列 a 和 b 令 A 表示序列a的前缀和数组 B表示序列b的前缀和数组 对于A中的每个
阅读全文
摘要:令$S=\frac{1}{2}\sum_{i=1}^n|i p_i|$,每次swap最好情况下会让 $S$ 减少 $2$,所以如果交换次数恰好是 $\frac{1}{2}\sum_{i=1}^n|i p_i|$,那么每个数都不能向 $p_i$ 的反方向移动,也就是排序过程中,某个数字不能同时有往后和
阅读全文
摘要:每次从当前的叶子往上DP(每条链上没有染色的深度最大点视为叶子),先看子树里的点能不能染到这个点,染不到就++ans,把这个点的k传上去,能染到的话要 cpp vint G[MAXN]; int k[MAXN], fa[MAXN], ans; inline int dfs(int u) { int
阅读全文

浙公网安备 33010602011771号