摘要: http://poj.org/problem?id=2187题意:老题了,求平面内最远点对(让本渣默默想到了悲剧的AHOI2012……)分析:nlogn的凸包+旋转卡壳附:http://www.cppblog.com/staryjy/archive/2009/11/19/101412.html旋转卡壳的 阅读全文
posted @ 2014-03-07 22:58 Chellyutaha 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=2185题意:就是要求一个字符矩阵的最小覆盖矩阵,可以在末尾不完全重合(即在末尾只要求最小覆盖矩阵的前缀覆盖剩余的尾部就行了)分析: 先看一维的,对于一个一维字符串的最小覆盖子串首先肯定是它的一个前缀,而这个前缀的最小长度为n-next[n],证明在这里http://blog.csdn.net/fjsd155/article/details/6866991 然后发现这题就是二维的,于是可以考虑求出所有行的最小覆盖子串长度,而这些长度的lcm就是我们要求的最小覆盖子矩阵的一边长,同理对列也这么处理得出另一边长,然后相乘得到面积。(值得.. 阅读全文
posted @ 2014-03-07 22:13 Chellyutaha 阅读(231) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2184题意:01背包的变种,就是说有2组值(有负的),你要取一些物品是2阻值的和非负且最大分析:1、对于负的很好处理,可以把他们都加上一个数使其变成正数2、对于两个变量可以控制一个变量,求另一个变量的最大值,那么接下来的问题就是处理“体积恰好为V的01背包”问题了(和普通的不同哦……普通的不一定装满的)以前处理恰好体积为V的01背包都是开数组染色刷一遍的,原来有更好的方法,就是初始值是f[0]=0,f[1..V]=-inf,那么转移中f[j]=f[j-v[i]]+w[i],若j-v[i]表示的背包没有装满那么这个就不能转移了……真心有点机智 阅读全文
posted @ 2014-03-07 20:53 Chellyutaha 阅读(195) 评论(0) 推荐(0) 编辑