oj
文章平均质量分 53
AT
这个作者很懒,什么都没留下…
展开
-
hdu 1425 快排&模板
快排 sort Time Limit: 6000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 15172 Accepted Submission(s): 4363 Problem Description 给你n个整数,请按从大到转载 2012-04-19 13:18:00 · 814 阅读 · 0 评论 -
hdu 1233 最小生成树 "还是畅通工程"
还是畅通工程 Problem Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。 Input 测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( 当N为0时原创 2012-03-11 09:28:45 · 414 阅读 · 0 评论 -
hdu 1012 水
#include #include #include using namespace std; int main(){ int i; int c[10]={1,1,2}; cout<<"n e"<<endl; cout<<"- -----------"<<endl; cout<<0<<" "<<1<<endl; cout<<1<<" "<<2<<endl; c原创 2012-03-08 11:22:21 · 375 阅读 · 0 评论 -
hdu 1008 elevator 水
#include using namespace std; int main(){ int a,t;int time; int sub ; while(cin>>t){ if(t==0)break; time = 0; sub = 0; for(int i=1;i<=t;i++){ cin>>a; if(a>sub) time+=(a-sub)*6原创 2012-03-07 21:35:59 · 382 阅读 · 0 评论 -
hdu1027 全排列 qsort
qsort 有4个参:#include #include using namespace std;//just member ever for! int cmp(const void *a,const void *b){ //与sort的区别 bool 变成了 int return *(int *)a-*(int *)b; //sort中是return (int a>int原创 2012-03-01 22:50:10 · 391 阅读 · 0 评论 -
hdu 1059 多重背包 二进制优化 (完全 , 01)背包结婚
#include int dp[120005]; int V,v; void bag01(int c,int w){ for(v=V;v>=c;v--){ if(dp[v]<dp[v-c]+w) dp[v] = dp[v-c]+w; } } void bagall(int c,int w){ for(v=c;v<=V;v++){ if(dp[v]<dp[v原创 2012-03-05 21:35:21 · 476 阅读 · 0 评论 -
hdu 1009 肥胖鼠 贪心(一) sort 排序函数
#include #include #include using namespace std; struct Trade { int j,f; double percent; }mouse[3001]; bool cmp(Trade a,Trade b) { return a.percent>b.percent; } int main() { int n,m;原创 2012-02-21 20:43:00 · 449 阅读 · 0 评论 -
hdu 2602 * 01背包 一维数组 不限装满
Bone Collector Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 9840 Accepted Submission(s): 3778 Problem Description Many years ago原创 2012-03-03 12:49:23 · 665 阅读 · 0 评论 -
hdu1099 lottery 假分式 字符串函数 strncpy sprintf 函数 数字输入字符数组 公约数
#include #include #include #include #include long long GCD(long long a,long long b){ if(b == 0) return a; return GCD(b,a%b); } int main(){ long long n; while(scan原创 2012-03-02 18:20:50 · 1043 阅读 · 0 评论 -
hdu 1049 jump worm
#include using namespace std; int main(){ int n,u,d,time=0; while(cin>>n>>u>>d){ if(n==0) break; time=1; while(n>0){ if(time%2==0) n+=d; else n-=u; time++; } c原创 2012-02-21 22:16:12 · 332 阅读 · 0 评论 -
hdu 1050 重叠 rom
Moving Tables #include #include #define N 210 int room[N]; void swap(int &a,int &b){ int c; c = a; a = b; b = c; } int main(){ int i,j,n,t,a,b; scanf("%原创 2012-02-27 21:29:41 · 559 阅读 · 0 评论 -
hdu 1231 最大连续子序列
#include #include #define size 11111 int main(){ int c1[size]; int s,i;int t1,t2,starts;int maxx;int sum ; while(scanf("%d",&s),s) { for(i=0;i<s;i++){ scanf("%d",c1+i); //输入每一个数大小并原创 2012-02-27 18:34:27 · 360 阅读 · 0 评论 -
hdu 2544 买t-shirt最短路 dijkstra算法
如果存在一个点能使从点1到点k再到点j比从点1直接到点j的路程小, 我们就把从点1到点j的距离记为从点1到点k再到点j的距离 #include #include int count[120]; int map[120][120]; int flag[120]; int n; int dijkstra(int num){ //n在函数外头声明 所以不再参数表中 int原创 2012-03-11 13:12:43 · 403 阅读 · 0 评论 -
hdu 1232 畅通工程 并查集
畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 13696 Accepted Submission(s): 6992 Problem Description 某省调查城镇交通状况,得到现有城镇道路统原创 2012-03-14 10:41:53 · 397 阅读 · 0 评论 -
hdu 4135 二进制搞掂容斥定理 @质因子
Co-prime Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 193 Accepted Submission(s): 85 Problem Description Given a number N, yo原创 2012-04-17 20:14:13 · 749 阅读 · 0 评论 -
1372 knight moves BFS
第1次:4.28 Knight Moves Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3012 Accepted Submission(s): 1872 Problem Description A fri原创 2012-04-28 20:52:08 · 541 阅读 · 0 评论 -
hdu 1695 GCD 欧拉方程 容斥理论
GCD(跃越) Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2596 Accepted Submission(s): 938 Problem Description Given 5 integers: a原创 2012-04-14 20:57:59 · 769 阅读 · 0 评论 -
由 hdu 1232 引发的并查集思考(畅通工程的结题报告另寻吧~)
来看一个实例,杭电1232畅通工程 http://acm.hdu.edu.cn/showproblem.php?pid=1232 首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些对城镇之间是有道路直接相连的。最后要解决的是整幅图的连通性问题。比如随意给你两个点,让你判断它们是否连通,或者问你整幅图一共有几个连通分支,也就是被分成了几个互相独立的块。像畅通工程这题,问还需要修几转载 2012-03-14 09:47:34 · 450 阅读 · 0 评论 -
厚度2955
Robberies Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3367 Accepted Submission(s): 1251 Problem Description The aspiring Roy原创 2012-03-21 22:22:10 · 733 阅读 · 0 评论 -
hdu 1097 a^b 找规律
A hard puzzle Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 16625 Accepted Submission(s): 5914 Problem Description lcy gives a原创 2012-03-20 19:24:00 · 776 阅读 · 0 评论 -
hdu1042
#include using namespace std; int c[8001]; int n; int main(){ while(scanf("%d",&n)!=EOF){ int i,j; memset(c,0,sizeof(c)); for(i=2,c[0]=1;i for(j=0;j c[j]*=i; for(原创 2012-03-17 20:43:56 · 387 阅读 · 0 评论 -
hdu 1856 More is better 并查集(二)
More is better Problem Description Mr Wang wants some boys to help him with a project. Because the project is rather complex, the more boys come, the better it will be. Of course there are cer原创 2012-03-14 11:27:23 · 604 阅读 · 0 评论 -
hdu 1021 水 找规律
#include using namespace std; int main(){ int n; while(cin>>n){ if ((n-2)%4==0) printf("yes\n"); else printf("no\n"); } return 0; }原创 2012-03-15 20:22:27 · 519 阅读 · 0 评论 -
hdu 1062 单词逆序 debuging..
#include #include #include #include using namespace std; char a[100]; char res[100]; char *Reverse(char *s) { // p指向字符串头部 char *p = s ; // q指向字符串尾部 char *q = s ;原创 2012-03-06 22:57:55 · 319 阅读 · 0 评论 -
bjfu 1006 bool 排序
#include #define n 100010 using namespace std; bool c1[100005]; int main(){ int t; cin>>t; while(t--){ memset(c1,-1,sizeof(c1)); int tt,a; scanf("%d",&tt); for(int i=0;i<tt;i+原创 2012-02-25 23:01:54 · 333 阅读 · 0 评论 -
hdu 2031 damn进制!
#include #include using namespace std; int pow(int x,int y){ //求x的y次方 int i,s=1; if(y==0){ return 1; } for(i=0;i<y;i++){ s*=x; } return s; } int main(){ int t=1; int n,r;string ans; while原创 2012-01-20 10:49:42 · 290 阅读 · 0 评论 -
hdu 2072 单词数
#include #include #define n1 2000 #define n2 1000 using namespace std; int main(){ char a[n1],res[n2][100]; while(gets(a)){ int count=0; if(strcmp(a,"#")==0)break; int原创 2012-02-25 23:04:12 · 333 阅读 · 0 评论 -
acm进阶之路
一般要做到50行以内的程序不用调试、100行以内的二分钟内调试成功 第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码, 因为太常用,所以要练到写时不用想,10-15分钟内打完 1.最短路(Floyd、Dijstra,BellmanFord) 2.最小生成树(先写个prim,kruscal要用并查集,不好写) 3.大数(高精度)加减乘除 4.转载 2012-01-21 16:41:36 · 416 阅读 · 0 评论 -
hdu 2047 递归函数 烤肉串联
#include #include #include #include #include using namespace std; long long save[50]; long long ans(int n){ if(save[n]) return save[n]; if(n==1) save[n]=3; else if(n==2) save[n]=8;原创 2012-01-20 13:40:10 · 536 阅读 · 0 评论 -
hdu 2085
#include using namespace std; int main(){ long long max=1;long long min =0;long long max1,max2;int n; while(cin>>n){ if(n==-1) break; for(int i=0;i<n;i++){ max1=max*3; max2=min*2; m原创 2012-01-20 12:24:45 · 421 阅读 · 0 评论 -
hdu 2013
#include using namespace std; int main(){ int sum; int n; while(cin>>n){ n-=1; sum=1; while(n--){ sum=(sum+1)*2; } cout<<sum<<endl; } return 0; }原创 2012-01-14 13:18:08 · 327 阅读 · 0 评论 -
hdu 2008 数值统计
#include using namespace std; int main(){ double n,m; while(cin>>m){ if(m==0) break; int a=0,b=0,c=0; while(m--){ cin>>n; if(n>0) a++; if(n==0) b++; if(n<0) c++; }原创 2012-01-14 13:07:30 · 295 阅读 · 0 评论 -
hdu 2023 过了么
用的清0函数 #include #include using namespace std; int main() { double stu[50],clas[5],a[50][5];int n,m; memset(stu,0,sizeof(stu)); //给数组清0 memset(clas,0,sizeof(clas)); while(cin>>n>>m) {原创 2012-01-15 22:18:35 · 821 阅读 · 0 评论 -
hdu 2001 保留位
按有效位输出是 setprecision,按小数位数输出也是setprecision,但到底是谁取决于fixed。 const double value = 12.3456789 cout cout #include #include #include using namespace std; int main(){ double x1,y1,x2,y2,d; whil原创 2012-01-10 19:27:44 · 433 阅读 · 0 评论 -
hdu 1196
//树状数组入门题 贴上代码饼干 #include using namespace std; int main(){int n,ans; while(cin>>n){ if(n==0)break; ans=1; while(n%2==0){ n/=2; ans*=2; } cout<<ans<<endl; } return 0; }原创 2012-01-14 19:56:36 · 391 阅读 · 0 评论 -
hdu 2018
#include using namespace std; int main(){ int n; while(cin>>n&&n!=0){ int m=1,tree=0,two=0,one=0; for(int i=1;i<n;i++){ m=m+tree; tree=two原创 2012-01-12 19:18:45 · 562 阅读 · 0 评论 -
hdu 题目分类(详细不详细!)
基础题:1000、1001、1004、1005、1008、1012、1013、1014、1017、1019、1021、1028、1029、1032、1037、1040、1048、1056、1058、1061、1070、1076、1089、1090、1091、1092、1093、1094、1095、1096、1097、1098、1106、1108、1157、1163、1164、1170、1194、1转载 2012-01-12 15:17:06 · 2574 阅读 · 0 评论 -
hdu 2045
#include using namespace std; int main() { int n,i; long long f[51]={0,3,6,6}; for(i=4;i f[i]=f[i-1]+2*f[i-2]; while(cin>>n) { cout }return 0; } ======================华丽丽的地平线======原创 2012-01-12 12:21:01 · 334 阅读 · 0 评论 -
hdu 2048
做这个题花了2个小时 主要是以下几点忽视了: 1. 结果是小数 , 所以数组和全部情况的累加器改用double 2. 每次开始循环时累加器没有初始化 3. include就够 #include #include using namespace std; int main(){ double a[21]; a[1]=0; a[2]=1; for(int i=3;i<21;i+原创 2012-01-15 15:57:02 · 304 阅读 · 0 评论 -
hdu 2049 错排 娶新娘 排列组合
#include using namespace std; int main(){ long long sum[34]; sum[1]=0,sum[2]=1; for(int i=3;i<34;i++){ sum[i]=(i-1)*(sum[i-1]+sum[i-2]); }int n,m,s,p,l; cin>>p; for原创 2012-01-12 15:07:00 · 468 阅读 · 0 评论