Mengdong的技术博客

学习,记录,分享

导航

2011年5月2日 #

括号匹配(二)

摘要: 题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=15思路:动态规划使用二维数组dp保存中间结果,其中dp[i][j]保存的是使得括号子序列s[i]s[i+1]...s[j]正确需补全的最少括号数(以下称之为N(i,j))。对于子序列长度为1的情况,即(,),[,]四种情况,显然有N=1. 即dp[i][i]=1.对于子序列长度为n的情况(s[i]s[i+1]...s[j], j-i+1=n),N(i,j)为集合S中的最小值。集合S的构造过程:0) 将S置为空集1) 若(s[i]='['且s[j]=']' 阅读全文

posted @ 2011-05-02 19:35 mdyang 阅读(976) 评论(0) 推荐(0) 编辑

街区最短路径问题

摘要: 题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=7最直观的方法就是暴力求解。复杂度为O(I*J*N),其中I=[min(x),max(x)],J=[min(y),max(y)],N为住户数。更进一步地分析,如果给定住户(x1,y1),(x2,y2)...(xn,yn),若邮局位于(x,y),则距离和即为D=(|x1-x|+|y1-y|)+(|x2-x|+|y2-y|)+...+(|x3-x|+|y3-y|),问题转化为求D的最小值。不难看出将x和y方向的中位数作为邮局放置位置时D最大。只需将输入序列分别按x,y进行两次排序,取中位数即 阅读全文

posted @ 2011-05-02 18:42 mdyang 阅读(442) 评论(0) 推荐(0) 编辑