上一页 1 2 3 4 5 6 7 ··· 51 下一页
摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=2600题意:给一个区间p和q表示年份。给n个战争的起始年份、终止年份和战争名字(其实无用)。问[p,q]区间内最大没有战争的年份是多少。mark:600w*2的区间*100个战争如果直接开bool数组实在是很勉强。可以把战争先按起始年份再按终止年份排序,for一遍,维护一个last变量表示已经检查过的战争里最大的结束年份。具体看代码。代码: 1 # include 2 # include 3 4 5 int a[110][2] ; 6 int max(int a, int b){return a... 阅读全文
posted @ 2013-09-04 00:02 Seraph2012 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=1840题意:给一个方程ax^2+bx+c==0的三个系数a、b、c。判定方程解的个数。mark:除了利用判别式,还需要注意考虑非二次的情况。代码: 1 # include 2 3 4 void work() 5 { 6 int a, b, c, delta ; 7 scanf ("%d%d%d", &a, &b, &c) ; 8 if (a==0) 9 if (b == 0)10 if (c == 0) puts ("INF") ;1... 阅读全文
posted @ 2013-09-03 23:38 Seraph2012 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=2701题意:你有一双可以瞬移的鞋子,任务是要捕捉一直可以瞬移的萤火虫。给出自己每次瞬移的最远距离和起始坐标,再依次给出这只萤火虫出现的坐标。每次虫子出现,你都向它的坐标瞬移。一旦你和虫的距离不超过1,则认为捕捉到。问虫子在哪个坐标被捕捉到(或不能被捕捉到)。mark:阅读题。阅读了好久,题目又臭又长,只要明白了题意很容易1A。。。代码: 1 # include 2 # include 3 4 5 int r, x, y ; 6 7 8 double dist(double ax, doubl... 阅读全文
posted @ 2013-09-03 21:31 Seraph2012 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=1587题意:有n种花每种数量无限多,价格是p[i],有m元钱最多能买多少支。mark:这题竟然不给数据范围。不过好像数据范围不大,m不超过10000,n不超过1000。一开始以为是完全背包后来发现根本就是个贪心。。。代码: 1 # include 2 # include 3 4 5 int a[1000] ; 6 int cmp(const void *a, const void *b) 7 { 8 return *(int*)a - *(int*)b ; 9 }10 11 12 int... 阅读全文
posted @ 2013-09-03 02:34 Seraph2012 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=1678题意:买3样东西,最便宜的那样可以被当做折扣而不用付钱。问n样东西最多能获得多少折扣?mark:贪心,排序后从大到小3样3样地买。代码: 1 # include 2 # include 3 4 5 int a[20010] ; 6 7 8 int cmp(const void *a, const void *b) 9 {10 return *(int*)b - *(int*)a ;11 }12 13 14 15 void work()16 {17 int n, sum ... 阅读全文
posted @ 2013-09-03 01:30 Seraph2012 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=2110题意:中文。mark:母函数。但是判有无解的时候要注意,假如答案是10000种,对10000取模后就是0,此时不能判断为无解。可以加一个数组solution表示是否有解。代码: 1 # include 2 # include 3 4 5 int n, sum, MOD = 10000 ; 6 int p[110], m[110], dp[10010], sol[10010] ; 7 8 9 int work()10 {11 int i, j, k ;12 if (sum... 阅读全文
posted @ 2013-08-30 18:06 Seraph2012 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=2303题意:输入2个数字k和l,第一个是大数(10^100),第二个数是一个上限(10^6)。问k是否有小于l的质因数,如果有,最小的是多少。mark:时限卡的比较严,先把100w以内的素数打表,然后挨个检测素数,每次用大数对这个素数取模。若模为0则为素因子。代码: 1 # include 2 3 4 int cnt ; 5 char k[110] ; 6 int prime[1000010], isprime[1000010] ; 7 8 9 void init()10 {11 in... 阅读全文
posted @ 2013-08-27 23:59 Seraph2012 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=2183题意:中文。。。mark:一开始有点晕,没看出规律。后来发现规律就是个水题。从sample里的1开始看,向右下。。。代码: 1 # include 2 # include 3 4 5 int dp[22][22] ; 6 7 8 void work(int n) 9 {10 int i, j, x, y ;11 memset (dp, 0, sizeof(dp)) ;12 x = n/2 + 1, y = n/2 ;13 for (i = 1 ; i <... 阅读全文
posted @ 2013-08-27 22:25 Seraph2012 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=1114题意:小盆友通过往猪猪存钱罐里放钱的方式攒钱做事。存钱罐除非砸坏,否则无法把钱取出。为了知道是否攒了足够的钱,对存钱罐称重。然后告诉每种钱币的重量和价值,问存钱罐里最少可能有多少钱。mark:算是一个比较裸的完全背包问题。只不过是选最小。代码: 1 # include 2 # include 3 4 5 int n, m, INF = 0x3f3f3f3f ; 6 int p[510], w[510] ; 7 int dp[10010] ; 8 9 10 int min(int a, i... 阅读全文
posted @ 2013-08-25 00:43 Seraph2012 阅读(943) 评论(0) 推荐(0) 编辑
摘要: 3.3开始的文字介绍是欧拉通路和欧拉回路。类似于小时候学过的一笔画问题。介绍里伪代码写的很清晰,几乎照着拍就可以A题。Riding The Fences:TEXT里的例题,欧拉路径。TEXT里说因为递归的层数比较深,所以要自己定义栈。我这里就用循环写了。其实递归也可以过。 1 # include 2 # include 3 4 5 int g[510][510], stack[110], top ; 6 int degree[510] ; 7 int EulerCircuit[1100] ; 8 9 10 void FindEuler(int s)11 {12 int i, ... 阅读全文
posted @ 2013-07-09 17:55 Seraph2012 阅读(219) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 51 下一页