ABC 272 E Add and Mex(调和级数 暴力)
E Add and Mex(调和级数 暴力)
题意:
给出一个长度为n
思路:
因为只有n个数,那么这个最小非负整数一定小于
实现:
const int N = 200005;
int n, m;
int a[N];
vector<int> flag[N];
int main()
{
cin >> n >> m;
for (int i = 1; i <= n; i++)
cin >> a[i];
for (int i = 1; i <= n; i++)
{
if(a[i] > n) continue;
int st;
if(a[i] < 0)
st = (abs(a[i]) / i);
else
st = 1;
for(int j = st; j <= m; j ++)
{
if(a[i] + j * i < 0) continue;
if(a[i] + j * i > n) break;
flag[j].push_back(a[i] + j * i);
}
}
for (int i = 1; i <= m; i++)
{
vector<bool> vis(N, 0);
for(auto x : flag[i])
if(x < N)
vis[x] = 1;
int res = 0;
while(vis[res])
res ++;
cout << res << '\n';
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】