Educational Codeforces Round 88 (Rated for Div. 2)E


题目大意: 给你n,k(1<=k<=n<=5e5),从1到n中选k个数组成一个严格递增序列,如果对任何正整数,依次模上这k个数,无论这k个数如何排列得到的答案都相同,那么称这个序列为好序列,求好序列的个数%998244353

思路: 最后的余数是和最小的那个数的位置有关的,通过打表发现其余数是最小数的倍数时,无论位置,最后的余数都相同。
所以我们利用组合数,枚举最小的数i,然后从剩下的(n/i)-1个能整除i的数中随意挑k-1个即可。
证明:
设ai是最小的数,当ai出现后,后面的数字必定大于余数,使用后面的余数不变。
ai前面的数,x=(nai)+m,则余数为n,当前面的数是ai的k倍数时,x=(n1kai)+n2ai+m.其中(n1kai)+n2ai=(nai)。所有最后的余数还是等于m,无论他们的位置如何。
代码:

#include <bits/stdc++.h>
using ll = long long;
using namespace std;
const int mod = 998244353;ll fpow(ll a, ll b) {ll res = 1;while (b > 0) {if (b & 1) res = res * a % mod;a = a * a % mod;b >>= 1;}return res;
}ll inv(ll x) {return fpow(x, mod - 2);
}ll C(ll n, ll m) {if (n < m) return 0;ll res = 1;ll mi = min(m, n - m);for (int i = 1; i <= mi; i++)res = res * (n - i + 1) % mod * inv(i) % mod;return res;
}int main() {int n, k; cin >> n >> k;ll ans = 0;for (int i = 1; i <= n; i++)ans += C(n / i - 1, k - 1), ans %= mod;cout << ans << "\n";
}

Educational Codeforces Round 88 (Rated for Div. 2) E(数学)相关推荐

  1. Educational Codeforces Round 88 (Rated for Div. 2)(AB)

    Berland Poker CodeForces - 1359A 代码如下: #include<bits/stdc++.h> #define ll long long using name ...

  2. Educational Codeforces Round 88 (Rated for Div. 2)C. Mixing Water(数学+二分法)---题解

    C. Mixing Water 来源:http://codeforces.com/contest/1359/problem/C There are two infinite sources of wa ...

  3. Educational Codeforces Round 88 (Rated for Div. 2) C. Mixing Water (思维,数学)

    题目链接 题意: 给你一杯热水和一杯冷水,问你最少用几杯水,使得混合后的温度与给定的t温度最相近. (这里至少要用一杯水,并且,交替使用,比如:第一杯只能用热水,第二杯只能用冷水,第三杯只能用热水依次 ...

  4. Educational Codeforces Round 90 (Rated for Div. 2)(A, B, C, D, E)

    Educational Codeforces Round 90 (Rated for Div. 2) Donut Shops 思路 分三种情况: a==c/ba == c / ba==c/b这个时候两 ...

  5. Educational Codeforces Round 114 (Rated for Div. 2) (A ~ F)全题解

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Educational Codeforces Round 114 (Rated for Div. 2) ...

  6. Educational Codeforces Round 106 (Rated for Div. 2)(A ~ E)题解(每日训练 Day.16 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 Educational Codeforces Round 106 (Rated for Div. ...

  7. Educational Codeforces Round 37 (Rated for Div. 2) 1

    Educational Codeforces Round 37 (Rated for Div. 2) A.Water The Garden 题意:Max想给花园浇水.花园可被视为长度为n的花园床,花园 ...

  8. Educational Codeforces Round 89 (Rated for Div. 2)(A, B, C, D)

    Educational Codeforces Round 89 (Rated for Div. 2) A. Shovels and Swords 思路 题意非常简单,就是得到最多的物品嘛,我们假定a, ...

  9. Educational Codeforces Round 114 (Rated for Div. 2) D. The Strongest Build 暴力 + bfs

    传送门 文章目录 题意: 思路: 题意: 你有nnn个装备槽,每个槽里面有cic_ici​个力量加成,对于每个槽只能选一个力量加成,现在给你mmm个力量组合[b1,b2,...,bn][b_1,b_2 ...

最新文章

  1. 多少行数_技术分享 | MySQL:查询字段数量多少对查询效率的影响
  2. BlendMode颜色混合模式枚举值
  3. Hibernate中启用日志
  4. linux 正则表达式与实践
  5. servlet需要和ajax,如何使用Servlet和Ajax?
  6. transition的唧唧歪歪
  7. vscode导入本地jar包_go导入本地包踩坑(已解决!)
  8. linux下使用过的命令总结(未整理完)
  9. Spring中的Bean可以绕过生命周期管理吗?
  10. 汇编语言程序设计-钱晓捷(第五版)学习笔记目录
  11. 各种品牌进入Bios方式
  12. win10连Android机,Windows10电脑可以和安卓手机无缝连接使用了,实用性干翻Mac-win10手机...
  13. 6678手册阅读记录
  14. 制作电脑显示器流光溢彩
  15. 供应链优势持续赋能 国美生态圈日趋完善
  16. python爬取公众号阅读量_分享一个牛逼的Python项目:公众号文章爬虫
  17. poi导出word表格设置自动重调尺寸适应内容固定表格宽度
  18. 中北c语言程序设计,中北大学软件学2013届C语言程序设计实训题目.doc
  19. 启动kafka报错 count not reserve enough space for 1048576KB object heap
  20. 北京法院京牌小客车司法处置数据统计(Pandas)

热门文章

  1. 学好数学建模,走哪买菜都不怕!
  2. 姑娘,你为什么要编程?
  3. nginx php oracle,第8天 ORACLE安装及NGINX整合PHP环境
  4. 如何用Java讲一句话重复五遍_Java 0515 第二次课作业
  5. vb6 由于超出容量限制 不能创建新事务_分布式限流?你也能轻松玩转(没啥新技术)...
  6. c++歌手大赛系统_计人即讯|第十届程序设计大赛
  7. ironpython3发布时间_.NET 基金会项目介绍-DLR/IronPython2/IronPython3
  8. typora公式zuo对齐_Markdown编辑神器-Typora
  9. mysql 备份配置文件_mySQL配置文件、备份与恢复
  10. jsp中为什么在跳转500页面的时候 图片加载不出来