随笔分类 -  数论

摘要:传送门 非常显du然liu的一道题 就是求GCD 因为数据范围... 所以要上压位高精+非递归的辗转相减 关于辗转相减: 如果 A是二的倍数,B是二的倍数 那么GCD(A,B)=2 * GCD(A,B) 如果只有A是二的倍数 那么GCD(A,B)=GCD(A/2,B) 如果只有B是二的倍数 那么GC 阅读全文
posted @ 2018-10-12 15:56 LLTYYC 阅读(255) 评论(0) 推荐(0)
摘要:权限题... 题目描述: Description 给出一个长度为N的数列{a[n]},1<=a[i]<=M(1<=i<=N)。 现在问题是,对于1到M的每个整数d,有多少个不同的数列b[1], b[2], ..., b[N],满足: (1)1<=b[i]<=M(1<=i<=N); (2)gcd(b[ 阅读全文
posted @ 2018-09-26 13:31 LLTYYC 阅读(257) 评论(0) 推荐(0)
摘要:传送门 显然式子可以变成: 然后发现两个部分差不多,就是余数求和,传送门 但是有限制 i ≠ j 所以特殊考虑 i=j 时的答案,减去就好了 当 i = j 时的答案 可以像余数求和那样吧 n mod i 变成 然后展开一波可以得到: = $n\times m\times min(n,m) - \s 阅读全文
posted @ 2018-09-21 10:45 LLTYYC 阅读(216) 评论(0) 推荐(0)
摘要:传送门 哈希 首先要知道一个结论: 判断一个串s中 长度为k的串是不是循环节 的充分必要条件是: s[1]~s[len-k] = s[k] ~ s[len] 并且 len%k=0 怎么证明呢 如图: 显然红色的串=s1(因为s[1]~s[len-k] = s[k] ~ s[len]) 同样s1=s2 阅读全文
posted @ 2018-09-13 16:24 LLTYYC 阅读(169) 评论(0) 推荐(0)
摘要:传送门 线性筛法 让每个合数只被它最小的素因数筛到 从而保证每个数均摊复杂度为O(1) 总复杂度O(n) 具体看模板 阅读全文
posted @ 2018-09-13 13:54 LLTYYC 阅读(348) 评论(0) 推荐(0)
摘要:传送门 题目大意 给出一个真分数 a/b,要求出几个互不相同的埃及分数(从大到小),使得它们之和为 a/b (埃及分数意思是分子为1的分数,详见百度百科) 如果有多组解,则分数数量少的优先 如果分数数量一样则分母最大的要尽量小,如果最大的分母同样大,则第二大的分母尽量小,以此类推 为了加大难度,会给 阅读全文
posted @ 2018-09-09 09:25 LLTYYC 阅读(416) 评论(0) 推荐(0)
摘要:传送门 好好看题 看懂了就不难了 在2^k进制下,一位一位看 每一位都有一些数可以填 除非是最左边一位,不然可以填的数最大都是 2^k-1 所以显然当填的位数为 i 时(不是最后一位),可能的选取方案总共有 C(2^k-1,i ) 如果要填最后一位 最后一位可以填的最大的数为 2^ (w%k)-1 阅读全文
posted @ 2018-09-07 17:03 LLTYYC 阅读(292) 评论(0) 推荐(0)
摘要:传送门 O(n) 算法可以60分,不用讲了吧... 考虑怎么加快速度 首先在不用“%”的情况下求余数应该懂吧 a%b = a - int(a/b) * b int() 是向下取整的意思 那么题目要求 k%1 + k%2 + ... + k%n 就等于 k-int(k/1)*1 + k-int(k/2 阅读全文
posted @ 2018-09-07 16:20 LLTYYC 阅读(178) 评论(0) 推荐(0)
摘要:在数轴上找一点使得该点到所有其他点的距离之和最小 方法:找到大小为中位数的点,该点就是要求的点(如有两个取之间任意一点都行) 证明: 先看看当只有2个点时的情况: 分类讨论: 如果在A的左边(如 $P_1$ ),距离之和( $sum$ )为:$dis(P_1,A)+dis(P_1,B)=dis(P_ 阅读全文
posted @ 2018-08-26 16:08 LLTYYC 阅读(1930) 评论(1) 推荐(1)