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

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";
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/315433.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HAProxy 2.0发布,长期支持版本

HAProxy 2.0 发布了。HAProxy 是一个使用 C 语言编写的自由及开源软件&#xff0c;其提供高可用性、负载均衡以及基于 TCP 和 HTTP 应用的代理&#xff0c;支持虚拟主机&#xff0c;它是免费、快速并且可靠的 Web 负载均衡解决方案。包括 GitHub、Bitbucket、Stack Overflow、R…

Codeforces Round #651 (Div. 2) D

D. Odd-Even Subsequence 题目大意&#xff1a;在a数组中 保留k个数字&#xff0c;如何代价最小的多少。 代价的算法 具体看题意&#xff1a;就是k数组中 min{max{奇数下标}&#xff0c;max{偶数下标}} 解题思路&#xff1a;贪心加二分&#xff0c;二分全部的答案&#xff08…

CF1042E Vasya and Magic Matrix 期望dp + 推公式

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 思路&#xff1a; 将矩阵中的数放到数组里排序&#xff0c;就是一个比较明显的期望dpdpdp了。 定义f[i]f[i]f[i]表示从第iii个出发的期望得分&#xff0c;所以转移方程也比较好写了&#xff1a;f[i]∑(f[j](…

C#并发编程之异步编程(一)

写在前面C#5.0中&#xff0c;对异步编程进行了一次革命性的重构&#xff0c;引入了async和await这两个关键字&#xff0c;使得开发人员在不需要深刻了解异步编程的底层原理&#xff0c;就可以写出十分优美而又代码量极少的代码。如果使用得当&#xff0c;你可以写出具有并行化并…

简单思维dp-- Gym - 102392B

Gym - 102392B点 题意&#xff1a;Steve想要在游戏中升到 两级&#xff0c;给你s1和s2 分别为1级需要的经验和二级需要的经验&#xff0c;然后给你n给任务&#xff0c;任务在1级前和在1级后的经验不同&#xff0c;完成的时间也不同&#xff0c;在刚刚升1级时&#xff0c;所溢出…

P4316 绿豆蛙的归宿 期望dp + DAG

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 思路&#xff1a; 首先要发现这是一个DAGDAGDAG图&#xff0c;让后我们可以用拓扑在图上跑期望dpdpdp。 定义f[i]f[i]f[i]表示iii到nnn的期望路径长度&#xff0c;知道终止状态f[n]0f[n]0f[n]0&#xff0c;所…

程序员修神之路--高并发下如何缩短响应时间

点击上方“蓝字”带你去看小星星菜菜哥&#xff0c;请你看电影呀&#xff0c;但是得帮我一个忙好呀&#xff0c;看什么&#xff1f;哥斯拉2&#xff1a;怪兽之王看过了~X战警&#xff1a;黑凤凰看过了追龙2和黑衣人呢&#xff1f;都看过了&#xff0c;你说帮什么忙吧我一个网站…

URAL - 1732 Ministry of Truth--kmp算法的应用(kmp模板)

题目大意&#xff1a;首先给你第一串字符串&#xff08;s1&#xff09;&#xff0c;让你删到一些字母&#xff0c;变成下面的字符串(s2)&#xff0c;删除的字母会变成字符‘_’; 思路&#xff1a;用kmp算法让s1每一个单词在s1上匹配&#xff0c;从前面开始找&#xff0c;记得匹…

AtCoder Beginner Contest 194 E - Mex Min 思维

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 给你个长度为nnn的数组&#xff0c;让后一个mmm&#xff0c;问对于所有的0<i<n−m0<i<n-m0<i<n−m&#xff0c;求min(mex(Ai1,...,Ai2,AiM))min(mex(A_{i1},...,A_{i2},A_{iM}))min(mex(A…

从SQL Server到多数据库,微软数据库迁移全攻略

据了解&#xff0c;截止到 2022&#xff0c;云迁移市场规模将达到 1290 亿美元&#xff0c;云迁移服务市场的利润率达 26.7%。数据库作为企业迁移上云的关键环节&#xff0c;自然成为了各大云厂商关注的重点&#xff0c;除了提供各种各样的云端数据库&#xff0c;迁移服务也是云…

