
DP
AKalone
这个作者很懒,什么都没留下…
展开
-
LeetCode 375 猜数字大小 II
猜数字大小 II题目思路矩阵链乘法https://www.baidu.com/link?url=57aywD0Q6WTnl7XKbIHuE7lcWGXh50Vy3z1lItKlmdBVCmwKnGAabf1b8YFFijUxeTWEk-kwrJNcVhJuUksguHQoQSX28BhmhSYUIGt8Yi_&wd=&eqid=8c7298ba0003d06600000...原创 2019-11-14 00:14:25 · 199 阅读 · 0 评论 -
Codeforces-623B Array GCD
Array GCD题目样例思路先找可能的最终素因子,因为删除不能彻底,故素因子整除arr[1]、arr[1]-1、arr[1]+1、arr[n]、arr[n]-1、arr[n]+1中的一个,找出六种情况下的所有素因子,为提高效率,进行排序取重。对每一个素因子进行DP:dp[i][0]记录不变,看i-1的0和2;dp[i][1]记录删除,看i-1的0和1;dp[i][2]记录加...原创 2019-11-10 23:30:48 · 241 阅读 · 0 评论 -
LeetCode 357 计算各个位数不同的数字个数
计算各个位数不同的数字个数题目思路dp[i]=dp[i-1]少一位个数+(dp[i-1]-dp[i-2])i-1位新增个数*(11-i)增加新一位。代码class Solution {public: int countNumbersWithUniqueDigits(int n) { if(!n) return 1; vector<int&...原创 2019-11-05 21:12:20 · 183 阅读 · 0 评论 -
CodeForces-768D Jon and Orbs
Jon and Orbs题目样例思路第i天出现j个orb的可能=第i-1天出现j种orb的可能*j种已有orb+第i-1天出现j-1种orb的可能 *未出现orb种类数。代码#include<iostream>using namespace std;long long num[1005];double dp[10005][1005];//i天出现j种orb in...原创 2019-11-03 22:16:54 · 165 阅读 · 0 评论 -
CodeForces-873B Balanced Substring
Balanced Substring题目样例思路转化为前进后退的操作,0和1相互抵消,则会退回远处。代码#include<iostream>#include<cstring>using namespace std;int a[200020];int main(){ memset(a,999999,sizeof(a)); int n,...原创 2019-11-03 22:10:13 · 116 阅读 · 0 评论 -
LeetCode 121 买卖股票的最佳时机
买卖股票的最佳时机题目思路s为最大售额,h为最小持股。代码class Solution {public: int maxProfit(vector<int>& prices) { if(prices.size()==0) return 0; int s=0,h=prices[0]; for(int i=1;i...原创 2019-11-02 23:59:47 · 100 阅读 · 0 评论 -
LeetCode 279 完全平方数
279. 完全平方数题目思路找出i减去小于i的完全平方数的数的最小组成个数,然后加一为i的组成个数,过一遍到n。代码class Solution {public: int numSquares(int n) { vector<int> a(n+1,0); for(int i=1;i<=n;i++) { ...原创 2019-11-02 22:41:29 · 100 阅读 · 0 评论 -
LeetCode 983 最低票价
最低票价题目思路一天天过一遍,每到一天往前看一下,选出三种情况最小值。代码class Solution {public: int mincostTickets(vector<int>& days, vector<int>& costs) { int n=days[days.size()-1]; vect...原创 2019-11-02 01:06:33 · 132 阅读 · 0 评论 -
LeetCode 72 编辑距离
编辑距离题目思路dp[i][j]指前i个字符转换为目标的前j个字符的操作次数。根据当前位置字符相同与否分情况,不同时再考虑插入、删除和替换。代码class Solution {public: int minDistance(string word1, string word2) { int l1=word1.size(); int l2=wo...原创 2019-11-02 00:21:59 · 96 阅读 · 0 评论 -
LeetCode 638 大礼包
大礼包题目思路有人用状压做的,不太喜欢,所以我用的dfs,写起来要清晰许多。代码class Solution {public: int shoppingOffers(vector<int>& price, vector<vector<int>>& special, vector<int>& needs) ...原创 2019-11-01 23:47:55 · 266 阅读 · 0 评论 -
LeetCode 714 买卖股票的最佳时机含手续费
714. 买卖股票的最佳时机含手续费题目思路过一遍,记录第i天是否买入和卖出的最值。代码class Solution {public: int maxProfit(vector<int>& prices, int fee) { int l=prices.size(); int s=0,h=-prices[0]; ...原创 2019-11-01 01:01:02 · 132 阅读 · 0 评论 -
LeetCode 1227 飞机座位分配概率
飞机座位分配概率题目代码DPclass Solution {public: double nthPersonGetsNthSeat(int n) { vector<double> dp(n+1); dp[1]=1.0; double sum=0.0; for(int i=2;i<=n;i++)...原创 2019-10-31 22:52:25 · 759 阅读 · 0 评论 -
LeetCode 96 不同的二叉搜索树 【DP】【亚特兰数】
不同的二叉搜索树题目思路DP:根的左右子树情况数相乘,卡特兰数:递推式:h(n)=h(n-1)(4n-2)/(n+1);代码DPclass Solution {public: int numTrees(int n) { vector<int> dp(n+1,0); dp[0]=dp[1]=1; for(i...原创 2019-10-31 01:15:08 · 194 阅读 · 0 评论 -
LeetCode 191 位1的个数 【DP】
位1的个数题目代码STL函数class Solution {public: int hammingWeight(uint32_t n) { bitset<32> b(n); return b.count(); }};技巧class Solution {public: int hammingWeight...原创 2019-10-31 00:16:09 · 72 阅读 · 0 评论 -
LeetCode 338 比特位计数 【DP】
比特位计数题目描述思路若n为偶数,则其为n/2<<1,若n为奇数,则其为(n/2-1)<<1。代码class Solution {public: vector<int> countBits(int num) { vector<int> a(num+1); a[0]=0; for(...原创 2019-10-30 23:52:57 · 85 阅读 · 0 评论