摘要: Problem DescriptionBenny has a spacious farm land to irrigate. The farm land is a rectangle, and is divided into a lot of samll squares. Water pipes are placed in these squares. Different square has a different type of pipe. There are 11 types of pipes, which is marked from A to K, as Figure 1 shows 阅读全文
posted @ 2013-09-18 23:22 默默如潮 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 比赛的时候跟学长说了一下我的想法,贪心,首先排序,x从小到大排序,x相同的y从小到大,然后优先选择边长小的能组成正方形的点。但是写跪了,后来交给学长写状态压缩dp。今天看到结题报告里有人用的类似的方法过了,查看后发现是我没有判断重点的情况,改后怒ac,还是太弱了,不然可以省下点时间做其他的题目。 1 #include 2 #include 3 #include 4 #include 5 #define maxlen 30 6 using namespace std; 7 int maps[110][110]; 8 struct node 9 {10 int x,y;11 }p[... 阅读全文
posted @ 2013-09-18 14:48 默默如潮 阅读(222) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4745比赛的时候一直想的是枚举每个起点然后求最长公共子序列,一直TLE,一直优化无果。后来看到了过的人都是用最长回文子序列的算法,第一次见到这个算法,学习了。在这题中我们用dp[i][j]表示一只兔子从i逆时针走,另一只从j顺时针走,可以走到的最长距离。那么方程就是(与最长公共子序列类似)dp[i][j]=dp[(i-1+n)%n][(j+1)%n]+2 a[i]==a[j]dp[i][j]=max{dp[(i-1+n)%n][j],dp[i][(j+1)%n]} a[i]!=a[j]最后的结果就是枚举... 阅读全文
posted @ 2013-09-18 14:11 默默如潮 阅读(258) 评论(0) 推荐(0) 编辑