Gym - 100952H--H. Special Palindrome--dp整数划分(模板)

题目地址 A sequence of positive and non-zero integers called palindromic if it can be read the same forward and backward, for example: 15 2 6 4 6 2 15 20 3 1 1 3 20 We have a special kind of palindromic sequences, let’s call it a special palindrome. A…

AtCoder Beginner Contest 194 F - Digits Paradise in Hexadecimal 数位dp

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 给一个161616进制的串NNN&#xff0c;让你求1−N1-N1−N中有多少个数有kkk个不同的数且没有前导零。 思路&#xff1a; NNN很大&#xff0c;有2e52e52e5了&#xff0c;那么就比较明显是个数位dpdpdp了。首先…

C#并发编程之异步编程(二)

写在前面前面一篇文章介绍了异步编程的基本内容&#xff0c;同时也简要说明了async和await的一些用法。本篇文章将对async和await这两个关键字进行深入探讨&#xff0c;研究其中的运行机制&#xff0c;实现编码效率与运行效率的提升。异步方法描述&#xff1a;使用async修饰符来…

2020牛客暑期多校训练营(第四场)H.Harder Gcd Problem(把1到n分为不互质的数对,找最多的对数)

题目大意&#xff1a;把1到n分为不互质的数对&#xff0c;找最多的对数 思路&#xff1a;先从最大的质因数开始找&#xff0c;因为小的比大的更容易匹配&#xff0c;所以贪心的从大的开始找。 首先要预处理出所以数的最大质因数。 然后根据质因数从大往小找&#xff0c;当质因…

Palindromic Numbers LightOJ - 1205 数位dp 求回文数

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 求[l,r][l,r][l,r]中有多少个回文数。 思路&#xff1a; 裸的数位dpdpdp啦&#xff0c;记dp[pos][pre][state]dp[pos][pre][state]dp[pos][pre][state]表示到了第pospospos位&#xff0c;回文是从第prepre…

C#规范整理·语言要素

如有不理解&#xff0c;请留言&#xff0c;开始!1. 正确操作字符串拼接字符串一定要考虑使用 StringBuilder ,默认长度为16,实际看情况设置。StringBuilder本质&#xff1a; 是以非托管方式分配内存。同时StringFormat方法 内部也是使用StringBuilder进行字符串格式化。2. 使用…

Educational Codeforces Round 94 (Rated for Div. 2) D(思维)

题目&#xff1a; You are given an array a1,a2…an. Calculate the number of tuples (i,j,k,l) such that: 1≤i<j<k<l≤n; aiak and ajal; Input The first line contains a single integer t (1≤t≤100) — the number of test cases. The first line of each…

2019 ICPC Asia Nanchang Regional K.Tree 树上启发式合并 + 动态开点线段树

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 给你一棵树&#xff0c;每个点都有一个权值valvalval&#xff0c;求满足以下条件 (1)x!yx!yx!y (2)xxx和yyy不互为祖先 (3)val[lca(x,y)]∗2val[x]val[y]val[lca(x,y)]*2val[x]val[y]val[lca(x,y)]∗2val[x]…

NetCore服务虚拟化01(集群组件Sodao.Core.Grpc)

一. 起始去年.NetCore2.0的发布&#xff0c;公司决定新项目采用.NetCore开发&#xff0c;当作试验。但是问题在于当前公司内部使用的RPC服务为Thrift v0.9 zookeeper版本&#xff0c;经过个性化定制&#xff0c;支持了异步&#xff0c;但也因为如此&#xff0c;这么多年来一直…

2019 ICPC Asia Nanchang Regional And and Pair 组合数学

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 给一个长度为nnn的二进制&#xff0c;求满足如下条件的j,ij,ij,i对数&#xff1a; (1)0<j<i<n(1)0<j<i<n(1)0<j<i<n (2)i&ni(2)i\And ni(2)i&ni (3)i&j0(3)i\And j0…