Acwing第 6 场周赛未完结
Posted 辉小歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Acwing第 6 场周赛未完结相关的知识,希望对你有一定的参考价值。
3733. 去掉一个元素 【难度: 简单 / 知识点: 思维】
#include<bits/stdc++.h>
using namespace std;
int a[105],n;
int main(void)
{
cin>>n;
int sum=0;
int cnt=0;
for(int i=0;i<n;i++) cin>>a[i],sum+=a[i];
for(int i=0;i<n;i++) if((sum-a[i])%2==0) cnt++;
cout<<cnt<<endl;
return 0;
}
3734. 求和 【难度: 一般 / 知识点: 打表 DFS】
r的最大值是1e9 故最大的数就是4444444444。我们用dfs打表只打到十位即可。
然后枚举每一个区间求和即可。
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
vector<LL>ve;
void dfs(int u,LL x)
{
ve.push_back(x);
if(u==10) return;
dfs(u+1,x*10+4);
dfs(u+1,x*10+7);
}
int main(void)
{
dfs(0,0);//预处理
sort(ve.begin(),ve.end());
LL l,r; cin>>l>>r;
LL res=0;
for(int i=1;i<ve.size();i++)//枚举每一个区间
{
LL a=ve[i-1]+1,b=ve[i];
res+=ve[i]*max(0ll,min(r,b)-max(l,a)+1);
}
cout<<res;
return 0;
}
以上是关于Acwing第 6 场周赛未完结的主要内容,如果未能解决你的问题,请参考以下文章