前言:
虽然我没AK哈,but我还是很努力的写代码了哈,喷轻点。
哈哈,废话不多说,直接开干。
正文:
T1:签到题
这道题个人评分:红,签到题题目不多讲,直接写:
T2:闰年:
这题纯粹水体,普通的一遍过。
T3:玉米树
可恶,赛事由于我太着急只能将就写一个组合偏分代码骗了20分,QAQ
CODE:
T4:踩方格
有入说我写题解不讲题?
呃,刑。
思路解析
这是一个经典的网格路径覆盖问题。
* 网格大小为 n×mn \times mn×m,起点为 (x,y)(x, y)(x,y),每次可以上下左右移动,要求不重复地走遍所有格子。
* 结论:
* 如果 nnn 或 mmm 是偶数,一定可以遍历所有格子 ✅
* 如果 nnn 和 mmm 都是奇数,那么能否遍历取决于起点的颜色(棋盘染色):
* 将格子按 (i+j)%2(i+j) \% 2(i+j)%2 染色,起点为黑色
* 黑色格子总数比白色多 111
* 只有起点是黑色才能遍历所有格子(即 x+yx + yx+y 为偶数)
* 特殊情况:只有一行或一列时,起点必须在端点才能遍历
代码实现
T5: 路径
思路解析
给定 n×mn \times mn×m 网格,从 (1,1)(1,1)(1,1) 到 (n,m)(n,m)(n,m) 只能向右或向下,求所有路径中经过的格子 (i,j)(i,j)(i,j) 满足 i+ji+ji+j 为质数的总次数。
* 每条路径长度为 n+m−2n+m-2n+m−2 步,经过 n+m−1n+m-1n+m−1 个格子。
* 对于每个格子 (i,j)(i,j)(i,j),经过它的路径数为 (i+j−2i−1)×(n+m−i−jn−i)\binom{i+j-2}{i-1} \times \binom{n+m-i-j}{n-i}(i−1i+j−2 )×(n−in+m−i−j )。
* 若 i+ji+ji+j 为质数,则累加该路径数到答案。
* 质数最大为 n+m≤2×106n+m \le 2\times 10^6n+m≤2×106,可以预处理。
代码实现
我的马蜂还是很好看的吧