数论
泠楠子
想写一点能让自己记住的东西
展开
-
取石子
每一堆数量都>1的话可以把合并操作和取石子看成一种操作,总操作数就是sum+n-1,为奇数就是Alice先手必胜,哪怕有一堆是2,Bob取后变为1,Alice也可以通过合并操作让1变成>1的数。可以分成两大板块a、b, a中方石子个数为1的,b中放石子个数>1的(合并操作也算进去),3、a中合并一次,如果此时b为0->f(a-2,b+2),b非0->f(a-2, b+3)4、b中合并一次->f(a,b-1)//与2式子相同,可化简为同一步。5、a与b合并一次->f(a-1,b+1)接下来记忆化搜索即可。原创 2023-10-30 21:08:40 · 245 阅读 · 0 评论 -
破译密码 - mobius函数 + 整数分块
mobius函数可以与容斥结合起来,比如mobius[2] = -1, mobius[3] = -1, mobius[2 * 3] = 1。对应容斥里面的加奇减偶。然后用整数分块的思想降低时间复杂度,在一个区间内(A/i) * (B/i)的值是固定的,可以看成一个常数,此时mobius函数可以用前缀和来降低时间复杂度。用容斥的思想:全部的组合-gcd为(2、3、5...)的+gcd为(6、10、15...)的...一个数的分解质因数形式,某一个指数>1为0,质因数为奇数个为-1,偶数个为1。原创 2023-10-19 20:18:42 · 137 阅读 · 0 评论 -
1315. 网格 - 卡特兰数
只要是触及上面这条红线的,就以第一次触及的点为起点沿红线反转,终点的位置与红线对称的位置可以看作触及红线的路线的终点。横坐标容易得出时m - 1,(m + n) - (m - 1)得出纵坐标n + 1。原创 2023-10-12 20:31:54 · 77 阅读 · 0 评论 -
1312. 序列统计
L~R范围可以等同于0~R-L范围。相当于在R-L+1个数中选出k个数。相当于在R-L+k个数中选出k个数。原创 2023-10-11 22:03:08 · 253 阅读 · 0 评论 -
1310. 数三角形
对于每一种选法,左下角看作第一个点,右上角看作第二个点两点中间的点数就是选法个数,即gcd(a, b) - 1。当共线的斜率大于0时枚举共线的长和宽,设为a、b,则这条线左下角的选法有(n+1-a)*(m+1-b)种。(设横坐标差的绝对值为x, 纵坐标差的绝对值为y )思路:先算出选三个点的所有情况,再减去三点共线的情况。共线的斜率为0时特判。原创 2023-10-11 19:19:48 · 87 阅读 · 0 评论 -
斐波那契前 n 项和 - 矩阵乘法快速幂
然后对这个式子进行快速幂,挺神奇的。原创 2023-10-08 19:34:48 · 98 阅读 · 0 评论 -
202. 最幸运的数字
⭐⭐⭐⭐⭐原创 2023-10-07 20:43:14 · 82 阅读 · 0 评论