Loading

2022.7~9 杂题

P6620 [省选联考 2020 A 卷] 组合数问题

组合数配合下降幂有优秀的性质:

\[m^{\underline{k}}\binom{n}{m}=n^{\underline{k}}\binom{n-k}{m-k}. \]

\(f(x)\) 转化为下降幂多项式:

\[f(x)=\sum_{i=0}^m b_ix^{\underline{i}}. \]

对于其中的每一项 \(b_kx^{\underline{k}}\),分别计算答案:

\[\begin{aligned} &\sum_{i=0}^n b_k i^{\underline{k}} x^i \binom{n}{i}\\ &=b_kn^{\underline{k}} \sum_{i=0}^n \binom{n-k}{i-k}x^i\\ &=b_kn^{\underline{k}} \sum_{i=0}^{n-k} \binom{n-k}{i} x^{i+k}\\ &=b_kn^{\underline{k}}x^k(x+1)^{n-k}. \end{aligned} \]

时间复杂度 \(O(m^2)\)

P4216 [SCOI2015] 情报传递

简单题。

离线,算出每个点开始 \(+1\) 的最早时间 \(t_u\),那么在 \(T\) 时刻的查询 \((u_i,v_i,c_i)\),就相当于查询 \(u_i\to v_i\) 的链上,有多少个满足 \(t_x<T-c_i\)\(x\)。差分成四个询问,然后树状数组即可。

AT2044 [AGC004D] Teleporter

因为模拟赛被贪心爆杀了,所以来做几道贪心。

首先,这是一棵基环树,且一号城市在环上。那么一号城市肯定需要连向自己,因为如果形成大小 \(>1\) 的环,就一定存在一个点,走 \(K\) 步不能走到 \(1\)。将这个自环去掉,剩下的就是一棵内向树,“恰好 \(K\) 步后能走到 \(1\)”就变成了“每个点到 \(1\) 的距离不超过 \(K\)”。

考虑从下往上贪心,每次若一个子树的深度 \(\ge K\),就令答案加一。

const int N = 1e5 + 5;
int n, k, ans;
vector<int> e[N];
int DFS(int u) {
	int res = 0;
	for (int v : e[u]) {
		int cur = DFS(v);
		if (u > 1 && cur == k - 1) ++ans;
		else res = max(res, cur + 1);
	}
	return res;
}

至于这个贪心是怎么想到的,我也不知道,因为我没想到。

P1645 序列

按区间右端点从小到大排序,如果区间内元素个数少于要求的个数,就贪心地从右端点往左填,时间复杂度 \(O(N^2)\)

AT2169 [AGC007B] Construct Sequences

先考虑那个 \(a_{p_1}+b_{p_1}<a_{p_2}+b_{p_2}<\dots<a_{p_n}+b_{p_n}\) 的限制。假如不需要满足 \(a\) 单调增,\(b\) 单调减,那么令 \(a_{p_i}=i,b_i=0\) 即可。

发现这样构造的话,\(|a_i-a_{i+1}|<N\)。因此,令 \(a_i\gets a_i+i\times N,b_i\gets 10^9-i\times N\) 即可。

P2751 [USACO4.2] 工序安排Job Processing

首先,假如只有操作 A,那么对于每个工件 \(i\),找到那个生产它的结束时间最短的机器即可。设这样求出的结束时间是 \(t_i\),显然 \(t\) 单调不降。

考虑操作 B,我们会让 \(t\) 越大的匹配效率越高的机器。对于每个机器 \(j\),设 \(b_j\) 是它生产一个工件需要的时间,\(c_j\) 是它的使用次数,那么倒序枚举 \(i\),每次找到一个 \((c_j+1)b_j\) 最小的 \(j\),工件 \(i\) 的生产时间就是 \(t_i+(c_j+1)b_j\)

但有一种情况是:对于两个工件 \(i<j\)\(j\) 在进行完 A 操作时,\(i\) 有足够的时间进行 A 和 B 操作。假如 \(i,j\) 使用的 B 机器不同,则这种情况显然不影响。否则,设它们使用的 B 机器是 \(k\),需要满足:\(t_i+b_k\le t_j,t_i+2b_k>t_j+b_k\)。发现这两个不等式是矛盾的,于是这种情况不会影响答案。

时间复杂度 \(O(N\log M)\)

posted @ 2022-07-17 13:37  Alan_Zhao_2007  阅读(52)  评论(1编辑  收藏  举报