第七天在做什么?有没有空?可以来抱灵吗?
0.杂谈
今天是 lyh 出题,打开题面 真 · 开 幕 雷 击,计算几何完全不会。
没拿到题的时候就听有人说 T2 重题了,所以又看了看 T2,发现确实是前两天兔子讲锅的题。
换了题目,发现又是一道毒瘤题,看旁边的同学几乎已经全员扫雷了(
于是尝试打了几个暴力,最终得分 \(0+0+0=0\)。
这是提交代码时的部分文件夹:
lyh 每个题放了 100 个点,所以一中午大概测了不到三分之一(还没测到几个真人)。
到下午四点大概测完了五分之二。
1.简易题解
A
给出一个几何体的主视图和侧视图(均为多边形),计算它的最大体积。
先判掉不合法情况。
我们记 \(S(h)\) 为 \(z=h\) 截物体得到的面积,现在需要求 \(\int S(h)\text{d}h\)。
要使体积最大,我们肯定要让截面是矩形,也就是 \(S(h)=l(h)+w(h)\),其中 \(l(h),w(h)\) 为正视图、侧视图中比 \(h\) 高的部分在水平面上的投影长度之和。发现 \(l\) 和 \(w\) 都是分段函数,而且每一段都是一次函数,那么分段积分就完了。
B(Updated)
给定质数 \(p\) 和整数 \(k\),以及一个大整数 \(A\),求有多少对 \((n,m)\)(\(0\le m\le n\le A\)) 满足 \(p^k|\binom nm\)(原题 CF582D)。
因为被 \(p^k\) 整除就是在 \(p\) 进制下末尾至少有 \(k\) 个零,记 \(z_p(x)\) 为 \(x\) 在 \(p\) 进制下末尾零的个数,那么 \(z_p\left(\dbinom nm\right)=z_p(n!)-z_p(m!)-z_p((n-m)!)\)。
接下来用到了 Kummer 定理:\(z_p\left(\binom{n+m}{m}\right)\) 即为在 \(p\) 进制下计算 \(n+m\) 的进位次数。
所以考虑数位 dp。状态和方程亿点点复杂稍后补
C
一个长度为 \(n\) 的包含 abcd
的字符串,每个位置出现 abcd
的概率依次是 \(p_a,p_b,p_c,p_d\),求其 Huffman 编码的期望长度。
发现虽然字串数量达到了惊人的 \(4^n\),但是不同的概率是很少的,所以可以考虑合到一起处理。
2.集训队作业选讲
1
题面见 AT3950。
如何判断一个字符串是不是美しい的呢?发现我们可以贪心地遇到 000
变成 0
,遇到 01
删 01
。所以我们可以设计一个 dp 状态 \(f_{i,j,k}\) 表示对前 \(i\) 位进行完以上过程后剩下 \(j\) 个 \(0\) 和 \(k\) 个 \(1\),如果最后 \(k>j\) 那么字符串是美しい的。
由于 \(j\) 一定不超过 \(2\),所以 \(k\) 也只需要枚举到 \(2\) 就行了。
2
题面见 CF578F。
把网格图黑白染色,那么一面镜子会连接两个同色点,此时图满足条件当且仅当红色点或蓝色点形成一棵树。
证明其实就是根据题目条件感性理解,此处从略(
所以分别统计生成树个数就行了,缩点后上矩阵树定理。
3
题面见 AT5619。
考虑 \(1\) 跟某个点配对后会发生什么:这条弦将圆弧分成了两部分,两部分之间连成一个森林。
所以可以考虑设计 dp 状态。\(f_{a,b,c,d}\) 表示将 \([a,b],[c,d]\) 连成一个森林的方案数,\(g_{a,b,c,d}\) 表示连成树的方案数。
前者可以枚举第一棵树覆盖了哪些节点,后者就是枚举那条跨过弦的边。