“写挂了就是想挂了,想挂了就是不会。” ——送给自己的一句话
起因是本蒟蒻最近打模拟赛总是各种形式地挂分,殊不知挂分的背后是知识上的漏洞。
计数题的难点并不在于套路和技巧,而在于不重不漏地统计到每一个合法方案。
以一道看似很简单的签到题为例:
给 n 个数,统计有多少个数对 x>y,满足 (x,y)=x⊕y
完整步骤: (全程没有一步“玄学”“显然”)
引理:对于任意 x>y,都有:(x,y)=(x−y,y)≤x−y≤x⊕y
接下来枚举 d,按照 d 的取值划分所有方案构成的集合为若干子集
x>y,(x,y)=d,(x,y)=x⊕y
⟺x>y,(x,y)=d,(x,y)=x−y=x⊕y
⟺x>y,d|x,d|y,d=x−y,x−y=x⊕y
只有经过这样的等价推导,我们才能枚举每两个 d 的相邻倍数,判断 x−y=x⊕y
通过这道题,我们不难发现,按照y总教给我们的做题模式,计数题不存在任何 玄学 的成分
强 !!!
强 !!!