20230701巴蜀暑期集训测试总结
T1 P1173 [NOI2016] 网格
一眼分讨,考场觉得不划算,就暴力都没打。
答案只可能是 \(-1\),\(0\),\(1\),\(2\)。\(-1\) 很好判,重点再判 \(0\) 和 \(1\),先对部分店建图判断连通性,不连通为 \(0\),然后跑tarjan判断割点,无割点则为 \(2\)。
T2 P1587 [NOI2016] 循环之美
考场切啦!虽然考场交的代码洛谷上TLE了一个点。
类比十进制,答案为
\[f(n,m,k)=\sum_{i=1}^{n}\sum_{j=1}^{m}[(i,j)=1][(j,k)=1]
\]
经过一些变形可得
\[f(n,m,k)=\sum_{d|k}\mu(d)f(\frac{m}{d},n,d)
\]
\[f(n, m, 1) = \sum_{i=1}^{n}\sum_{j=1}^{m}[(i,j)=1]
\]
\[=\sum_{d=1}^{min(n,m)}\mu(d)\lfloor\frac{n}{d}\rfloor\lfloor\frac{m}{d}\rfloor
\]
杜教筛+整除分块可以解决。
T3 P2304 [NOI2015] 小园丁与老司机
考场想到网络流思维就局限了,其实有一部分只需要普通 DAG 就行的。
前两个答案难点在同行的处理。对于每一行的每一个点分成三个建图,分别是进入后向左走的点、进入后向右走的点和进入后向上走的点,跑 DAG 最长路。
第三个答案建出图后和清理雪道是一样的。建图就在可达的基础上用之前跑出来的距离判断是否在最长路上。