摘要: 题意 给出正整数n,你要把1-n之间的正整数分成尽可能多组,使得每一组两个数的最大公约数大于1;输出能分成最多组的个数,并按任意顺序输出每组的两个数. 考虑约数最大化利用(或者是尽量用上较大的素数) 发现n/2以上的素数没有用 考虑n/2以下的素数 从大往小尽量找自己的倍数 不明白可以想一下 拿一个 阅读全文
posted @ 2018-10-12 16:22 白怀潇 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 被机房oierA穿的一道题…… 我最后还是靠着打表想出来了 其实就先沿着对角线分开 看一半 然后发现没有被覆盖的点纵坐标都是横坐标的因数 所以被覆盖的点就是欧拉函数 预处理一下前缀和 O(1000) Code: 阅读全文
posted @ 2018-10-12 14:46 白怀潇 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 还是比较简单的233 发现质因数分解之后就是每次乘一个质因数组成的链 所以链长质因数分解之后指数相加即可 方案数就是当前剩几种就推一位 但是显然不能递推 发现组合一下就是组合数(n,m) * (n-m,k) * (n-m-k,r) * .... * (lst,0) 再组合一下就是和的阶乘除以阶乘的和 阅读全文
posted @ 2018-10-12 14:00 白怀潇 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 这题……一开始没想到 后来 题意就是求区间素数对最大和最小距离 发现必须处理所有素数 复杂度要求是O(n)~O(nlgn) 考虑分开求质数和合数 其实就是筛法筛合数 最后遍历一遍找最大最小值即可 然后这个方法筛素数到R½就可以了 也就是50000(WA是写的40000……) Time cost:55 阅读全文
posted @ 2018-10-12 13:46 白怀潇 阅读(112) 评论(0) 推荐(0) 编辑