随笔分类 - 数论
摘要:传送门 非常显du然liu的一道题 就是求GCD 因为数据范围... 所以要上压位高精+非递归的辗转相减 关于辗转相减: 如果 A是二的倍数,B是二的倍数 那么GCD(A,B)=2 * GCD(A,B) 如果只有A是二的倍数 那么GCD(A,B)=GCD(A/2,B) 如果只有B是二的倍数 那么GC
阅读全文
摘要:权限题... 题目描述: 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[
阅读全文
摘要:传送门 显然式子可以变成: 然后发现两个部分差不多,就是余数求和,传送门 但是有限制 i ≠ j 所以特殊考虑 i=j 时的答案,减去就好了 当 i = j 时的答案 可以像余数求和那样吧 n mod i 变成 然后展开一波可以得到: = $n\times m\times min(n,m) - \s
阅读全文
摘要:传送门 哈希 首先要知道一个结论: 判断一个串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
阅读全文
摘要:传送门 线性筛法 让每个合数只被它最小的素因数筛到 从而保证每个数均摊复杂度为O(1) 总复杂度O(n) 具体看模板
阅读全文
摘要:传送门 题目大意 给出一个真分数 a/b,要求出几个互不相同的埃及分数(从大到小),使得它们之和为 a/b (埃及分数意思是分子为1的分数,详见百度百科) 如果有多组解,则分数数量少的优先 如果分数数量一样则分母最大的要尽量小,如果最大的分母同样大,则第二大的分母尽量小,以此类推 为了加大难度,会给
阅读全文
摘要:传送门 好好看题 看懂了就不难了 在2^k进制下,一位一位看 每一位都有一些数可以填 除非是最左边一位,不然可以填的数最大都是 2^k-1 所以显然当填的位数为 i 时(不是最后一位),可能的选取方案总共有 C(2^k-1,i ) 如果要填最后一位 最后一位可以填的最大的数为 2^ (w%k)-1
阅读全文
摘要:传送门 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
阅读全文
摘要:在数轴上找一点使得该点到所有其他点的距离之和最小 方法:找到大小为中位数的点,该点就是要求的点(如有两个取之间任意一点都行) 证明: 先看看当只有2个点时的情况: 分类讨论: 如果在A的左边(如 $P_1$ ),距离之和( $sum$ )为:$dis(P_1,A)+dis(P_1,B)=dis(P_
阅读全文