欢迎光临散文网 会员登陆 & 注册

CF竞赛题目讲解_CF1749D(初等数论 + 构造素数列表)

2022-11-03 14:17 作者:Clayton_Zhou  | 我要投稿

AC代码

https://codeforces.com/contest/1749/submission/179012179

题意:

考虑一个长度为n的数组a,其元素编号为1到n。如果gcd(bi,i)=1,则可以删除a的第i个元素,

其中gcd表示最大公约数。删除元素后,右侧的元素将向左移动一个位置。

具有n个整数的数组b,1≤bi≤n−i+1是数组a的移除序列,如果可以移除a的所有元素。

如果移除第b1个元素,那么移除第b2个元素,…,然后移除第bn个元素。

例如,设a=[42,314]:[1,1]是一个移除序列:当移除数组的第1个元素时,条件gcd(42,1)=1成立,数组变为[314];

再次删除第1个元素时,条件gcd(314,1)=1成立,数组变为空。

[2,1]不是删除序列:当您尝试删除第2个元素时,条件gcd(314,2)=1为假。


如果一个数组至少有两个删除序列,则它是模糊的。例如,数组[1,2,5]是模糊的:

它有移除序列[3,1,1]和[1,2,1]。数组[42,314]并不模糊:它唯一的移除序列是[1,1]。


给你两个整数n和m。你需要计算模糊数组a的数量,使得a的长度从1到n,每个ai都是从1到m的整数。



题解:

初等数论 + 构造素数列表



CF竞赛题目讲解_CF1749D(初等数论 + 构造素数列表)的评论 (共 条)

分享到微博请遵守国家法律