题目链接:搭积木
- 分析:这道题如果把一个值固定好,用另一个值进行比较,我们会发现这是典型的求最长上升子序列的问题。另外,同时这道题的数据量比较大,因此需要我们结合二分的思想进行优化解题过程。
- 状态转移方程:
dp[j]=min(dp[j],dp[i]+1);
- 初始化:
vector<int> dp(n+1,1);
- 参考代码:
#include<iostream>
#include<algorithm>
using namespace std;
const int N=1000005;
struct Arr{
int w,l;
};<