好题收录
8.24 模拟赛 T3
题意:
给定一棵 \(n\) 个结点,以 \(1\) 为根的树,每个结点有点权 \(a_i\)。可以将若干个点染成红色。定义一个结点 \(u\) 是好的,当且仅当:
- \(u\) 是红色。
- \(u\) 子树内(包括自身)有 \(k\) 个权值和 \(u\) 权值相等红色结点,其中 \(k\) 为给定值。
对于所有的 \(1 \le i \le n\),求出树中有 \(i\) 个好的结点的染色方案。
认为两种方案不同,当且仅当存在一个结点在一个方案中是红色,另一个方案中没有染色。
\(1 \le k \le n \le 3000\),答案对 \(10^9+7\) 取模。
8.31 模拟赛 T2
题意:给定 \(n\) 和长度为 \(n\) 的数组 \(\{a_n\}\),要求将 \(1,2,\dots,n\) 划分成若干个小组(不要求连续)。要求,对于每个 \(i\),其所在的组中元素个数 \(\le a_i\)。求方案数,对 \(10^9+7\) 取模。\(n \le 2000,1 \le a_i \le n\),时限 0.5s。
两种方案被认为是不同的,if and only if 存在 \(i,j\),在一种方案中在同一组中,另一种方案中不在同一组中。
HDU 4689 Derangement
题意:给定一个长度为 \(n\),包含
+和-的字符串 \(s\)。求长度等于 \(n\) 的排列 \(p\) 的数量,满足对于所有 \(1 \le i \le n\),若 \(s_i=\)+,则 \(p_i > i\)。
数据范围不明确。经测试,要求单组时间复杂度在 \(O(n^2)\) 左右。
洛谷 P4099 [HEOI2013] SAO
题意:给定一个 \(n\) 个点的有向图,保证将有向边视为无向边后,图构成一棵树。求其拓扑序个数,\(n\le 1000\),对 \(10^9+7\) 取模。
洛谷 P13309 演剧
题意:给定长度为 \(n\) 的序列 \(\{a_n\}\)。两个人博弈,A 操作,B 后操作。每一轮,操作者可以将序列分成两段,由另一人删去其中一段。剩余一个数的时候停止。A 想让剩余数尽量大,B 想让剩余数尽量小。两个人都用最优方案,求剩余的数。\(n \le 10^5,a_i \le 10^9\)。
洛谷 P5405 [CTS2019] 氪金手游
题意:给定一个 \(n\) 个点的有向图,满足将有向边视为无向边后图为一棵树。每个点有点权 \(w_i\)。在 \(\{1,2,3,\dots,n\}\) 内随机选数,有 \(\frac{w_i}{\sum w_i}\) 的概率选到 \(i\)。可能重复抽到某数。当所有数都至少被抽到一次后,选数过程停止。记第一次选到 \(i\) 的时间为 \(t_i\),这一次选数过程被称为好的,当且仅当对于图中每一条有向边 \(u \to v\),满足 \(t_u < t_v\)。求选数过程是好的概率。
两种过程认为不同,当且仅当抽数次数不同,或某一次两种方案抽到的数不同。\(n\le 1000\)。
更进一步地,\(w_i\) 不会直接给出,输入会给出 \(p_{i,j}\),表示 \(w_i\) 以 \(p_{i,j}\) 的概率取 \(j\)。其中 \(1 \le j \le 3\)。
9.13 模拟赛 T3
题意:有一个长度为 \(n\) 的数组 \(b\),初始值全为 \(0\)。同时有一个长度为 \(m\) 的序列 \(a_i\)。依次进行操作 \(i=1,2,\dots,n\)。
- 对于操作 \(i\),可以选择 \(b\) 中任意不同的 \(a_i\) 个位置 \(j_1,j_2,\dots,j_{a_i}\),对于每个 \(p=1,2,\dots,a_i\),将 \(b_{j_p}\) 加一。
对于每一个 \(k=1,2,\dots,m\),求出,所有可能情况中,操作完所有 \(a_i\)后,\(b\) 数组中最多有多少个值为 \(k\) 的数。
\(1 \le n,m \le 2\times 10^5,1 \le a_i \le n\)。
9.20 模拟赛 T4
题意:有 \(n\) 个点,每个点有四个属性 \(a_i,b_i,c_i,v_i\)。现在要在这 \(n\) 个点之间连无向边。要求:
- \(i\) 的度数至少为 \(a_i\)。
- \(i\) 的所有邻居 \(j\) 的 \(v_j\),要么都小于等于 \(v_i\),要么都大于等于 \(v_i\)。
当小于等于的时候,\(i\) 这个点的收益为 \(b_i\);大于等于的时候,收益为 \(c_i\)。如果邻居的 \(v_j\) 值全部等于 \(v_i\),那么收益为 \(\max(b_i,c_i)\)。最大化收益,或报告无解。
\(1 \le n \le 400,0 \le a_i \le n, 1 \le v_i \le n, 0 \le b_i,c_i \le 10^9\)。
CF2150C Limited Edition Shop
这道题最困难的是,你得相信他是一个 DP,而不是贪心。
第二困难的是,答案和 Alice 的选择顺序无关,只和选择的子集有关。
第三困难的是,你得相信他写出来的空间 \(O(n^2)\) 的 DP 是可以用线段树优化成 \(O(n \log n)\) 的。
AGC015E Mr.Aoki Incubator
题意:数轴上有 \(n\) 个人,在 \(x_i\) 处的人以 \(v_i\) 的速度朝正方向匀速运动。初始有某些人携带病毒,当某一时刻两个人相遇时,若其中一个人携带病毒,就会传染给另外一个人。求所有的 \(2^n\) 种初始携带病毒的情况中,使得充分长的时间后,所有人都携带病毒的方案数。对 \(10^9+7\) 取模。
\(n \le 2 \times 10 ^5,1 \le x_i,v_i \le 10^9\),且不存在 \(i\ne j\) 使得 \(x_i=x_j\) 或 \(v_i=v_j\)。
10.6 模拟赛 T4(QOJ 1836)
题意:给定 \(n\) 个点 \(m\) 条边的无向图,定义“花”为一个拥有 \(4\) 个结点的导出子图,这个导出子图有 \(1\) 条边或 \(5\) 条边。定义“叶”为一个拥有 \(4\) 个结点的导出子图,这个导出子图有 \(3\) 条边,且这 \(3\) 条边构成一条链。
认为两个“花”是不同的,当且仅当它们的点集不同。“叶”同理。
求这个图的“叶”的个数减去“花”的个数。
\(n \le 2000, m \le \frac 12 n(n-1)\),无重边无自环。时间限制 2s,空间限制 512MB。
核心:注意到。
列出所有可能的,点集 \(|V|=4\) 的图的形态(不关心点的顺序)。记这些形态的图的个数为 \(x_1, x_2,\dots, x_6\)。
然后计算一些四元组 \((A,B,C,D)\) 的个数。通过 bitset 做到 \(O(\frac{n^3}w)\) 计算这样四元组的个数。
找到四元组个数和 \(x_1, x_2, \dots, x_6\) 的关系。通过待定系数法凑出答案。
重点是这个凑配的意识吧,具体凑配过程在这里。
10.18 学校模拟赛 T4
题意:有一个含 \(\text{NaN}\) 的排列 \(1, 2, 3, \dots, n-1, \text{NaN}\)。其中 \(n=1\) 时排列有一个元素 \(\text{NaN}\)。求这个排列构成小根堆的概率,对 \(10^9+7\) 取模。
一个排列 \(a\) 构成小根堆,当且仅当对于所有 \(2 \le i \le n\),满足 \(a_i < a_{\lfloor i/2 \rfloor}\) 不成立。而 \(\text{NaN}\) 与任何数比较的结果都是 false。
\(T\) 组数据,\(n \le 10^9,T \le 10^3\)。
洛谷 P7011 Escape
洛谷 P9530 Fish 2
洛谷 P8867 建造军营
11.9 模拟赛 T3
题意:将 \(n\) 个线段分成恰好 \(m\) 组,每个线段需要且只能分进一组。求这 \(m\) 组线段合法的得分之和最大是多少。一组线段的得分定义为它们的交的长度(区间长度为右端点减左端点)。一个方案合法,当且仅当每组线段有交且长度大于 \(0\)。保证有解。
\(m \le n \le 200\)。线段端点取值 \([0, 10^5]\)。
11.11 模拟赛 T3
题意:给出一个 \(n\) 个点标准的(分界点为 \(\lfloor \frac{l+r}2 \rfloor\))的线段树。定义一个区间的权值为,将这个区间正常地摊开在线段树上访问的结点数。例如,\(n=5,[2, 3]\) 的权值就是 \(5\)。\(q\) 组询问,每组给出一个 \([l, r]\),表示询问所有 \([l, r]\) 的非严格子区间(单点也算)的权值和。
\(1 \le n, q \le 5 \times 10 ^ 5\)。强制在线。

浙公网安备 33010602011771号