Educational Codeforces Round 138 D Counting Arrays
Counting Arrays#
素数
有歧义的数组很难求,但是没有歧义的数组很好求
要使 到第一个位置之前都不能被删掉,则 到 的所有数字和 的 gcd
不等于
满足这样的条件,代表包含其 到 的所有素数因数即可,因此设 到 质数乘积为 ,不大于 的所有满足上述要求的数量为
注意 还是挺大的,要记得取模,不要直接乘了
#include <iostream>
#include <cstdio>
using namespace std;
typedef long long ll;
const ll mod = 998244353;
ll gcd(ll a, ll b)
{
return b == 0 ? a : gcd(b, a % b);
}
ll qpow(ll x, ll n)
{
ll ans = 1;
while(n)
{
if(n & 1) ans = ans * x % mod;
n >>= 1;
x = x * x % mod;
}
}
int main()
{
ll n, m;
cin >> n >> m;
ll ans = 0, p = 1, now = 1, tot = 0, snow = 1;
for(int i=1; i<=n; i++)
{
if(p <= m)
{
ll f = 1;
for(int j=1; j<i; j++)
f = max(f, gcd(j, i));
if(f == 1) p = p * gcd(p, i) * i;
}
ll k = m / p % mod;
now = now * k % mod;
ans = (ans + now) % mod;
snow = snow * (m % mod) % mod;
tot = (tot + snow) % mod;
}
ans = (tot - ans + mod) % mod;
cout << ans << endl;
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)