codeforces 441 div2
来源:互联网 发布:淘宝卖家售假申诉 编辑:程序博客网 时间:2024/05/21 17:26
居然连续两天有比赛,这不是要切一切。
a题:水题呀,不想解释,我貌似还写复杂了,其实就是给你一个三元环,有边权,让你在上面走n个点的最小代价。
#include<bits/stdc++.h>using namespace std;int n,a,b,c,mn,x;int ans,tmp;int f[5][5];int main(){ scanf("%d%d%d%d",&n,&a,&b,&c); f[1][2]=a,f[1][3]=b,f[2][3]=c; f[2][1]=a,f[3][1]=b,f[3][2]=c; tmp=1; for(int i=2;i<=n;i++) { mn=10000; for(int j=1;j<=3;j++) if(tmp!=j&&f[tmp][j]<mn)mn=f[tmp][j],x=j; ans+=f[tmp][x]; tmp=x; } cout<<ans; return 0;}
b题:n个数,选k个,让它们两两之差为m的倍数。
显然题目,就是统计一下,mod m 余数的个数。
#include<bits/stdc++.h>using namespace std;int n,k,m,ans,tot;int A[100005],cnt[100005];bool flg;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; return p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++;}inline int read(){ int x=0,b=1; char c=nc(); for(;!(c<='9'&&c>='0');c=nc())if(c=='-')b=-1; for(;c<='9'&&c>='0';c=nc())x=x*10+c-'0'; return x*b;}int main(){ //freopen("in.txt","r",stdin); n=read(),k=read(),m=read(); for(int i=1;i<=n;i++)A[i]=read(); for(int i=1;i<=n;i++)cnt[A[i]%m]++; for(int i=0;i<m;i++) if(cnt[i]>=k){ ans=i; flg=true; break; } if(!flg)return puts("No"),0; puts("Yes"); for(int i=1;i<=n;i++) { if(A[i]%m==ans&&tot<k){ cout<<A[i]<<" "; tot++; } } return 0;}
c题:求一个数加上各个数位和等于n的数的个数。
简简单单,枚举就好了,注意数的各个位的和最多为9*9=81,枚举100个数就好了。
#include<bits/stdc++.h>using namespace std;int n;int tot,ans[100005];inline bool check(int x){ int sum=x; while(x)sum+=x%10,x/=10; if(sum==n)return true; return false;}int main(){// freopen("in.txt","r",stdin); scanf("%d",&n); for(int i=max(0,n-100);i<=n;i++) if(check(i))ans[++tot]=i; cout<<tot<<endl; for(int i=1;i<=tot;i++) cout<<ans[i]<<endl; return 0;}
d题:一开始不太理解题意233。
在某初赛AK(逃 的dalao的帮助下读懂了题,再yy一下,貌似就是问与队尾不相邻的数有几个,记录个指针就好了。
#include<bits/stdc++.h>using namespace std;int n,ans,x,tmp,ed;int E[300005];int main(){ //freopen("in.txt","r",stdin); scanf("%d",&n); ed=n; ans=1;cout<<ans<<" "; for(int i=1;i<=n;i++) { //cout<<ed<<endl; scanf("%d",&x);E[x]=true; tmp=ed; while(E[tmp])tmp--; cout<<i+1-(n-tmp)<<" "; ed=tmp; } return 0;}
最终排名518,好菜呀。
其实做对5道+的人不超过150,剩下的就是手速与思维速度了(还有英语阅读速度。
不知能不能上1600(信仰)。。。。。
阅读全文
0 1
- codeforces 441 div2
- Codeforces Round #441 Div2
- codeforces Round #441 div2
- Codeforces #441 Div2 题解 (ABCDE)
- Codeforces #441 Div2 F. High Cry
- Codeforces Round #441 div2 C. Classroom Watch
- codeforces #78 div2 C
- codeforces 83div2
- 【codeforces #91 div2】
- codeforces 105 div2 A
- codeforces 105 div2 B
- CodeForces #120 DIV2
- Codeforces---125--div2--总结
- Codeforces-127-div2
- codeforces-div2-128
- codeforces-div2-134
- Codeforces 135 div2
- codeforces 137 div2
- Leetcode 3Sum 目前最快解法
- LightOJ 1245
- (M)DFS:207. Course Schedule
- windos平台anoconda下python安装mysql驱动出错
- 【方法】关于递推式的公式求法
- codeforces 441 div2
- 稀疏矩阵快速转置算法分析
- String 构造函数
- C#中error预处理命令的使用
- 以Point类为基础,定义一个平面中的Circle类: 1、编写一个无参的构造函数; 2、编写一个有参的构造函数; 3、在主函数中调用无参的构造函数生成圆的实例c1,调用有参的构造函数生成圆的实
- TEE normal world侧实现分析
- JavaScript设计模式--简单工厂模式
- Mapreduce中的GroupingComparator应用-查询订单最大金额
- Torque配置(转载,感谢羊神)