随笔分类 -  数论

摘要:Ultimate Weirdness of an Array 写不出来, 日常好菜啊。。 考虑枚举GCD, 算出一共有多少个对 f(l, r) <= GCD, 我们用fuc[ i ] 表示的是在 l = i 这个位置开始, 最小的合法的 R, 可以发现这个函数随 i 单调不下降, 枚举GCD 的时候 阅读全文
posted @ 2019-06-05 12:46 NotNight 阅读(154) 评论(0) 推荐(0) 编辑
摘要:这题一看就筛质数就好啦, 可是这怎么筛啊, 一看题解, 怎么会有这么骚的操作。 阅读全文
posted @ 2019-03-11 22:45 NotNight 阅读(195) 评论(0) 推荐(0) 编辑
摘要:ZS and The Birthday Paradox 感觉里面有好多技巧。。 阅读全文
posted @ 2019-02-19 16:58 NotNight 阅读(105) 评论(0) 推荐(0) 编辑
摘要:F - Cowslip Collections http://codeforces.com/blog/entry/43868 这个题解讲的很好。。。 阅读全文
posted @ 2018-11-04 16:19 NotNight 阅读(210) 评论(0) 推荐(0) 编辑
摘要:思路: x ^ 2 = k*n + 1 x ^ 1 - 1 = k * n (x + 1) * (x - 1) = k * n 我们设 x + 1 = n1 * k1 x - 1 = n2 * k2 n1 * n2 * k1 * k2 == k * n 我们只需要枚举n >= sqrt(n) 的 n 阅读全文
posted @ 2018-07-12 21:04 NotNight 阅读(135) 评论(0) 推荐(0) 编辑
摘要:思路:化简公式,Pn 表示 进行n 次操作,有奇数次1的概率 Pn = (1 - x) * Pn - 1 + x * (1 - Pn - 1) 得通项公式 Pn = (1 - (1 - 2 * x) ^ n) / 2 n 很大 ,但是模数是素数,可以用费马小定理优化。 阅读全文
posted @ 2018-06-23 14:24 NotNight 阅读(144) 评论(0) 推荐(0) 编辑
摘要:思路:有一个公式 如果 x = a1 ^ b1 * a2 ^ b2 * ...... * an ^ bn 其中ai为质数,那么总共的因子个数为 (b1 + 1) * (b2 + 1) *....* (bn + 1), 可得最多只和前16个质数有关,那么我们dfs暴力枚举每个质数的指数个数,注意因为值 阅读全文
posted @ 2018-06-12 20:48 NotNight 阅读(166) 评论(0) 推荐(0) 编辑
摘要:B - Moodular Arithmetic 题目大意:题意:告诉你p和k,其中(0<=k<=p-1),x属于{0,1,2,3,....,p-1},f函数要满足f(k*x%p)=k*f(x)%p,f(x)的范围必须在[0.p-1]内,问这样的f函数有多少个。 思路:数学题不会写啊啊啊啊。。 一般这 阅读全文
posted @ 2018-06-05 13:11 NotNight 阅读(111) 评论(0) 推荐(0) 编辑
摘要:E - Superior Periodic Subarrays 好难的一题啊。。。 这个博客讲的很好,搬运一下。 https://blog.csdn.net/thy_asdf/article/details/49406133 阅读全文
posted @ 2018-06-04 19:51 NotNight 阅读(111) 评论(0) 推荐(0) 编辑
摘要:题目大意:给你n,k, 让你求 k % 1 + k % 2 + k % 3 + ..... + k % n的值。 思路:我们能将k % i 转换成 k - (k / i) * i,原式变为 n * k - Σi * (k / i), 因为 k / i 是向下取整, 所以一段连续的i里边肯定 存在k 阅读全文
posted @ 2018-05-20 12:34 NotNight 阅读(90) 评论(0) 推荐(0) 编辑
摘要:求 1/a + 1/b = 1/n的正数解 设 x = a + n, y = b + n, 原式变为 a * b = n * n 答案微n * n 的约数个数加一之后的一半, 因为n * n 太大不能直接求因子个数需要通过质因子个数求约数个数。 阅读全文
posted @ 2018-04-12 16:44 NotNight 阅读(174) 评论(0) 推荐(0) 编辑
摘要:数论题还是好恶心啊。 题目大意:给你两个不超过1e12的数 x,y,定义一个f ( x, y ) 如果y==0 返回 0 否则返回1+ f ( x , y - gcd( x , y ) ); 思路:我们设gcd ( x , y) 为G,那么 设 x = A*G,y = B*G,我们考虑减去多少个G时 阅读全文
posted @ 2017-08-07 10:07 NotNight 阅读(127) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示