0
已解决
何冯成
中级光能
中级光能
@龙舟 @龙舟 @龙舟 @龙舟 @龙舟 @龙舟 @龙舟 @龙舟 @龙舟
80分代码:
#include<iostream>
using namespace std;
int a[1100];
int main(){
int n,sum=0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
sum+=a[i];
}
cout<<sum;
return 0;
}
何冯成在2020-05-05 14:33:20追加了内容
。。。
何冯成在2020-05-05 17:04:29追加了内容
@黄子扬
0
已采纳
缪鲲鹏
新手光能
新手光能
这题确实是动规 但这不是背包吧 应该是求最长子序列
至少我写的是 核心一共五句话
std:: sort(a+1, a+orz+1);//algorithm自带函数
int N = std:: unique(a+1, a+OTZ+1)/*algorithm自带函数*/ - e%r%;
for(int i = 2; i <= N; i ++)
if(a[i]-1 == a[i]) maxi ++;
else maxn = max(maxn, maxi), maxi = 0;
return(printf("%d", maxn))&0;//输出到底算不算核心呢
缪鲲鹏在2020-05-05 23:18:57追加了内容
哦对了, 你也算个发明家啊(doge), 硬把人家的题目给改了(话说80分真的是奇迹 测试点也够水的)
我对题目的理解:
1 2 3 一共可组成 1 2 3 4 5 6 这六种面值的资费 也就是1~6这六种, 中途没有断过 于是最长的子序列就是6 (我也确实不知道背包咋写这题 只能讲一下我自己的思路了)
核心:1排序 2去重 3找最长子序列
0
0
0
0
0
黄子扬
初级天翼
初级天翼
蛤@我干嘛(话说@一个人都不会有任何提示嘛?
首先你这个代码能得80分真的绝了(我甚至也有了想瞎搞的念头
以01背包的思路看看每个面额能不能组成,循环到sum
看看最长的一连串1有多长,输出即可
0