@[Lemon_zqp](/user/551630) 这是二分吧……
by 2044_space_elevator @ 2023-07-13 12:45:52
@[Lemon_zqp](/user/551630) 要二分干什么?
by Lemon_zqp @ 2023-07-13 12:51:06
@[Lemon_zqp](/user/551630) 最大不下降子序列吧
by wuhongzhen @ 2023-07-13 12:56:19
@[Lemon_zqp](/user/551630)
还有就是为什么是sort(m+1,m+n+2,cmp),不应该是sort(m+1,m+n+1,cmp)吗
by wuhongzhen @ 2023-07-13 12:57:57
@[wuhongzhen](/user/369248) 不是搜了吗,但45
by Lemon_zqp @ 2023-07-13 12:58:12
@[wuhongzhen](/user/369248) 艹,打错了
by Lemon_zqp @ 2023-07-13 12:59:25
@[wuhongzhen](/user/369248) 改了,还是45
by Lemon_zqp @ 2023-07-13 13:00:15
@[Lemon_zqp](/user/551630)
```cpp
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int dp[5005],ans;
struct mg
{
int l, w;
}m[5005];
bool cmp(mg x, mg y)
{
if(x.l != y.l)
{
return x.l > y.l;
}
else
{
return x.w > y.w;
}
}
int main()
{
int n;
cin >> n;
for(int i = 1; i <= n; i++)
{
cin >> m[i].l >> m[i].w;
}
sort(m + 1, m + n + 1, cmp);
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= i - 1; j++)
{
if(m[i].w > m[j].w)
{
dp[i]=max(dp[i],dp[j]+1);
}
}
ans=max(ans,dp[i]);
}
cout << ans+1;
return 0;
}
```
by wuhongzhen @ 2023-07-13 13:05:27
@[Lemon_zqp](/user/551630)
大改了一下
by wuhongzhen @ 2023-07-13 13:05:40
@[Lemon_zqp](/user/551630) ans求木棍加工用时,不包括一开始的一分钟,所以最后加一个1
by wuhongzhen @ 2023-07-13 13:07:34