随笔分类 -  【Algo】递推、动态规划

递推、动态规划相关问题
摘要:题目链接:https://leetcode.com/problems/russian-doll-envelopes/ 每个洋娃娃有两个维度,长和宽,只有两者都比另外一个洋娃娃的对应维度大,才能够装另外一个。 这个问题其实就是LIS。 朴素的做法直接排序之后O(n^2)去dp一下,那么既然问题可以规约 阅读全文
posted @ 2016-06-29 00:55 活在夢裡 阅读(505) 评论(0) 推荐(0)
摘要:LeetCode上的新题(https://leetcode.com/problems/largest-divisible-subset/),看了一下,我怎么觉得这个就是前几个月有一场CSAcademy的原题(https://csacademy.com/contest/archive/#task/di 阅读全文
posted @ 2016-06-28 02:55 活在夢裡 阅读(930) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/contest/655/problem/E 大意是Bessie只会英文字母表中的前k种字母,现在有一个长度为m+n的字母序列,Bessie已经知道了前m个字符,问如何填充剩下的n个字符,使得整个序列的不同子序列数目最大。当然所有字母都得是Bess 阅读全文
posted @ 2016-05-06 14:54 活在夢裡 阅读(244) 评论(0) 推荐(0)
摘要:4月4日,应学弟要求去了次学校给小同学们讲了一堂课,其实讲的挺内容挺杂的,但是目的是引出LCA算法。 现在整理一下当天讲课的主要内容: 开始并没有直接引出LCA问题,而是讲了RMQ(Range Minimum/Maximum Query)问题。 RMQ指的是对于给定的一个数组,每一次询问一个区间[L 阅读全文
posted @ 2016-04-13 00:48 活在夢裡 阅读(650) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/contest/650/problem/D 大意是给一个数组,若干询问,每一次把一个数字改为另一个数字,问当前数组最长上升子序列,询问之间是独立的。 注意到:假设初始数组的LIS长度为len。如果某一个位置的数字属于所有LIS,那么即便这个位置的 阅读全文
posted @ 2016-03-08 19:19 活在夢裡 阅读(255) 评论(0) 推荐(0)
摘要:沿着一条条斜线DP即可,dp[k][i][j]表示第k步,一端在第j列,另一端在第i列,构成回文的个数,沿着四个方向推下去即可。 1 #include <iostream> 2 #include <vector> 3 #include <algorithm> 4 #include <string> 阅读全文
posted @ 2016-01-31 21:10 活在夢裡 阅读(318) 评论(0) 推荐(0)
摘要:无非就是横着放与竖着放,状态中用1表示覆盖,0表示未覆盖。 阅读全文
posted @ 2015-09-18 22:32 活在夢裡 阅读(234) 评论(0) 推荐(0)