动态规划&贪心
shiyang6017
这个作者很懒,什么都没留下…
展开
-
用动态规划解决TSP问题
include"stdio.h" #include"stdlib.h" #define MIN(a,b) (a<b)?a:b int main(int argc,char* argv[]){ freopen(argv[1],"r",stdin); const int SIZE=10; double array[SIZE][SIZE]; double dp[SIZE][1<<原创 2016-03-30 16:33:41 · 5073 阅读 · 1 评论 -
leetcode 354. Russian Doll Envelopes
思路: 1. 按宽度对envelops进行升序排列,对相同宽度的envelops按长度降序排列 2. 对重新排好序的envelops,求最长严格升序的envelops长度序列 代码: /* * */ class Solution { public: int maxEnvelopes(vector>& envelopes) { if (envelopes原创 2016-08-01 20:42:42 · 223 阅读 · 0 评论 -
leetcode 312 Burst Balloons
题意: Given n balloons, indexed from 0 to n-1. Each balloon is painted with a number on it represented by array nums. You are asked to burst all the balloons. If the you burst balloon i you will get num原创 2015-12-04 14:04:59 · 370 阅读 · 0 评论 -
115. Distinct Subsequences
class Solution { public: int numDistinct(string s, string t) { if (s.empty() || t.empty()) return 0; vector> dp(s.size(), vector(t.size(), 0)); for (int si = 0;原创 2016-09-07 17:20:32 · 181 阅读 · 0 评论 -
leetcode 368. Largest Divisible Subset
1.基本思路: 如果A 是满足题意要求的一个集合(不一定是最优集合),即A的任意元素属于数组nums, 且任意两个属于A的元素Si, Sj 满足条件:Si%Sj等于0 或 Sj%Si等于0; 假设Sk是当前集合A中的最大值,若存在一个元素elem( elem也属于nums ),且elem%Sk 等于 0,当将elem加入A形成新的子集A‘, 则A’也同样满足题意要求,不断“填充”集合A,则可以找原创 2016-07-30 12:52:43 · 178 阅读 · 0 评论 -
leetcode 221. Maximal Square
class Solution {// 最大正方形面积 public: int maximalSquare(vector>& matrix) { if (matrix.empty()) { return 0; } long len = 0; vector> dp(matrix.size(), vector(matrix[0].size(),原创 2016-09-27 19:59:55 · 199 阅读 · 0 评论 -
leetcode 435. Non-overlapping Intervals
/** * Definition for an interval. * struct Interval { * int start; * int end; * Interval() : start(0), end(0) {} * Interval(int s, int e) : start(s), end(e) {} * }; */ static b原创 2016-10-30 22:43:23 · 416 阅读 · 0 评论