上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 16 下一页
摘要: 求和 1 #include 2 int main() 3 { 4 long n; 5 while(scanf("%ld",&n)!=EOF){ 6 long i; 7 long s=0; 8 for(i=1;i<=n;i++) 9 ... 阅读全文
posted @ 2013-09-12 22:00 再见~雨泉 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 哈哈A+B1 #include2 int main()3 {4 int a,b;5 while(scanf("%d%d",&a,&b)!=EOF){6 printf("%d\n",a+b);}7 return 0;8 } 阅读全文
posted @ 2013-09-12 21:59 再见~雨泉 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 基础题: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、1... 阅读全文
posted @ 2013-09-12 21:57 再见~雨泉 阅读(4507) 评论(0) 推荐(0) 编辑
摘要: 转自http://kicd.blog.163.com/blog/static/126961911200910168335852/近年的acm竞赛中,数学期望问题常有涉及,在以前也常让本人感到很头疼,近来突然开窍,掌握了基本的分析方法,希望对大家有帮助。写得浅薄,可能数学上不够严谨,只供理解。首先,来看下期望有啥基本的公式。对离散型随机变量x,其概率为p,有对随机变量A、B,有第二条式子是今天的主角,他表明了期望有线性的性质,简单理解就是期望之间可根据关系,简单运算(不严谨的理解)。这就为我们解决一个期望问题,不断转化为解决另外的期望问题,最终转化到一个已知的期望上。举一个求期望最简单的例子,见 阅读全文
posted @ 2013-09-05 21:28 再见~雨泉 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 裸的判断线段相交 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 using namespace std;15 #define eps 1e-1216 #define MAXN 200517 #define INF 100000000718 #define MAX(a,b) (a > b ? a : b)19 #define MI... 阅读全文
posted @ 2013-08-21 20:37 再见~雨泉 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 难得的中文题.POJ1185http://poj.org/problem?id=1185方法就是用DP[i][r][p]表示第i行状态为r,第i-1行状态是p时的最多个数。而这里p受到r的限制,而第i-2行状态q则受到r和p两个状态限制。状态转移方程就是: DP[i][r][p] = MAX{DP[i-1][p][q] +num[r]}其中,p是受到r的限制时枚举的状态,q是受到r和p共同限制时候的状态,num[r]表示状态r里面的布局炮兵所摆的个数。这里我们可以看到就要枚举i,r,p,q,这4 个变量,i的范围是100,而其他几个则都是1 2 #include 3 #define mem(. 阅读全文
posted @ 2013-08-21 19:46 再见~雨泉 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 比较好做的区间DP状态转移方程:DP[i][j]表示区间[i,j]最小的乘积和。 DP[i][j] = MIN{DP[i][k-1]+DP[k+1][j] + a[k]*a[i-1]*a[j+1] | i 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 using namespace std;15 #define eps 1e-1516 #define ... 阅读全文
posted @ 2013-08-19 23:45 再见~雨泉 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 题目大意是说一个字符串,每插入或者删除一个字符都需要一定的代价,问怎样可以使这个字符串变成一个回文串,且花费最小。首先明确的就是如果已经将区间[i,j]整理成为一个回文串(不管中间有多少个字符或者是以什么字符开头或者结尾),当DP到区间[i,j+1]时,我们可以在i-1的位置添加一个str[j+1]字符,或者将在j+1处的字符删除,得到一个新的回文串,而且我们这两步操作都没有借助或者影响区间[i,j]的情况。因此,那我们就可以将添加或者删除整合在一起,对字符str[j+1]的操作就按照添加和删除中花费最小的一个计算。写出状态转移方程: DP[j][i] = MIN(DP[j+1][i]+cos 阅读全文
posted @ 2013-08-18 17:32 再见~雨泉 阅读(1996) 评论(1) 推荐(1) 编辑
摘要: 简单DP,题解见代码 1 #include 2 #include 3 #include 4 #define mem0(a) memset(a,0,sizeof(a)) 5 #define MAX(a, b) (a > b ? a : b) 6 using namespace std; 7 8 struct BondsV_I 9 {10 int Value;11 int Interest;12 }Bonds[11];13 int Amount, Year, BondsNum;14 int dp[50005];//由于题目说利率不会超过10%,所以也就是不会超过1000*1... 阅读全文
posted @ 2013-08-18 15:36 再见~雨泉 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2819 题目大意很明确,交换图的某些行或者是某些列(可以都换),使得这个N*N的图对角线上全部都是1. 这里有一点需要说明,就是说题目的交换,其实是将原来图的某一行移到最后图的某一行,而不是指先交换两行,得到一个新图,再交换新图的两行。感觉这里比较坑。 这里先说明的一点就是,如果通过交换某些行没有办法的到解的话,那么只交换列 或者 既交换行又交换列 那也没办法得到解。其实个人感觉这个可以用矩阵的秩来解释,所有的对角线都是1,所以也就是矩阵的秩就是N,所以秩小于N就无解。另外,根据矩阵的性质,任意交换矩 阅读全文
posted @ 2013-08-17 23:46 再见~雨泉 阅读(2141) 评论(0) 推荐(0) 编辑
摘要: 最少顶点覆盖 = 二分图最大匹配证明见 http://hi.baidu.com/keeponac/item/111e3438988c786b7d034b56 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 using namespace std;15 #define eps 1e-1516 #define MAXN 50517 #... 阅读全文
posted @ 2013-08-17 22:00 再见~雨泉 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 裸的二分图匹配题目poj.org/problem?id=1469不解释: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 using namespace std;15 #define eps 1e-1516 #define MAXN 30517 #define INF 100000000718 #define MAX(a,b) (... 阅读全文
posted @ 2013-08-17 21:33 再见~雨泉 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有一个城镇,它的所有街道都是单行的,并且每条街道都是和两个路口相连。同时已知街道不会形成回路。 你的任务是编写程序求最小数量的伞兵,这些伞兵可以访问(visit)所有的路口。像这样建二分图,最后由定理 DAG图的最小路径覆盖数=节点数(n)- 最大匹配数(m)这样也就只需要求最大匹配数上诉结论的证明见:http://www.cnblogs.com/jackiesteed/articles/2043934.html 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 ... 阅读全文
posted @ 2013-08-17 20:44 再见~雨泉 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 题目大意就是说有两台机器,分别有n,m种模式可以调节,有k个工作,某一个工作i可以在第一台机器的a[i]模式下或第二台机器的b[i]模式下工作,两台机器的初始模式为0,问如何分配这K件工作使得两台机器更换模式的次数最少。并难求最少次数。这里有一个定理: 二分图的最少顶点覆盖 =二分图的最大匹配证明见http://hi.baidu.com/keeponac/item/111e3438988c786b7d034b56感觉讲的不错,仔细看看,慢慢就会明白。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include ... 阅读全文
posted @ 2013-08-17 19:26 再见~雨泉 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 链接1275Cashier Employment题目大意就是说有一些人来应聘一个超级市场的工作,每个人的应聘的起始时间在0~23时之间,而超市在时间i需要R[i]个工作人员,而每个人的工作时间都是8小时,问最少需要多少人使得超市一天24小时满足超市的工作人数的需要。设工作时间为1~24时,S[i]表示前i个小时所需要的工作人数的最小值,那么结果就可以表示成0为起点,24为终点的最短路。下面是约束不等式:0= R[i] (8= R[i] (0= 0 (1= -t[i] (1= R[i] (8= R[i] - S[24] (0= W就可以建一些由B指向A的权值为W的有向边... 阅读全文
posted @ 2013-08-17 18:48 再见~雨泉 阅读(218) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 16 下一页