Even-Odd Increments
Even-Odd Increments
题目大意:给定一个长度为 的数列,有 次操作,每次对数列中的奇偶数进行操作,问每次执行完操作后数列的总和。
如果一一遍历去修改的话,时间是 会超时。
但是,他只对数列中的奇数或偶数进行加和,我们只要统计出奇数和偶数的个数,加和就是他们的个数乘上这个加上的数就是现阶段的贡献。
但是,把一个数加上某个数,这个数的奇偶性就会发生变化。
如果当前的数是偶数,加上的数是奇数的话,这个数就变成奇数,那么所有的偶数变成奇数,奇数的个数就是 ,偶数就是 。
奇数的如上所示,是一样的。
最后记得要统计初始的贡献。
#include<bits/stdc++.h>
using namespace std;
const int N =1e6+10;
#define int long long
signed main()
{
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
int t;
cin>>t;
while(t--)
{
int n,q,sum=0,ans=0,ans1=0;
cin>>n>>q;
for(int i=1,x;i<=n;i++)
{
cin>>x,sum+=x;
if(x%2==0)
ans++;
else
ans1++;
}
while(q--)
{
int opt,s;
cin>>opt>>s;
if(opt==0)
{
sum+=ans*s,cout<<sum<<endl;
if(s%2!=0)
ans1=n,ans=0;
}
else
{
sum+=ans1*s,cout<<sum<<endl;
if(s%2!=0)
ans1=0,ans=n;
}
}
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现