摘要:
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1008题目很长,读完后很容易理解错。题目中要求的不是移动三角形而是对整个矩形进行移动来达到目的!!!题目读懂后就容易写了,很明显是dfs+回溯的题,注意相同的矩形可以存储在一块,可以方便dfs。ac后发现运行时间竟达到5000+ms,还没超时,看到有0s过的,无奈,只能仰视~~Orz。。。代码如下:#include<iostream>#include<cstdio>#include<cstring>using namespace std 阅读全文
摘要:
http://acm.nyist.net/JudgeOnline/problem.php?pid=203做了一上午的01背包,快中午的时候想到了这道题,最短路加01背包,思路很简单,但是runtime error和wa了几次runtime time原因是数组开小了,但是我现在还不明白为嘛要那么大!!!wa是因为一个小陷阱:可能同两个城市之间有多个数据,要取最短的,而我默认的是后面输入的覆盖前面输入的;这样的陷阱以后需要注意!!!代码如下:#include<iostream>#include<cstdio>#include<cstring>#include&l 阅读全文
摘要:
http://acm.nyist.net/JudgeOnline/problem.php?pid=456题目看上去和上次做的搜索nyoj 325 zb的生日很像,但是再用暴力搜索dfs的结果必然是TLE~~解决这题的模型是01背包问题:先计算所有的邮票值sum,然后sum/2作为容量,每一张邮票的值代表一个物体的体积和价值,这就将问题转化为了经典的01背包问题。我又用这个思想做了一些zb的生日,结果超时了,又优化了一下才勉强过去,很无语。。。代码如下:#include<iostream>#include<cstdio>#include<cstring>usi 阅读全文
摘要:
http://acm.nyist.net/JudgeOnline/problem.php?pid=44http://acm.nyist.net/JudgeOnline/problem.php?pid=104nyoj 44 字串和是经典的动态规划问题,104题将44题的一维最大和扩展到矩阵中,求子矩阵的最大和。思路大体还是一致的,先来说nyoj44吧。最大字段和问题用枚举,分治和动态规划都能解决,时间复杂度分别为O(n^2), O(nlogn), O(n)。dp的状态方程: b[j] = max{b[j-1] + a[j], a[j]}, 1<= j <= n; if b[j-1] 阅读全文