- 浏览: 388816 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
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 1910题意 求一列数字的逆序数。 思路 ... -
[树状数组]hdoj 1166
2014-12-12 01:21 2题意 http://acm.hdu.edu.cn/ ... -
[树状数组]hdoj 1166
2014-12-12 01:21 888题意 http://acm.hdu.edu.cn/ ... -
[离散化+线段树]poj2528
2014-12-01 23:16 614题意 给出每个海报的位置,问最后没有被完全覆盖 ... -
[线段树区间合并]poj 3667
2014-12-01 11:45 795i题意 和poj1823差不多,加了一个查 ... -
[线段树区间更新]poj 1823
2014-12-01 02:56 896题意 一个旅馆有n个房间,有m次操作,每次操作可 ... -
[线段树]poj 3368
2014-11-29 07:58 744题意 给出一串数字,有m次询问,每次询问[ab ... -
[线段树成段更新]poj 2777
2014-11-28 01:33 1128题意: 一段区间从1-n的初始颜色为1,每 ... -
[线段树]poj 2182
2014-11-27 23:13 611题意: n头牛站队,每头牛都有一个属于[ ... -
[线段树]poj 3264
2014-11-27 21:57 503题意 给出一串数字,m个询问,对于每次询问求出 ... -
[线段树成段更新]hdoj 1698
2014-11-27 21:00 722题意: 对一个线段上的值进行修改,一次可以把[i, ... -
[线段树成段更新]poj 3468
2014-11-27 12:43 704题意: 给出一串n个数,每次操作分为两种,分 ... -
[线段树]poj 2828
2014-11-26 22:02 726题意 n个人插队,每次某个人都会选择插入第i个 ... -
[线段树]hdoj 2795
2014-11-25 20:33 870题意:一个高h宽w的二维空间,每次放进去一个高为1,宽为a的 ... -
[线段树]hdoj 1394
2014-11-24 22:40 933题意 给出一列n个数字,每一个数字都和其他 ... -
[后缀数组]acdream 1430
2014-10-16 14:08 529大致题意: 求出一个字符串(len<=1 ... -
[KMP+乱搞]hdoj 4749
2014-10-11 15:22 779大致题意: 求文本串中最多能选出多少子串,使得这 ... -
[KMP]hdoj 4763
2014-10-10 11:39 696题意: 给出一个字符串,问是否存在这样的子串E使得 ... -
[后缀数组][二分]hdu 5008
2014-09-27 10:10 1021大致题意: 给出一个长度小于100000的字符串 ... -
[线段树,单点更新]hdoj 1754:I Hate It
2012-10-21 21:33 1297大致题意: 给出一个数组,在线更新点的值,查询区 ...
相关推荐
usaco 3到6章讲解
2. **算法设计**:USACO和ACM比赛强调高效的算法设计,通过解题可以学习到排序、搜索、图论、动态规划等多种算法。 3. **编程语言的应用**:比赛通常接受多种编程语言的解决方案,如C++、Java、Python等,学习如何...
这个压缩包文件包含的是USACO比赛section1到section5的测试数据和标准程序,这对于准备参加USACO竞赛或者想要提升自己编程技能的学生来说,是非常宝贵的资源。 section1至section5代表了USACO比赛的不同难度级别,...
《USACO历年试题——2002》 USACO,全称为USA Computing Olympiad,是美国计算机奥林匹克竞赛,旨在提升中学生的算法设计和编程能力。2002年的USACO试题集,是这一赛事历史上的一个重要部分,对于学习算法、准备ACM...
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 ...
【标题】USACO-Bessie-Come-Home.zip_Home Home 【正文】 这个压缩包文件中的内容是关于USACO(美国计算机奥林匹克)竞赛中一个名为"Bessie Come Home"的问题的C++解决方案。USACO是一个针对高中生的在线编程竞赛...
资源包包括USACO 2001-2007年月赛的测试数据;usaco月赛十年题典(2000-2009),usaco月赛2002-2008题解。单独下载需资源分30分以上。为了方便编程爱好者,我这边统一下载打包。欢迎下载。
《USACO魔法方阵:C++编程解析》 USACO(美国计算机奥林匹克)是一项旨在培养高中生计算机科学技能的竞赛。在这个问题中,我们关注的是“Magic Squares”,这是一个经典的数学概念,与C++编程相结合,构成了一个...
USACO(美国计算机奥林匹克竞赛)是一场针对高中生的在线编程比赛,旨在提升参赛者在算法、数据结构和编程方面的技能。源程序是参赛者解决问题的关键,通过编写代码来实现特定的功能或解决数学和逻辑问题。这个...
USACO(USA Computing Olympiad)是一项面向美国高中生的在线编程竞赛,旨在培养参赛者的算法设计和编程技能。在"Greedy Gift Givers"这个题目中,我们面对的是一个贪心算法的应用问题。贪心算法是一种解决问题的...
2. **USACO 十一月竞赛** - 2010 年 11 月 5 日至 8 日 3. **COCI** - 2010 年 11 月 13 日 (http://www.hsin.hr/coci/) 4. **USACO 十二月竞赛** - 2010 年 12 月 3 日至 6 日 5. **COCI** - 2010 年 12 月 11 日 ...
这是USACO2001-2007月赛全集。 usaco是美国中学生的官方竞赛网站。是美国著名在线题库,专门为信息学竞赛选手准备。推荐直接阅读英语原文,既准确可靠又可提高英语水平。做题方式模拟正式比赛,采用标准测评机、文件...
这个名为"USACO-Training-Website:我的USACO培训网站解决方案"的压缩包文件,显然包含了作者对USACO训练网站上部分或所有章节的练习题目的解答。这些解答可能以源代码的形式存在,每个文件顶部可能带有详细的USACO...
在这个“USACO-Training-Pages”压缩包中,我们可以期待找到与USACO竞赛相关的各种资料,尤其是针对Java语言的学习材料。Java作为一种广泛应用于计算机科学领域的面向对象的编程语言,因其强大的跨平台能力和简洁的...
"USACO-Chapter2.rar_beginners" 是针对USACO第二章内容的压缩包,特别适合编程新手入门。 在USACO的第二章,主要涉及基础的算法和数据结构,这对于构建扎实的编程基础至关重要。让我们逐一解析这个压缩包中的四个...
在这个“usaco-java-gold”主题中,我们将深入探讨Java在USACO黄金级别比赛中的应用,以及如何解决相关问题。 一、Java语言基础 1. 类与对象:Java是一种面向对象的语言,理解和熟练运用类和对象是解决USACO问题的...
本压缩包“Notes-USACO-2021-Spring”中的笔记主要聚焦于2021年春季训练营和比赛的知识点,对于想要深入学习算法和提升编程能力的爱好者来说,具有极高的学习价值。 笔记内容可能包括但不限于以下几个方面: 1. **...
我的USACO题解和程序
《USACO入门指南——第一章解析》 USACO,全称USA Computing Olympiad,是美国计算机奥林匹克竞赛,旨在培养中学生在算法和编程方面的技能。对于初学者来说,USACO提供了很好的学习路径和挑战。本文将针对USACO的第...
分析USACO比赛结果。 根据数据绘制一些图表。 此扩展程序从USACO竞赛结果页面收集数据,并构建漂亮的图形以更好地了解参与者,国家和分数。 使用d3.js和nvd3.js库进行绘制。 使用方法:只需进入USACO竞赛结果页面,...