上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 28 下一页
摘要: 经典矩形嵌套问题,先排序再求LIS。 需要注意在枚举j的时候x和y都要小于i才行。 也可以根据矩形的嵌套关系建图,然后用拓扑排序+dp或者是逆向建图记忆花搜索来求解。 阅读全文
posted @ 2015-07-15 19:18 hxy_has_been_used 阅读(126) 评论(0) 推荐(0)
摘要: 对于每门课程,学习的时间不同,收获也不同,在一门课程上花费了两个不同的时间去学习是互斥的,即它们是属于同一个组内的物品,直接做分组背包即可。 需要注意三重循环的顺序不可变! 注:没有要求必须用够m天,即背包可以不满。 阅读全文
posted @ 2015-07-15 16:15 hxy_has_been_used 阅读(138) 评论(0) 推荐(0)
摘要: 和poj 1463基本一样。 阅读全文
posted @ 2015-07-15 14:05 hxy_has_been_used 阅读(162) 评论(0) 推荐(0)
摘要: 很简单的树形dp题目,转移方程是: dp[u][0] += dp[v][1]; dp[u][1] += min( dp[v][0], dp[v][1] ); 其中u是v的父亲节点。 也可以用二分图来做。 阅读全文
posted @ 2015-07-15 13:47 hxy_has_been_used 阅读(158) 评论(0) 推荐(0)
摘要: 经典问题:利用两个相同的数字异或为0的特点,可以用来寻找“落单的数”。 1 #include 2 using namespace std; 3 4 int main () 5 { 6 int n; 7 while ( scanf("%d", &n), n ) 8 { 9 ... 阅读全文
posted @ 2015-07-14 19:40 hxy_has_been_used 阅读(236) 评论(0) 推荐(0)
摘要: 题意:有n个男孩,每个男孩对女神都有一个love值Li和递减值Bi(love值每天递减这么多)。女神要从这n个男孩中选出k个男孩来一起去玩耍(每天选择一个男孩),要使这k个男孩的love值之和最大。 分析:当选定的男孩一定时,肯定要尽早选择递减较快的男孩,所以先按照递减值由大到小排序,然后做01背包 阅读全文
posted @ 2015-07-14 19:29 hxy_has_been_used 阅读(160) 评论(0) 推荐(0)
摘要: 转化一下问题:求一个offer也拿不到的最小概率。 每个学校有个花费和概率,很显然是01背包问题。 阅读全文
posted @ 2015-07-14 18:35 hxy_has_been_used 阅读(83) 评论(0) 推荐(0)
摘要: 白书上的例题,很是经典。poj 2442 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 const int M = 100; 9 const int N = 2000;1... 阅读全文
posted @ 2015-07-14 15:56 hxy_has_been_used 阅读(174) 评论(0) 推荐(0)
摘要: 堆真是一种简单而又神奇的数据结构,以前用它求过前kth的数,现在又可以用两个堆来动态求解中位数。算法: 构建一个大顶堆和一个小顶堆,分别记为g和l。 假设当前中位数为mid,新读入一个数为tmp,则: 1.如果tmp = mid,则将tmp插入小顶堆,跳到步骤4。 3.如果大顶堆的元素个数比... 阅读全文
posted @ 2015-07-14 14:01 hxy_has_been_used 阅读(1787) 评论(0) 推荐(0)
摘要: 思路:很显然答案是长度减去字符串和它反转串的LCS,不过由于内存限制,需要使用滚动数组。(short也可以水过) 阅读全文
posted @ 2015-07-14 10:44 hxy_has_been_used 阅读(243) 评论(0) 推荐(0)
上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 28 下一页