- 浏览: 377221 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
wsyzyrxp:
非常感谢 兄弟 帮了我大忙
[opengl]弹簧质点法模拟柔性布料以及椭球碰撞的opengl实现 -
mingdry0304:
[opengl]彩色立方体旋转 -
tyfengyu:
我刚刚更改的代码加上了标准差stdVal,故recoMat应该 ...
[python]用python实现的pca算法 -
tyfengyu:
python的pca代码有2处错误:1.finalData = ...
[python]用python实现的pca算法 -
暴风雪:
McFlurry 写道前排(凑字数)!擦你怎么摸来这里的
诈尸总结
/* ID:123ldss2 PROG: castle LANG: C++ */ #include<cstring> #include<fstream> #include<cstdio> using namespace std; const int nMax=100005; int father[nMax],rank[nMax],N,M,num[nMax],sum; //rank近似树的高度。 ifstream fin("castle.in"); ofstream fout("castle.out"); int find(int x){ // 寻找父节点 if(x!=father[x]) return father[x]=find(father[x]); return x; } void unite(int a,int b){ // cout<<a<<" unio "<<b<<endl; int x=find(a); int y=find(b); if(x==y) return ; else{ if(rank[x]>rank[y]){ father[y]=x; num[x]+=num[y]; } else if(rank[x]<rank[y]){ father[x]=y; num[y]+=num[x]; } else{ father[x]=y; num[y]+=num[x]; rank[y]++; } } } void set(){ // 初始化 int i; for(i=0; i<nMax-1; i++){ father[i]=i; rank[i]=0; num[i]=1; } //n=0; } int map[100][100]; bool vis[nMax]; int main(){ int n,m,i,j,ans1,a,b; // freopen ( "castle.in", "r", stdin ); // freopen ( "castle.out", "w", stdout ); while(fin>>m>>n){//scanf("%d%d",&m,&n)!=EOF set(); sum=0; memset(vis,0,sizeof(vis)); for(i=1;i<=n;i++){ for(j=1;j<=m;j++){ //scanf("%d",&map[i][j]); fin>>map[i][j]; if((map[i][j]&1)==0){ unite((i-1)*m+j,(i-1)*m+j-1); } if((map[i][j]&2)==0){ unite((i-1)*m+j,(i-2)*m+j); } if((map[i][j]&4)==0){ unite((i-1)*m+j,(i-1)*m+j+1); } if((map[i][j]&8)==0){ unite((i-1)*m+j,(i)*m+j); } } } ans1=0; for(i=1;i<=n*m;i++){ j=find(i); // cout<<"num"<<num[find(i)]<<endl; ans1=max(ans1,num[find(i)]); if(vis[j]==0){ vis[j]=1; sum++; } } fout<<sum<<endl; fout<<ans1<<endl; int xxx,yyy; ans1=0; char cha; for(j=1;j<=m;j++) { for(i=n;i>=1;i--) { a=(i-1)*m+j; a=find(a); if(i!=1) { b=(i-2)*m+j; b=find(b); if(a!=b&&ans1<num[a]+num[b]) { ans1=num[a]+num[b]; xxx=j; yyy=i; cha='N'; } } if(j!=m) { b=(i-1)*m+j+1; b=find(b); if(a!=b&&ans1<num[a]+num[b]) { ans1=num[a]+num[b]; xxx=j; yyy=i; cha='E'; } } } } fout<<ans1<<endl; fout<<yyy<<" "<<xxx<<" "<<cha<<endl; } return 0; }
/*
ID: bbezxcy1 PROG: frac1 LANG: C++ */ #include<iostream> #include<cstring> #include<fstream> #include<algorithm> #include<cstdio> using namespace std; ifstream fin("frac1.in"); ofstream fout("frac1.out"); int play(int a, int b){ int c,d,e; d=a;e=b; do{c=a%b;a=b;b=c;}while(c!=0); return a; } class fuck { public: int a,b; }sum[1000000]; bool cmp(fuck x,fuck y) { if(x.a*y.b>x.b*y.a) { return 0; } return 1; } int cnt; int main() { int n,m,i,k,j,a,b,c; while(fin>>n) { for(i=2;i<=n;i++) { for(j=1;j<i;j++) { // cout<<j<<" "<<i<<" "<<play(i,j)<<endl; if(play(i,j)==1) { sum[cnt].a=j; sum[cnt++].b=i; } } } sort(sum,sum+cnt,cmp); fout<<"0/1\n"; for(i=0;i<cnt;i++) { fout<<sum[i].a<<"/"<<sum[i].b<<endl; } fout<<"1/1\n"; } return 0; }
/*
ID:123ldss2 PROG: sort3 LANG: C++ */ #include<iostream> #include<cstring> #include<cstdio> #include<fstream> #include<cmath> using namespace std; const int nMax=2000; const int mMax=300000; const int inf=1<<30; ifstream fin("sort3.in"); ofstream fout("sort3.out"); int num[1003],check[1003],aaa[4],bbb[4],map[10][10]; int main(){ int n,i,j,k,a,b,c; while(fin>>n) { memset(aaa,0,sizeof(aaa)); memset(bbb,0,sizeof(bbb)); memset(map,0,sizeof(map)); for(i=1;i<=n;i++) { fin>>num[i]; aaa[num[i]]++; } k=1; for(j=1;j<=3;j++) { for(i=1;i<=aaa[j];i++) { check[k++]=j; } } for(i=1;i<=n;i++) { if(num[i]!=check[i]) { map[num[i]][check[i]]++; // map[check[i]][num[i]]++; bbb[num[i]]++; } } int ans=0; b=0; // for(i=1;i<=3;i++) // { // for(j=1;j<=3;j++) // { // cout<<map[i][j]<<" "; // }cout<<endl; // } for(i=1;i<=3;i++) { for(j=1;j<=3;j++) { if(i==j)continue; if(map[i][j]&&map[j][i]) { a=min(map[i][j],map[j][i]); ans+=a; map[i][j]-=a; map[j][i]-=a; } b+=map[i][j]; // cout<<map[i][j]<<" "; }//cout<<endl; } ans+=(b/3*2); fout<<ans<<endl; } return 0; }
/*
ID: bbezxcy1 PROG: holstein LANG: C++ */ #include<iostream> #include<cstring> #include<fstream> #include<cstdio> using namespace std; int need[2000],n,m,res[30],ans; int madc[30][2000]; int have[1000]; int vis[30]; ifstream fin("holstein.in"); ofstream fout("holstein.out"); bool check(){ for(int i=0;i<n;i++){ if(have[i]<need[i]){ return 0; } } return 1; } void dfs(int pos,int dep){ int i,j; if(dep>=ans||pos>m){ return; } if(check()){ if(dep<ans){ // cout<<"dwad "<<dep; ans=dep; for(i=0;i<=m;i++){ // cout<<" "<<vis[i]; res[i]=vis[i]; } } } for(i=pos+1;i<=m;i++){ vis[i]=1; for(j=0;j<n;j++){ have[j]+=madc[i][j]; } dfs(i,dep+1); for(j=0;j<n;j++){ have[j]-=madc[i][j]; } vis[i]=0; } } int main(){ int i,j; // freopen("namenum.in","r",stdin ); while(fin>>n){ ans=1<<30; for(i=0;i<n;i++){ fin>>need[i]; } fin>>m; for(i=1;i<=m;i++){ for(j=0;j<n;j++){ fin>>madc[i][j]; } } memset(vis,0,sizeof(vis)); memset(res,0,sizeof(res)); memset(have,0,sizeof(have)); dfs(0,0); fout<<ans; int b=0; for(i=0;i<=m;i++) { if(res[i]) { fout<<" "<<i; // if(b)cout<<" "; // cout<<i; // b=1; } }fout<<endl; } return 0; }
/*
ID:bbezxcy1 PROG: hamming LANG: C++ */ #include<iostream> #include<fstream> #include<cstring> #include<cstdio> using namespace std; int n,b,d; int ans1[100]; int getdis(int a,int bs){ int aaa[50],bbb[50]; memset(aaa,0,sizeof(aaa)); memset(bbb,0,sizeof(bbb)); int ccc=0,ddd=0; while(a){ aaa[ccc]=a%2; a/=2; ccc++; } while(bs){ bbb[ddd]=bs%2; bs/=2; ddd++; } ddd=0; for(int i=0;i<b;i++){ if(aaa[i]!=bbb[i]){ ddd++; } } return ddd; } bool flag; void dfs(int dep,int pre){ int i; if(dep>=2){ for(i=1;i<dep;i++){ if(getdis(ans1[i],ans1[dep])<d){ return; } } } if(dep==n){ flag=0; } for(i=pre+1;i<1<<b;i++){ ans1[dep+1]=i; dfs(dep+1,i); if(!flag){ return; } } } ifstream fin("hamming.in"); ofstream fout("hamming.out"); int main(){ int i,j,k,a,c; // while(cin>>a>>c>>b) // { // cout<<getdis(a,c)<<endl; // } while(fin>>n>>b>>d){ flag=1; dfs(0,-1); k=1; for(i=1;i<=n;i++){ k++; if(k>10) { fout<<ans1[i]<<endl; k=1; } else { if(i==n) { fout<<ans1[i]<<endl; } else{ fout<<ans1[i]<<" "; } } } } return 0; }
发表评论
-
[树状数组]poj 2299
2014-12-13 20:58 1872题意 求一列数字的逆序数。 思路 ... -
[树状数组]hdoj 1166
2014-12-12 01:21 2题意 http://acm.hdu.edu.cn/ ... -
[树状数组]hdoj 1166
2014-12-12 01:21 846题意 http://acm.hdu.edu.cn/ ... -
[离散化+线段树]poj2528
2014-12-01 23:16 579题意 给出每个海报的位置,问最后没有被完全覆盖 ... -
[线段树区间合并]poj 3667
2014-12-01 11:45 749i题意 和poj1823差不多,加了一个查 ... -
[线段树区间更新]poj 1823
2014-12-01 02:56 847题意 一个旅馆有n个房间,有m次操作,每次操作可 ... -
[线段树]poj 3368
2014-11-29 07:58 694题意 给出一串数字,有m次询问,每次询问[ab ... -
[线段树成段更新]poj 2777
2014-11-28 01:33 1086题意: 一段区间从1-n的初始颜色为1,每 ... -
[线段树]poj 2182
2014-11-27 23:13 576题意: n头牛站队,每头牛都有一个属于[ ... -
[线段树]poj 3264
2014-11-27 21:57 465题意 给出一串数字,m个询问,对于每次询问求出 ... -
[线段树成段更新]hdoj 1698
2014-11-27 21:00 683题意: 对一个线段上的值进行修改,一次可以把[i, ... -
[线段树成段更新]poj 3468
2014-11-27 12:43 660题意: 给出一串n个数,每次操作分为两种,分 ... -
[线段树]poj 2828
2014-11-26 22:02 685题意 n个人插队,每次某个人都会选择插入第i个 ... -
[线段树]hdoj 2795
2014-11-25 20:33 830题意:一个高h宽w的二维空间,每次放进去一个高为1,宽为a的 ... -
[线段树]hdoj 1394
2014-11-24 22:40 891题意 给出一列n个数字,每一个数字都和其他 ... -
[后缀数组]acdream 1430
2014-10-16 14:08 500大致题意: 求出一个字符串(len<=1 ... -
[KMP+乱搞]hdoj 4749
2014-10-11 15:22 739大致题意: 求文本串中最多能选出多少子串,使得这 ... -
[KMP]hdoj 4763
2014-10-10 11:39 655题意: 给出一个字符串,问是否存在这样的子串E使得 ... -
[后缀数组][二分]hdu 5008
2014-09-27 10:10 973大致题意: 给出一个长度小于100000的字符串 ... -
[线段树,单点更新]hdoj 1754:I Hate It
2012-10-21 21:33 1222大致题意: 给出一个数组,在线更新点的值,查询区 ...
相关推荐
usaco 3到6章讲解
usaco section2.3--section5.5源程序。。。。。。。。。。。。。。。。
usaco测试数据+标程 usaco的section1到section5的所有测试数据 以及标准程序
2 Chapter2 2.1 Section 2.1 2.2 Section 2.2 2.3 Section 2.3 2.4 Section 2.4 3 Chapter3 3.1 Section 3.1 3.2 Section 3.2 3.3 Section 3.3 3.4 Section 3.4 4 Chapter4 4.1 Section 4.1 4.2 Section 4.2 4.3 ...
pku acm上的一系列usaco题目都可以在这里找到测试数据以及源代码,不过题目的名字和pku上有得有点出入,需要自己去比较一下,2002年
pku acm上的一系列usaco题目都可以在这里找到测试数据以及源代码,不过题目的名字和pku上有得有点出入,需要自己去比较一下,2001年
USACO题目,Greedy Gift Givers
此c++代码实现了USACO上Bessie Come Home的问题,并运用了弗洛伊德算法
此C++程序是实现了USACO网站上的Magic Squares的问题。
资源包包括USACO 2001-2007年月赛的测试数据;usaco月赛十年题典(2000-2009),usaco月赛2002-2008题解。单独下载需资源分30分以上。为了方便编程爱好者,我这边统一下载打包。欢迎下载。
这是USACO2001-2007月赛全集。 usaco是美国中学生的官方竞赛网站。是美国著名在线题库,专门为信息学竞赛选手准备。推荐直接阅读英语原文,既准确可靠又可提高英语水平。做题方式模拟正式比赛,采用标准测评机、文件...
Notes-USACO-2021-弹簧
USACO chapter two.Useful for beginners.
usaco 2010-2011 nov news,喜欢usaco的朋友可以看看
USACO chapter one.May hope it useful to someone
我的USACO题解和程序
USACO培训网站 我为章节解决方案。 每个文件的多行USACO标识信息注释 第1章全部的解决方案 第2章全部的解决方案
Java中的USACO金问题 YYMM 姓名 文件夹 笔记 代码 1812 美食 1812 牛适应性 1812 团队合作
USACO培训页面美国计算机奥林匹克训练页2015年6月17日开始
丰富的USACO1.1--2.3.4的所有题解