2018年全国多校算法寒假训练营练习比赛(第二场)D炉石
2018-01-29 18:21
323 查看
题目链接如下
https://www.nowcoder.com/acm/contest/74/D
emmm题是最长不下降子序列
跟最长上升子序列的区别不仅仅是在一个等号QAQ是两个等号
被自己蠢哭了
一定要注意。这个题j的循环里不能带等号
不然就相当于dp[j]=max(dp[i],dp[i]+1)
永远都是在加一的啊!!!!好蠢好蠢
https://www.nowcoder.com/acm/contest/74/D
emmm题是最长不下降子序列
跟最长上升子序列的区别不仅仅是在一个等号QAQ是两个等号
被自己蠢哭了
for(int i=1;i<=n;i++) { for(int j=0;j<i;j++) { if(a[i]>=a[j]) dp[i]=max(dp[i],dp[j]+1); else dp[i]=max(dp[i],1); } ans=max(dp[i],ans); }
一定要注意。这个题j的循环里不能带等号
不然就相当于dp[j]=max(dp[i],dp[i]+1)
永远都是在加一的啊!!!!好蠢好蠢
#include<stdio.h> #include<string.h> #include<math.h> #include<algorithm> using namespace std; int main() { int n,a[105],ans=0; int dp[105]; bool yes=false; scanf("%d",&n); yes=false; memset(dp,0,sizeof(dp)); memset(a,0,sizeof(a)); for(int i=1;i<=n;i++) scanf("%d",&a[i]); dp[1]=1; for(int i=1;i<=n;i++) { for(int j=0;j<i;j++) { if(a[i]>=a[j]) dp[i]=max(dp[i],dp[j]+1); else dp[i]=max(dp[i],1); } ans=max(dp[i],ans); } /*for(int i=1;i<=n;i++) if(dp[i]>=30) yes=true;*/ if (ans>=30)printf("yes\n"); else printf("no\n"); return 0; }
相关文章推荐
- 2018年全国多校算法寒假训练营练习比赛(第二场) D YB要打炉石
- 2018年全国多校算法寒假训练营练习比赛(第二场) D题YB要打炉石 题解
- 牛客网NowCoder 2018年全国多校算法寒假训练营练习比赛(第二场)A.吐泡泡(stack) B.TaoTao要吃鸡(动态规划01背包) D.YB要打炉石(最长上升子序列) E.小G有一个大树(树的重心) G.送分了QAQ H.了断局(递推)
- 2018年全国多校算法寒假训练营练习比赛(第二场)D YB要打炉石
- 2018年全国多校算法寒假训练营练习比赛(第二场)D YB要打炉石
- 2018年全国多校算法寒假训练营练习比赛(第二场)D - YB要打炉石(最长不下降子序列)
- 2018年全国多校算法寒假训练营练习比赛(第二场) D YB要打炉石 【最长非递减子序列】
- 2018年全国多校算法寒假训练营练习比赛(第二场) G题送分了QAQ 题解
- 2018年全国多校算法寒假训练营练习比赛(第二场) G 送分了QAQ(数位DP 或打表区间 水)
- 2018年全国多校算法寒假训练营练习比赛(第二场) F 德玛西亚万岁(状态压缩DP 未解决)
- 2018年全国多校算法寒假训练营练习比赛(第二场)B_01背包
- 2018年全国多校算法寒假训练营练习比赛(第二场) B TaoTao要吃鸡【01背包 + 贪心】
- 2018年全国多校算法寒假训练营练习比赛(第二场)A 吐泡泡
- 2018年全国多校算法寒假训练营练习比赛(第二场) G 送分了QAQ(数位DP 或打表区间 水)
- 2018年全国多校算法寒假训练营练习比赛(第二场)B(TaoTao要吃鸡 ) (01背包特殊处理)
- F-德玛西亚万岁(状压DP)(2018年全国多校算法寒假训练营练习比赛(第二场))
- 2018年全国多校算法寒假训练营练习比赛(第二场) F 德玛西亚万岁(状态压缩DP 未解决)
- 2018年全国多校算法寒假训练营练习比赛(第二场) B.TaoTao要吃鸡(动态规划)
- 2018年全国多校算法寒假训练营练习比赛(第二场) F.德玛西亚万岁(状压动归)
- 2018年全国多校算法寒假训练营练习比赛(第二场)A