04 2011 档案
HDU 2870【DP_求最大矩阵】
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=2870题意:给出一个字符矩阵Matritx[][], 求其最大子矩阵, 详细如题.解题思路: 将全部字符依次转化a, b, c, 再分别求出这三个矩阵的最大子矩阵即可. 于是, 问题转化为求矩阵中最大的子矩阵了. 设置一个变量Num[][]记录位置的最大高度, Num[i][j]表示Matritx[i][j]位置上的最大高度 这样, 只要枚举以各个Num[i][j]为矩阵最小高度, 分别向前后推进扩展矩阵, 如果Num[i][j + 1] >= Num[i][j]则可以向前扩展, 同理Num[i. 阅读全文
posted @ 2011-04-18 18:42 Kenfly 阅读(988) 评论(0) 推荐(0)
HDU 1385【两点间最短路, DIJK + 记录路径】
摘要:题目: http://acm.hdu.edu.cn/showproblem.php?pid=1385解题思路: 对每一个询问, 跑一次dijkstra算法, 麻烦的是题目要求输出路径, 有多组解时还要是字典序最小的那条. 代码复杂了点, 但思路很简单, 用一个全局变题Path[]来记录父结点就可以了, 即前一个结点, 如 : Path[i] 表示 当前点 i 是由 Path[i] 得来的. DIJK跑完后, 可以从终点向前一直寻找前一个结点, 直到遇到始点, 可以得到一条完整的路径. 当有多组解时, 在松驰时候要加多一个判定条件, 判断当前得出的路径的字典序是否小于以前的就可以了.#inc.. 阅读全文
posted @ 2011-04-07 16:23 Kenfly 阅读(903) 评论(0) 推荐(0)