上一页 1 2 3 4 5 6 7 8 ··· 51 下一页
摘要: 3.2开始是背包的介绍,然后六个题目,没有一题和背包有关系!Factorials:比较经典的一个题。求n阶乘最右边第一个不为0的数字。因为0肯定是有一个因子2和一个因子5组合成的,而在n!中因数2的个数显然远多于5的个数。所以for一遍n,碰到因数2就加1,碰到因数5就减1。剩下的乘起来对10取mod,最后再乘一下剩下的2的个数。 1 # include 2 3 4 int main () 5 { 6 int n, ans, i, two, ii ; 7 freopen ("fact4.in", "r", stdin) ; 8 freopen (&quo 阅读全文
posted @ 2013-07-05 15:16 Seraph2012 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 终于做到第三章了。3.1开始是最小生成树的介绍文章,给出了Prim算法的伪代码(写的挺好)。之后有6个题目,其实只有第一个题目和最小生成树有关- -。Agri-Net:裸最小生成树。 1 # include 2 3 4 int ans, n, INF = 0x0f0f0f0f ; 5 int g[110][110] ; 6 int intree[110], d[110] ; 7 8 9 void mst()10 {11 int ts, pos, i, treecost ;12 ans = -1 ;13 for (i = 0 ; i d[i]) pos = i... 阅读全文
posted @ 2013-07-04 19:56 Seraph2012 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=1264题意:给许多矩形,求面积并。坐标是0到100内的整数。mark:把矩形覆盖的区域赋值为1。。。代码: 1 # include 2 3 4 int g[110][110] ; 5 6 7 int main () 8 { 9 int a, b, c, d, t, i, j, ans ;10 while (~scanf ("%d%d%d%d", &a, &b, &c, &d))11 {12 if (a == -1 && b == -1 阅读全文
posted @ 2013-07-04 08:16 Seraph2012 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=1727题意:给一个数字,输出它的英文。。。细节比较多,小心点就不容易出错。代码: 1 # include 2 3 4 char tab[][20] = { 5 "zero", "one", "two", "three", "four", "five", 6 "six", "seven", "eight", "nine 阅读全文
posted @ 2013-07-04 04:23 Seraph2012 阅读(211) 评论(0) 推荐(0) 编辑
摘要: mark:题意很简单。。。输出小数形式,要标记循环节。不难就是写起来挺麻烦,开辟一个数组来标记余数是否出现过可以找到循环节。而且要记录循环节起始出现的位置。写的比较恶心。还有76个字符一行,要注意换行。最长的是1/9991,循环周期是1632位。。。代码写的比较恶心。。。代码:# include # include int vis[1000010], ans[1000010] ;char str[1000000] ;int main (){ int cnt, cc, n, d, i; freopen ("fracdec.in", "r", stdin) 阅读全文
posted @ 2013-07-04 02:15 Seraph2012 阅读(332) 评论(0) 推荐(1) 编辑
摘要: mark:就是个最短路。。。错了2次,一次是题目没读清楚,一次是自己犯2。。。代码: 1 # include 2 3 4 int graph[210][210] ; 5 int INF = 0x0f0f0f0f ; 6 7 8 int min(int a, int b){return a<b?a:b;} 9 10 11 int main ()12 {13 char ch1, ch2 ;14 int num, p, pos, i, j, k ;15 16 freopen ("comehome.in", "r", stdin) ;17 freope.. 阅读全文
posted @ 2013-07-04 01:41 Seraph2012 阅读(223) 评论(0) 推荐(0) 编辑
摘要: mark:题意不是很好懂的样子。先用floyd求最短路,再枚举两个块的每条边。。。细节要注意,另外要用double。。。2A,图论我果然很弱啊。代码: 1 # include 2 # include 3 # include 4 5 6 int n ; 7 int x[200], y[200] ; 8 double dp[200], g[200][200], INF = 1e9, ans ; 9 char gra[200][200] ;10 11 12 double dist(double a, double b, double c, double d){return sqrt((a-... 阅读全文
posted @ 2013-07-04 01:05 Seraph2012 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=1133题意:电影院卖票。一张票50元。一开始没有零钱。有m+n个人买票,m个人拿50元的钞票,n个人拿100的。问队伍有多少种排列方式可以使得卖票能顺利进行下去。mark:如果要使得卖票的行为进行下去,对于任意前k个人,必须满足这k个人里面拿100的人数不多于拿50的人数。结果会是一个大整数,要用高精度。公式是n!m!(m-n+1)/(m+1)。推导比较难想,和卡特兰数有关,网上有一篇文档详细写明了这个过程:http://daybreakcx.is-programmer.com/posts/17315. 阅读全文
posted @ 2013-06-28 10:48 Seraph2012 阅读(1905) 评论(0) 推荐(0) 编辑
摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=1798题意:给两个圆的圆心和半径求相交部分的面积。mark:思路是把相交部分分成2边,每边求一个扇形减三角形的面积。注意相离和内含的情况判断。这题wa了n次,都是因为精度问题。一个三角形已知三边,求某角。可以用余弦定理直接求,也可以先用海伦公式算出面积,再用正弦定理求(误!!!)。但是海伦公式算面积后再正弦定理会产生比较大的误差!!!# include <stdio.h># include <math.h>double xa, ya, ra, xb, yb, rb ;double 阅读全文
posted @ 2013-06-21 16:45 Seraph2012 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=1753题意:中文。。。高精度正小数加法。mark:高精度加法,如果把整数部分和小数部分分开搞,比较麻烦。定义了一个struct,数组存数字,dec存的是这个数字里末尾的多少位是小数部分的。两个小数相加,先对齐小数位(位数少的在后面补0)然后当整数加法搞!wa了一次。用宏要注意!41行和42行,如果没有加{}的话,前面的if只管一句!代码: 1 # include <stdio.h> 2 # include <string.h> 3 4 5 #define ExPand(a,b) 阅读全文
posted @ 2013-06-20 18:18 Seraph2012 阅读(458) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 51 下一页