随笔分类 - 其他
摘要:题意:给定一颗树,要求每个点的点权范围是 $[1,D]$ 且权值不大于父亲,求方案数. 显然,即使 $D$ 再大,$n$ 个点也最多只会取到 $n$ 个值. 令 $f[x][i]$ 表示以 $x$ 为根的子树中点 $x$ 取到权值 $i$ 的方案数. 令 $s[x][i]$ 表示 $f[x][i]$
阅读全文
摘要:挺厉害的一道大数据结构题. 由于 LCT 是维护树的形态的,所以说不支持翻转操作. 而在维护序列时 splay 是支持区间翻转的. 所以,我们对于 LCT 中每一个重链都维护一个 splay(这个不同于 LCT 中的 splay) 由于重链是一个序列,所以是支持序列的区间翻转的. 那么我们的翻转,链
阅读全文
摘要:朴素的DP:$f[i][j]$ 表示选了 $i$ 个数,异或值为 $j$ 的方案数. 转移:$f[i][j]=\sum_{i=1}^{m}f[i-1][k]\times isprime[p]$($p$ 异或 $k$ 等于 $j$) 如果 $n$ 比较小的话可以直接进行 FWT 优化 DP. 然而,这
阅读全文
摘要:有一个 $n$ 行 $m$ 列的表格,每个元素都是 0/1,每次操作可以选择一行或一列,将 0/1 翻转,即 0 换为 1,1 换为 0. 求:经过若干次操作后,表格中最多有多少个 1. 数据范围:$1\leqslant n \leqslant 20,1\leqslant m \leqslant 1
阅读全文
摘要:令 $f[x][j]$ 表示以 $x$ 为根的子树,选出连通块的异或值为 $j$ 的方案数. 然后有 $f[x][j]=f[x][j]+\sum_{i\oplus k=j} f[x][i] \times f[son][k]$. 其中,$\oplus$ 为异或符号. 求解这个东西显然可以用 $FWT$
阅读全文
摘要:Description 题解: 随便给定一个括号序列,最终一定能表示成 $..)))))))((((...$ 这种形式. 那么,这个时候答案就是左括号数量/2+右括号数量/2(都是向上取整) 所以,我们考虑用 $Splay$ 来维护这种情况下左括号和右括号的数量. 这里的那个 $swap$ 不是镜面
阅读全文
摘要:有一个长度为 $m$ 的整数序列 $c$,初始值都是 0 还有一个长度为 $n$ 的操作序列,第 $i$ 个元素用三元组 $(l_{i},r_{i},v_{i})$ 描述,代表将 $c[l_{i}] \sim c[r_{i}]$ 都赋值为 $v_{i}$ 有 $q$ 个询问,第 $i$ 次询问让你求
阅读全文
摘要:有 $2^n$ 名选手,编号为 $1$ 至 $2^n$. 现在这 $2^n$ 名选手将进行 $n$ 轮淘汰赛,决出胜者. 若 $x<y$,则 $x$ 能战胜 $y$. 但是有 $m$ 个例外,1 号选手会输给这 $m$ 个选手,问有多少种初始排列方式使得 $1$ 号点能取得胜利. (每次是 2i v
阅读全文
摘要:看到这道题第一个想法肯定是按照套路钦定一些地方不合法,然后其他地方随便选,最后来一个二项式反演. 但是我们发现这个 DP 状态很难设置. 然后你发现一个非常神的性质:由于题中给的是绝对值,所以说一个位置要是不合法的话,只有两种数值的可能(+k和-k) 然后把位置 $i$ 和值 $i+/-k$ 相连,
阅读全文
摘要:我们令 $f[i]$ 表示以 $i$ 为根的删除方案数. 这里一定要注意一件事情:根据我们的定义,我们已经默认 $i$ 点为根的子树在删除时 $i$ 是最后删除的. 然后按照换根 DP 的套路转移就行,但是转移的时候组合数一定要注意. #include <cstring> #include <cst
阅读全文
摘要:Description Input Output 看到这种恰好的一般就是二项式反演了. 令 $f[i][j]$ 表示考虑糖果前 $i$ 个糖果,恰好比药片大 $j$ 个的方案数.(我们只选了 $j$ 个糖果) 转移的话我们将两个数组分别从小到大排序,这样就非常好转移了. 我们令 $l[i]$ 代表第
阅读全文
摘要:题意:在 $n$ 个数的 $2^n-1$ 个非空子集中选取 $m$ 个,且必须满足: 1. $m$ 个子集两两不同. 2. 每个数在 $m$ 个子集中出现总次数为偶数. 3. 每个子集非空. 令 $f[i]$ 表示选出了 $i$ 个集合且满足了上述 3 条限制的方案数. 直接求 $f[i]$ 比较困
阅读全文
摘要:这个题和那个城市规划几乎是一个套路. 就是钦定一个点,然后枚举这个点所在连通块大小,然后其余部分随便连. 由于我们钦定了一个点,所以我们算的方案数肯定不会重复. 即 $f[S]=TOT(S)-\sum_{T \subseteq S} f(T) \times TOT(S-T)$. code: #inc
阅读全文
摘要:题意: 给定一张图,和这个图的一颗生成树. 求:重新对这颗树标号,有多少种标号方式满足如果一条边 $(x,y)$ 在树中出现的话在图中也出现. 暴力做法:$f[i][j][S]$ 即在以 1 为根的树中遍历到点 $i$,该点映射的点是 $j$,且 $i$ 这颗子树映射的点集是 $S$. 转移的话时间
阅读全文
摘要:这个还是非常神仙的... code: #include <cstdio> #include <algorithm> #define N 1006 #define ll long long #define setIO(s) freopen(s".in","r",stdin) using namespa
阅读全文
摘要:code: #include <cstdio> #include <string> #include <cstring> #include <algorithm> #define N 66 #define ll long long #define mod 998244353 using namesp
阅读全文
摘要:code: #include <cstdio> #include <cstring> #include <algorithm> #define ls x<<1 #define rs x<<1|1 #define N 2105 #define ll long long #define setIO(s)
阅读全文
摘要:换根DP 求一下每个点为起点的最长路径,然后用双指针扫一下统计答案就好了. code: #include <cstdio> #include <queue> #include <set> #include <algorithm> #define N 1000007 #define ll long l
阅读全文
摘要:Description H 国是一个热爱写代码的国家,那里的人们很小去学校学习写各种各样的数据结构。伸展树(splay)是一种数据 结构,因为代码好写,功能多,效率高,掌握这种数据结构成为了 H 国的必修技能。有一天,邪恶的“卡”带着 他的邪恶的“常数”来企图毁灭 H 国。“卡”给 H 国的人洗脑说
阅读全文
摘要:现在看来,这道题的 84 pts 随便拿啊. 100 pts 也不是很难,但是考场上太过于紧张加上心理素质不好吧... 84pts 暴力的话设状态 $f[i][j][k]$ 表示决策到第 $i$ 行,枚举的拿了 $j$ 个,其余拿了 $k$ 个. 但是我们把那个不等式拆开后发现其实表示的就是钦定的比
阅读全文

浙公网安备 33010602011771号