Ignatius has just come back school from the 30th ACM/ICPC. Now he has a lot of homework to do. Every teacher gives him a deadline of handing in the ho ...
分类:
其他好文 时间:
2020-02-09 20:41:02
阅读次数:
59
"题目" 1349. Maximum Students Taking Exam Add to List Share Given a m n matrix seats that represent seats distributions in a classroom. If a seat is bro ...
分类:
其他好文 时间:
2020-02-09 20:01:01
阅读次数:
125
实现代码: int Longest_increasing_subseq(vector<int> &array){ vector<int> dp(array.size()); dp[0]=-1; int left,right,mid; int count=0; for(int i=0;i<array. ...
分类:
其他好文 时间:
2020-02-09 16:27:01
阅读次数:
89
题目链接: https://www.acwing.com/problem/content/2/ 题解: 关于DP问题,我们一般可以用一套模式去分析 1、分析状态表示f(i,j): 1)f(i,j)表示哪个集合?在01背包问题中,它表示选法的一个集合 2)i,j表示什么条件?在01背包问题中,它表示前 ...
分类:
其他好文 时间:
2020-02-09 12:01:25
阅读次数:
48
最近我发现cf上出现很多状态机模型,然而这种模型是dp中最容易理解也是最有套路的一点 本题能用这种方法做的原因是数值都是大于0的,就不可能存在先走上去再走下来的情况,我刚开始误认为有这种情况导致无法下手 我们显然可以定义f[i][j]表示用j工具到达i层的最小值,因此j有两个选项,如果对于本题一开始 ...
分类:
其他好文 时间:
2020-02-09 11:32:13
阅读次数:
58
现在是晚上零点三十分,我来写这篇文章,总结一下我今天学到的简单的斜率优化。 什么是斜率优化,就是将递推式写为y=kx+b的形式。 假设原递推式长这样:f[i]=min{f[j]+C},其中C可能是一个关于i的函数,一个关于j的函数,一个关于i和j的函数。 前两种情况可以通过单调队列来解决,但是情况三 ...
分类:
其他好文 时间:
2020-02-09 09:28:22
阅读次数:
63
题面大意:有2*N的格子,每个格子可以涂成白色或者黑色,问有k个连通块的涂色方案数 N<=103,k<=2*103 我的错误思路:我没看懂题目对不起呜呜呜... 正解思路: 首先看到N<=103,反正凭我的感觉,一般来说103或者104这样的,很可能是DP或者记忆化,也就是N2的复杂度,100的话可 ...
分类:
其他好文 时间:
2020-02-08 23:11:51
阅读次数:
88
#include <vector> #include<iostream> using namespace std; int main() { int k; cin>>k; int left_index=0,right_index=k-1,sum=-1,tmp=0,tmp_index=0; vecto ...
分类:
其他好文 时间:
2020-02-08 19:43:22
阅读次数:
83
题意:将元素为n的序列划分出m个不相交的子段,并求最大子段和。 例:输入2 6 -1 4 -2 3 -2 3,其中m=2,n=6 4 -2 3 和 3两个子段和为8。 运用动态规划的思想,设置数组dp记录i个子段和的最大值且第i个子段包含num[j]项。 #include <iostream> us ...
分类:
其他好文 时间:
2020-02-08 17:22:25
阅读次数:
69
/** * @param {string} s * @param {string} p * @return {boolean} */ var isMatch = function(s, p) { let dp = []; let len = s.length; let _len = p.length ...
分类:
其他好文 时间:
2020-02-08 17:16:16
阅读次数:
49