
ZOJ
文章平均质量分 78
cscoder
这个作者很懒,什么都没留下…
展开
-
zoj:1456Minimum Transport Cost
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1456题目大意:有N个城市,两个城市之间要么有一条运输路线,要么没有。现在有一些货物需要从一个城市运往另一个城市。运输费用包含两部分:通过两个城市之间运输线路的费用,以及通过一个城市时的纳税(起点城市和目标城市除外)。要求输出费用最小,并且路径字典需序最小的线路。原创 2012-03-31 09:06:15 · 394 阅读 · 0 评论 -
ZOJ 3201 Tree of Tree
Tree of Tree简单Tree DP. 求一个含有k个节点的子树,使得子树上所有节点的权值和最大。方程:dp[i][j] 表示以i为根的子树中选取j个点所能获得最大值,其中i点必须选,然后就是直接使用分组背包就可以了。/* *author : csuchenan *Prog : ZOJ 3201 *Algorithm : Tree DP dp[i][j] 以i为原创 2012-10-04 23:01:50 · 453 阅读 · 0 评论 -
hdu 1512 Monkey King and ZOJ 2334
Monkey King很裸的左偏树题目。直接应用就可以了。/*author : 中南大学 陈安PROG : hdu 1512data structure: 左偏树操作:采用最大左偏树,所以每群猴子中权值最大的一定在树根1.查询每群猴子中权值最大的,采用并查集,否则容易爆栈2.对于修改操作,可以分解为如下步骤:a.删除树根,合并左右子树,原创 2012-08-31 16:51:51 · 808 阅读 · 0 评论 -
zoj2412:Farm Irrigation
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2412题目大意:有A~K种类型的田地,每种类型的田地都有一中水管类型,现在有一块农田,这块农田有以上类型的水田组成,求至少需要多少个水源。题目很简单,刚开始看到时候想将每种类型的田地,能与其组合在一块的田地,逐一枚举出来,但是编程的时候发现数据量太大了,然后就写不原创 2012-03-24 21:54:22 · 442 阅读 · 0 评论 -
ZOJ1140:Courses
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1140这题求解的是二分图的最大匹配,只要匹配住可以"盖住"每门课程,即匹配数与课程数量相等,委员会就可以成立。在这里集合课程中的元素是相互独立的,学生集合中的元素也是相互独立的,因而判定这个是二分图。然后采用二分图的匈牙利算法即可。代码如下:#include原创 2012-04-03 20:43:26 · 509 阅读 · 0 评论 -
zoj:1456Minimum Transport Cost
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1456题目大意:有N个城市,两个城市之间要么有一条运输路线,要么没有。现在有一些货物需要从一个城市运往另一个城市。运输费用包含两部分:通过两个城市之间运输线路的费用,以及通过一个城市时的纳税(起点城市和目标城市除外)。要求输出费用最小,并且路径字典需序最小的线路。这题原创 2012-03-24 15:34:23 · 445 阅读 · 0 评论 -
zoj1137:Girls and Boys
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=137这题是寻找最大的集合,使得集合中的所有元素都没有关系。用二分图的最大匹配来计算,然后在减去最大的匹配数,就可以得到最大个数。但是如何将集合中元素进行二分,是个比较纠结的事情,开始想以男女来将顶点分为两个集合,但是输入的数据是比较难判断男女关系的。最后上网搜题解的时候,看到原创 2012-04-08 23:38:46 · 844 阅读 · 0 评论 -
ZOJ1654:Place the Robots
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=654这个题目看题后会很直接以空白处作为顶点建图,这样问题转化为求最大独立集问题,当然我们可以进一步转化为二分图匹配问题,利用二分图的性质:最大顶点独立集个数= 顶点个数 —最小顶点覆盖,而最小顶点覆盖=最大匹配,这一点在前面的Boys And Girls的解题报告中已经使用了原创 2012-04-10 17:31:36 · 349 阅读 · 0 评论 -
Count the colors
Count the colors查询某种颜色出现的段数,用线段树解。首次用线段树解该类题目。对于查询的时候,只不过需要注意,每次标记一下访问过的区间,它的颜色是不是和现在正在查询的区间的颜色视相同的,如果是则不比统计,因为它们是连续的一段,否则的话就要累加,然后记录该点的颜色。在递归的时候,总是先后查询相邻区间的颜色的值,故而采用此种方式能解决对应的线段的连续性问题。然后需要注意线段的最小区间原创 2012-06-09 21:01:37 · 449 阅读 · 0 评论 -
ZOJ1074
ZOJ1074题目很明白,就是求解最大的字段和问题。可以由一维的推到而来,对于二维的我们可以转化为一维的来求解,方法是将从第i行到第j行的每一列对应的元素相加,然后在利用一维求解最大字段和的方式,就可以得到第i行到第j行的最大的字段和。利用此思想我们一次枚举可能的i,j值,然后嵌套求解即可。时间复杂度为O(n^3)。代码如下:/*ID: csuchenanPROG: ZOJ1074L原创 2012-05-12 23:52:03 · 389 阅读 · 0 评论 -
ZOJ 1008 Gnome Tetravex
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=8题目意思很简单,数据量也比较小,只需用dfs即可,不过还是需要剪纸,对于相同的类型的卡片记录数量,这样才不会超时。对于每一次放置的时候我们都要判断放置是不是合法,则个只需要通过一个简单的上左判断即可。程序如下:/*ID: chenanPROG: zoj 1008 Gn原创 2012-05-04 14:06:05 · 461 阅读 · 0 评论 -
ZOJ 1002 Fire Net
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=2一道搜索的题目,数据量不是很大用深搜。判定一个点是不是能否放置碉堡,搜索其上方与左方是不是放置了碉堡。同时还要搜索该位置不放置碉堡(即使能放置)的情况。开始的时候没考虑到这一点,每次运行的结果总是0。考虑后,问题就解决了。程序如下;/*ID: csuchenanPRO原创 2012-05-04 15:12:27 · 449 阅读 · 0 评论 -
ZOJ 3640 Help Me Escape
Help Me Escape题目意思: 一个吸血鬼,每天有n条路走,每次随机选一条路走,每条路有限制,如果当这个吸血鬼的能力大于某个值c[i],那么只需要花费ti(ti = (1.0 + sqrt(5.0))/2 * c[i] * c[i]) 天的时间就可以逃出去,否则,花费1天的时间,吸血鬼的能力增加c[i],花费1天的时间,然后继续下一天的尝试。求逃出去的期望。设dp[v] ,表示当能力值原创 2012-10-06 23:23:52 · 643 阅读 · 0 评论