- 博客(5)
- 收藏
- 关注
原创 POJ 3255 Roadblocks (次短路问题)
解法有很多奇葩的地方,比如可以到达终点再跳回去再跳回来(比如有两个点)。。。。反正就是不能有最短路,不过没关系,算法都能给出正确结果思想:和求最短路上的点套路一样,spfa先正着求一次,再反着求一次最短路,然后枚举每条边找dist_zheng[i] + len + dist_fan[j]的第二小值即可!注意不能用邻接矩阵,那样会MLE,应该用邻接表/*poj 3255
2014-07-08 19:18:32 638
转载 最长回文子串
文章来源:http://blog.163.com/zhaohai_1988/blog/static/2095100852012716105847112/ 最长回文子串是最初我在网易笔试的时候遇见的,当时天真的把原字符串S倒转过来成为S‘,以为这样就将问题转化成为了求S和S’的最长公共子串的问题,而这个问题是典型的DP问题,我也在前面的文章中介绍了3中解决这个问题的方法。但
2014-07-06 21:29:42 382
原创 POJ 3093 Margaritas on the River Walk (0-1背包变形)
这题目的思路很巧妙,什么情况下剩下的所有物品都放不下呢?就是当前剩余物品中最小的那个也放不下。所以,先把物品按照容量从小到大排序,依次枚举当前背包为放不下的最小物品的情况。对于当前物品i,必有1到i-1的所有物品都放进去,这时候比i大的物品谁放谁不放是不确定的。转换成0-1背包问题:把前i-1个物品都放进去以后,得到空间为tsum - sum[i-1](前缀和)的包,只要从第i+1到第n个物品
2014-07-06 21:15:09 764
原创 POJ 2676 Sudoku (数独)
经典搜索问题,主要是时间上的优化,我用了三个辅助数组记录信息 row[i][k] = 1表示第i行数字k已经被使用,col[j][k] = 1表第j列数字k已经被使用,blo[i][k]表示第i个小九宫格中数字k已经被使用还有很重要的一个优化(没有优化的话可能会超时,或者非常慢,像POJ讨论区里有很多说正着搜超时,倒着搜0ms,这的确是一个可以用的方法,但是有一定的随机性),每次填数字时,先扫
2014-07-01 22:33:32 648
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人