博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年8月12日

摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1114View Code 1 #include<stdio.h> 2 3 int main( ) 4 { 5 int cases ; 6 int f ; 7 int e ; 8 int maxVolumn ; 9 int N ;10 int i ;11 int j ;12 int P[50001] ;13 int W[10001] ;14 int record[10001] ;15 const int INF = 10... 阅读全文

posted @ 2012-08-12 13:56 皇星客栈--Linux 阅读(167) 评论(0) 推荐(0) 编辑

摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2602View Code 1 #include<cstdio> 2 #include<cstring> 3 4 int main( ) 5 { 6 int cases; 7 int i; 8 int j; 9 int nPack;10 int maxVolume;11 int weight[1001];12 int value[1001];13 int record[1001];14 15 scanf("%d",&cases)... 阅读全文

posted @ 2012-08-12 09:34 皇星客栈--Linux 阅读(127) 评论(0) 推荐(0) 编辑

2012年8月11日

摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1171我错在这里把int c1[max];int c2[max];int value[51];int count[51];放在main函数里面,结果导致stack overflow 栈溢出,但放在main函数外面作为全局变量就不会。这是因为函数的内存在开在栈上的,全局变量内存在堆上分配。前者远小于后者View Code 1 #include<cstdio> 2 #include<cstring> 3 4 #define max 250010 5 6 int c1[max]; 7 int 阅读全文

posted @ 2012-08-11 16:44 皇星客栈--Linux 阅读(238) 评论(0) 推荐(0) 编辑

摘要: 万变不离其中,只是我最后少考虑一种情况,如果i==num+1的情况!!!!!!!http://acm.hdu.edu.cn/showproblem.php?pid=1085View Code 1 #include<stdio.h> 2 3 #define max 80001 4 5 int main( ) 6 { 7 int i; 8 int j; 9 int c1[max];10 int c2[max];11 int num_1;12 int num_2;13 int num_3;14 int num;15 whi... 阅读全文

posted @ 2012-08-11 00:38 皇星客栈--Linux 阅读(151) 评论(0) 推荐(0) 编辑

2012年8月10日

摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1398第二个母函数直接编译无错误,但是提交时少写一个以输入0退出,哎!!!!!!View Code 1 #include<stdio.h> 2 3 #define max 100001 4 5 int main( ) 6 { 7 int i; 8 int j; 9 int k;10 int c1[max];11 int c2[max];12 int n;13 while( scanf("%d",&n) == 1 )14 {15 ... 阅读全文

posted @ 2012-08-10 21:10 皇星客栈--Linux 阅读(166) 评论(0) 推荐(0) 编辑

摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1028写了第一个母函数,发现技巧性很强,继续努力由(1+x+x^2+x^3+……+x^n)+(1+x^2+x^4+……+x^2n)+…………每个表达式中幂的递增是倍数的关系View Code 1 #include<stdio.h> 2 #define max 100001 3 int main( ) 4 { 5 int n; 6 int i; 7 int j; 8 int k; 9 int c1[max]; //保存各组合的数目10 int c2[max];... 阅读全文

posted @ 2012-08-10 20:39 皇星客栈--Linux 阅读(218) 评论(0) 推荐(0) 编辑

摘要: 首先这里概率是同时取得,与不同步取得的概率有区别,很多人思想就局限在这里。至少得到一张A卡的期望值+至少得到一张B卡的期望值-至少得到一张卡的期望值==至少能得到A卡和B卡的期望值,这是两张卡的情况,这里我重点分析一下这一种情况:如0.1 0.4,我们要想至少得到第一张卡,那么就要满足1/0.1=10,而如果想要至少得到第二张,就要满足1/0.4=2.5,有人会说如果我抽到了第一张卡,还剩下9张,可以分配给第二张取呀?说到这里,就要注意一点,这里是同时取总卡片,那个是单独取得,也就是你取得第一张卡的情况下面,取得第二张卡的概率,这是条件概率,是单独取得。我们这里是同时取得总卡片,我们现在取了1 阅读全文

posted @ 2012-08-10 11:15 皇星客栈--Linux 阅读(191) 评论(0) 推荐(1) 编辑

摘要: 开始想了好久没看清楚题目,网格的布局到底是怎么回事?如果没弄清楚就导致题目无从下手。这里是树来形成网格,所以每个点都是树,如1 1,就是表示一行一棵树,一列一棵树,就是总共一棵树;如2 3,就是表示一行2棵树,一列三棵树,总共6棵树;当然行列可调换,只是编程不同。 经过思考,你会发现其实这就是求两个数段内互质对的个数。 举个例子n=5,m=10答案n=1时有10个与1互质n=2时有5个与2互质n=3时有7个与3互质n=4时有5个与4互质n=5时有8个与5互质所以一共有35个 n=5,m=10的时候ans=10/1+(10-10/2)+(10-10/3)+(10-10/2)+(10-10/... 阅读全文

posted @ 2012-08-10 11:05 皇星客栈--Linux 阅读(1016) 评论(1) 推荐(0) 编辑

2012年8月8日

摘要: #include<stdio.h>int main (){ int n,a[2][100],t,i,j; while(scanf("%d",&n)!=EOF&&n!=0) { for(i=0;i<n;i++) { scanf("%d%d",&a[0][i],&a[1][i]); if(a[1][i]==0) a[1][i]=24;//考虑0点结束的比赛。 } //对所有比赛按结束时间排序 for(i=1;i<n;i++) for(j=0;j<n-i;j++) { if(a[1][j]& 阅读全文

posted @ 2012-08-08 15:36 皇星客栈--Linux 阅读(164) 评论(0) 推荐(0) 编辑

摘要: #include<stdio.h>int main( ){ int n; int x[3]; int y[3]; double s; while( scanf("%d",&n) == 1 ) { if ( n == 0 ) { break; } if( n >= 3 && n <= 100 ) { s = 0; scanf("%d %d",&x[0],&y[0]); x[2] = x[0]; y[2] = y[0]; while( --n ) { scanf("%d %d" 阅读全文

posted @ 2012-08-08 11:33 皇星客栈--Linux 阅读(132) 评论(0) 推荐(0) 编辑