20250808

总结

今天的做的题比较少,有想全靠自己做题的原因

A

总用时:23min(没看题解)

  • 思路历程:根据推测,可以发现对于一个x,它的上一个数的范围在x - p + 1 <= lst <= x,然后我的初始想法是从x2一步一步推回x0,
    但是这样衍生的两种回推方式要么会超时,要么可能有正确性问题,然后我想了一会发现x2->x1没必要算,直接循环枚举x1,然后回推取min就行了
  • 正解:这题没看题解,老师讲题思路和我一致

收获:

  1. 对于一个题不能先入为主,要严格用自己的思路流程完整思考

B

总用时:40min(A之前没看题解,后来看了)

  • 思路历程:我先考虑以变形题目狮子为切入点,设a1 = a / gcd (a, b), b1 = b / gcd (a, b)
    1. c * lcm (a, b) - d * gcd (a, b) = x
    2. gcd (a, b) * (c * a1 * b1 - d) = x
    3. 则gcd (a, b) = x / (c * a1 * b1 - d)
      此时当(c * a1 * b1 - d) | x时,gcd (a, b)有意义
      当c | (c * a1 * b1)时, a1 * b1有意义
      此时枚举x的因子,对于每个因子i,只要满足c | (i + d),
      记录(i + d) / c的质因数,发现此时贡献为2^(质因数数量)
  • 正解:与老师思路一致,看了题解发现题解思路也基本一样

收获:

  1. 有狮子就多挖掘,可以尝试找出狮子提供的存在关系或体现的限制条件,从而找出题目性质

C

总用时:2.3h(看了题解才做的,原因是想偏了,用1.5h,忽然发现想太久了,继续想是不行的)

  • 思路历程:我先从k的倍数入手,后继杂七杂八的想法一大堆,但屁用没有
  • 正解思路:假设i向k * i连边,那么会出现许多的链,每条链的选取其实是互不干扰的,
    这就好办了,答案就是链的方案的乘积。但是直接求会T。
    考虑反过来,能被k整除的数只有n/k个,等于说只有n/k个数会被连接,这时递归就可以顺利求解
    但是这回出现重复,需要两次差分
    第一次去不干净,会有长不为i的在第i层,第二次就可以把它踢出

收获:

  1. 对于一些具有单向链接性质的东西,可以尝试以连边为突破口,继续挖掘性质,比如这个题就进一步发现了链之间互不干扰,可以用乘法原理统计
  2. 可以观察一些隐性范围条件,用于优化
  3. 没有思路的时候多写多画

D

最后

可能自己想题对于目前水平过低的我来说不太适合吧
平时盯着电脑眼睛有点累,想题的时候多看看草稿纸,隔一段时间休息一下眼睛
每两天可以做一套英语试卷和物理题用来保持文化水平

posted @ 2025-08-08 21:58  姜树  阅读(7)  评论(0)    收藏  举报