5.1 training 2 (5.1) 总结
来源:互联网 发布:普利策数据新闻奖 编辑:程序博客网 时间:2024/05/16 01:35
2010年全国大学生程序设计邀请赛(福州)
FZU 1909
#include <iostream>#include <cstdio>using namespace std;int a[4];int main(){ //freopen("/home/moor/Code/input.txt","r",stdin); int ncase; scanf("%d",&ncase); for(int h=1;h<=ncase;++h) { bool flag=0; int sum=0; for(int i=0;i<4;++i) scanf("%d",&a[i]),sum+=a[i]; for(int i=0;i<4;++i) for(int j=i+1;j<4;++j) if((a[i]+a[j])*2==sum) flag=1; printf("Case %d: %s\n",h,flag?"Yes":"No"); }}
E水题0:08:28 1Y
#include <iostream>#include <cstdio>#include <algorithm>#include <string>using namespace std;int a[4];int main(){ //freopen("/home/moor/Code/input.txt","r",stdin); int ncase,len; string a,b; scanf("%d",&ncase); for(int h=1;h<=ncase;++h) { int ans = 0; cin>>len>>a; b = a; sort(b.begin(),b.end()); for(int i = 0; i < len; i++) if(a[i]!=b[i]) ans++; printf("Case %d: %d\n",h,ans); }}
#include <iostream>#include <cstdio>#include <algorithm>#include <string>#include <cstring>#define MAXN 500010using namespace std;int a[MAXN];bool vi[MAXN];int main(){ //freopen("/home/moor/Code/input.txt","r",stdin); int ncase,n,ans; long long prev; scanf("%d",&ncase); for(int h=1;h<=ncase;++h) { bool flag=0,f3; scanf("%d",&n); for(int i=0;i<n;++i) scanf("%d",&a[i]),flag|=(a[i]<0); for(int i=0;i<n;++i) vi[i]=1; ans=0; f3=0; for(int i=n-1,j;flag;) { prev=0; j=i; while(1) { prev+=a[j]; if(prev>0) break; else if(vi[j]) vi[j]=0,f3=0; --j; if(j<0) j=n-1; } i=j; while(a[i]>0||!vi[i]) { --i; if(i<0) { if(f3) { flag=0; break; } else f3=1; i=n-1; } } } for(int i=0;i<n;++i) ans+=(vi[i]>0); printf("Case %d: %d\n",h,ans); }}
Moor和hq看L,配合的还是不错的
#include <iostream>#include <cstdio>#include <algorithm>#include <string>#include <queue>#include <cstring>#define MAXN 110#define MP(x,y) make_pair((x),(y))#define FI first#define SE secondusing namespace std;const int dir[8][2]={{0,1},{1,0},{-1,0},{0,-1},{1,1},{-1,1},{1,-1},{-1,-1}};char ma[MAXN][MAXN];void bfs(int x,int y){ queue<pair<int,int> >que; que.push(MP(x,y)); while(que.size()) { x=que.front().FI,y=que.front().SE; que.pop(); if(ma[x][y]!='0') { ma[x][y]='*'; continue; } ma[x][y]='*'; for(int i=0;i<8;++i) que.push(MP(x+dir[i][0],y+dir[i][1])); }}int main(){ //freopen("/home/moor/Code/input.txt","r",stdin); int ncase,n,ans; scanf("%d",&ncase); for(int h=1;h<=ncase;++h) { scanf("%d",&n); memset(ma,0,sizeof(ma)); for(int i=1;i<=n;++i) scanf("%s",&ma[i][1]); ans=0; for(int i=1;i<=n;++i) for(int j=1;j<=n;++j) if(ma[i][j]=='0') bfs(i,j),++ans; for(int i=1;i<=n;++i) for(int j=1;j<=n;++j) if(ma[i][j]>='1'&&ma[i][j]<='8') ++ans; printf("Case %d: %d\n",h,ans); }}
感觉这种构造题比较像CF的风格(比赛上厕所很重要的!)
#include <iostream>#include <cstdio>#include <algorithm>#include <string>#include <cstring>#include <cmath>#define MAXN 2000010#define EPS 1e-6#define MP(x,y) make_pair((x),(y))#define FI first#define SE secondusing namespace std;void mul(int a[2][2],int b[2][2],int mod){ int tmp[2][2]={{0}}; for(int i=0;i<2;++i) for(int j=0;j<2;++j) for(int k=0;k<2;++k) tmp[i][j]=(tmp[i][j]+a[i][k]*b[k][j])%mod; for(int i=0;i<2;++i) for(int j=0;j<2;++j) a[i][j]=tmp[i][j];}void exp_mod(int ans[2][2],int p,int mod){ int a[2][2]={{0}}; a[0][0]=a[0][1]=a[1][0]=1; for(int i=0;i<2;++i) for(int j=0;j<2;++j) ans[i][j]=0; ans[0][0]=ans[1][1]=1; while(p) { if(p&1) mul(ans,a,mod); p>>=1; mul(a,a,mod); }}int main(){ //freopen("/home/moor/Code/input.txt","r",stdin); int ncase,n, m; scanf("%d",&ncase); for(int h=1;h<=ncase;++h) { scanf("%d %d", &n, &m); int tmpm[2][2]={{0}},tmp2[2][2]; tmpm[0][0]=tmpm[1][0]=1; exp_mod(tmp2,n,m); mul(tmp2,tmpm,m); int l=(tmp2[0][0]-1+m)%m; printf("Case %d: ",h); if (l%2==0&&l!=0) { printf("Yes\n"); for (int i=1; i<=l/2; i++) { printf("-1"); for (int j=2; j<=l-i+1; j++) printf(" -1"); for (int j=l-i+2 ;j<=l; j++) printf(" 0"); printf("\n"); } for (int i=1; i<=l/2; i++) { printf("0"); for (int j=2; j<=l/2-i+1; j++) printf(" 0"); for (int j=l/2-i+2; j<=l; j++) printf(" 1"); printf("\n"); } } else printf("No\n"); } return 0;}
K数学题+JAVA题
算k路归并排序的最坏时间式子写出来不难,难的是JAVA,我们要准备一本人民群众喜闻乐见的JAVA用书
先T了一炮是因为没用map(其实明明知道会T的,只是想刷刷存在感)
import java.text.Bidi;import java.util.*;import java.math.*;import java.io.*;public class Main {//int[] num = new int[500];static int cas,m;static BigInteger n,a;static TreeMap<BigInteger, BigInteger> ma=new TreeMap<BigInteger, BigInteger>();public static BigInteger solve(BigInteger x){if(ma.get(x)!=null)return ma.get(x);if(a.compareTo(x)>=0){BigInteger tmp=x;x=x.subtract(BigInteger.ONE).multiply(x).divide(BigInteger.valueOf(2));ma.put(tmp, x);return x;}else{BigInteger tmp = BigInteger.ZERO;if(x.mod(a).compareTo(BigInteger.ZERO)!=0)tmp=tmp.add(x.mod(a).multiply(solve(x.divide(a).add(BigInteger.ONE))));tmp=tmp.add(a.subtract(x.mod(a)).multiply(solve(x.divide(a))));tmp=tmp.add(x.mod(a).multiply(a.subtract(BigInteger.ONE)));tmp=tmp.add(a.subtract(BigInteger.ONE).multiply(x.divide(a).subtract(BigInteger.ONE)).multiply(a));tmp=tmp.add(BigInteger.valueOf(m*(m-1)/2));ma.put(x,tmp);return tmp;}} public static void main(String[] args){ Scanner cin = new Scanner (new BufferedInputStream(System.in)); cas = cin.nextInt(); for(int ca = 1; ca<=cas; ca++) { n = cin.nextBigInteger(); m = cin.nextInt(); a = BigInteger.valueOf(m); ma.clear(); System.out.printf("Case %d: ",ca); System.out.println(solve(n)); } }}
/*赛后过的题*/
然后就没有然后了,赛后曹家浩他们队好像过了
- 5.1 training 2 (5.1) 总结
- 5.1 training 1 (4.29) 总结
- Tri_integral Summer Training 2 总结
- BUPT training (5.5) 总结
- BUPT Summer Training 2(2013长沙邀请赛) 7.05 总结
- 5.1 TRAINING AND TESTING
- UESTC Training for Search Algorithm(总结)
- USACO Training第一章总结
- 【比赛总结】2014 Multi-University Training Contest 2
- Tri_integral Summer Training 4 总结(Hsinchu 2011)
- Wechall刷题(二) Training: MySQL I 总结
- usaco training 5.1.3 Musical Themes 题解
- BUPT Summer training 1 总结
- Tri_integral Summer Training 3 总结
- Tri_integral Summer Training 5 总结
- Tri_integral Summer Training 7 总结
- Tri_integral Summer Training 9 总结
- Tri_integral Summer Training 8 总结
- cocos2d-x (Android)之-那些常见的error记
- 问题排查中用到的工具及通用分析过程
- linux 测试 SPI 测试应用程序代码
- GitLab5.1 上传文件大小限制的修改
- Shell启动数据库服务
- 5.1 training 2 (5.1) 总结
- Ubuntu下gcc安装及使用
- 安卓开发的实用技巧 -----关于android:layout_gravity 不能完全居右
- ubuntu apt-get 安装的程序都装到哪里了?
- 我为什么要去实习?
- stm8 中i2c(iic)引脚的输出电平问题
- YUV420P格式解析
- <base target="_self">
- HttpSessionBindingListener使用介绍(在线人数)