uva
文章平均质量分 70
cscoder
这个作者很懒,什么都没留下…
展开
-
uva:348 - Optimal Array Multiplication Sequence
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=114&page=show_problem&problem=284矩阵乘法问题,区间dp。动规方程为:f[i][j] = min{ f[i][k] + f[k+1][j] + p[i] * q[k] * q[j] } (k>=i &&原创 2012-04-22 13:40:22 · 350 阅读 · 0 评论 -
uva 10465 Homer Simpson
Homer Simpson 题目很简单就是完全背包问题,不过需要记录过程中的数量以及对应的价值总和,以最后的价值总和最大为标准,然后求解。程序如下:#include#include#define max(a , b) a > b ? a : b #define MAXN 10010int dp[MAXN] ;int value[MAXN] ;int num[3]原创 2012-05-31 14:52:26 · 395 阅读 · 0 评论 -
uva10369 - Arctic Network
点击http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=116&page=show_problem&problem=1310题目很简单,直接用krusakl算法即可,然后找出第S大的数,S即为卫星的个数。开始的时候我将卫星之间可以直接通信这一条给忽略了,wrong了N久。后来才注意到这一点。原创 2012-04-21 18:38:58 · 338 阅读 · 0 评论 -
uva10048 - Audiophobia
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=116&page=show_problem&problem=989题意很简单,找一条路径使得,这条路上最大的噪声量最小,这题是floyd的变种,直接用Floyd算法即可。和之前的题目相同。不过这题最坑爹的是输出格式,在最后不能多输出空行原创 2012-04-21 11:30:57 · 390 阅读 · 0 评论 -
UVA:10034 - Freckles
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=116&page=show_problem&problem=975典型的求最小生成树的题目,采用kruskal算法即可,先存储所有的点,然后分别计算点与点之间的距离,并存储起来,在直接运用kruskal算法即可。唯一需要注意的是输出格式问题原创 2012-04-21 09:51:50 · 427 阅读 · 0 评论 -
uva:562 - Dividing coins
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=114&page=show_problem&problem=503题目意思很明确,将给定的物品分成两部分,使得这两部分的和的绝对值之差最小。出看题目,想分成每块硬币放入0号和1号盒子,的最小值,但是发现需要有很多的状态需要记录,随重叠,原创 2012-04-22 11:32:37 · 770 阅读 · 0 评论 -
uva:111 - History Grading
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=114&page=show_problem&problem=47LCS问题:动规方程:dp [i][j] = dp[i-1][j-1] +1 (numx[i] = numy[j]) || max{ dp[i-1] [j] , dp原创 2012-03-28 18:28:35 · 395 阅读 · 0 评论 -
uva:674 - Coin Change
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=114&page=show_problem&problem=615题目大意:有五个数,分别为:1 , 5 , 10 , 25 , 50 ,对于任意输入的一个正整数n , n由其中的一个或者多个数组合累加得到,求有多少种方法。例如原创 2012-03-30 12:57:14 · 542 阅读 · 0 评论 -
uva:10003 - Cutting Sticks
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=114&page=show_problem&problem=944这个题目开始的时候想正向处理,按照给定的点,不断的划分,但是发现状态转移有些小麻烦,就放弃了那种思路,昨天晚上在睡觉之前突然想到,可以逆向处理的,就是将这支树枝先按原创 2012-03-31 08:47:06 · 457 阅读 · 0 评论 -
uva:10131 - Is Bigger Smarter?
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=114&page=show_problem&problem=1072简单dp,是最长上升子序列问题的变种。要注意样例,对于其输出结果,得到得先将输入的序列进行排序,然后再动规。由于要输出对应的序列号,所以这里我们就直接采用O(n^2)算法。原创 2012-04-17 20:43:12 · 411 阅读 · 0 评论 -
116 - Unidirectional TSP
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=114&page=show_problem&problem=52题目意思很明确,并且这一题的递归方程很好写,只不过需要注意的是对于字典序的理解。在更新路径的时候要不断的比较字典序,即要从头到尾的比较而不是仅仅比较前驱。代码如下:/*原创 2012-04-17 18:33:38 · 557 阅读 · 0 评论 -
uva 11645 Bits
uva 11645 Bits题目描述:一个数n的二进制表示中连续的11的个数记为f(n),例如f(111) = 2, f(1111) = 3,先给定n求ans = sum (f(i)) 0=解决办法:逐位确定举例说明:n = 1111, x1 = 11**, x2 = *11*, x3 = **11所以答案可以分成如下3个部分,即前两位是11的个数,中间两位是11的个数,后两位是1原创 2013-01-14 23:03:29 · 1428 阅读 · 0 评论