A
有一个数 \(n\) 和 \(m\) 种操作,第 \(i\) 次操作使得 \(n\gets n/A_i\),问最多遍历多少个数。
\(n\le 10^5,m\le 10\)。
不难发现暴力即可通过。
B
给定集合 \(S\),对于每个 \(i\in [1,m]\) 你需要求出选择数最多和最少的值使得 \(\gcd=i\)。
\(n,S_i\le 3e5\)。
首先对于每个 \(i\) 都把是 \(i\) 的倍数的都拎出来,最多选的数就是全选,或判断无解。
最少的数呢,不难发现答案是很小的,不超过 \(7\),所以枚举答案 \(k\),再判断。
考虑设计 dp,设 \(f_{j}\) 表示是 \(\gcd=j\) 的方案数。
\(f_j=C_{cnt_j}^k-\sum_{j|t,j\neq t}f_t\)。 其中 \(cnt_j\) 表示是 \(j\) 倍数的数的个数。
只需要判断 \(f_i\) 的值即可。
C
二维平面上有 \(n\) 个点,你要将其划分成 \(m\) 部分,\(n\le 4000,m\le 3\),求方案数,满足每部分的点都可以用一个边长为 \(k\) 的横平竖直的正方形包括。
若 \(m=2\),不妨二分图染色求方案数,也就是 \(2\) 的连通块个数次幂。
若 \(m=3\),设三种颜色是 RGB。枚举 R 正方形的上左边界,强制对应的两个点(或一个点)选 R。
剩下的点也可以用上面的容斥做法做,只不过位于 R 正方形内部的点可以额外染一种颜色。
D
请求出最短的序列 \(A\),满足每个元素在 \([1,9]\) 之间,有 \(n\) 条限制,每条限制是满足存在 \(p\),
使得从 \(p\) 开始选择向左或向右走,每次把第一次遇到的数加入序列后,是限制给出的顺序。
\(n\le 10\)。
考虑状压。
标签:10,cnt,le,2024.7,30,正方形,test From: https://www.cnblogs.com/Simon-Gao/p/18332513