问题标题: 酷町堂:4959 @龙舟

0
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
吕若朴
吕若朴
中级光能
中级光能

你这个代码肯定是错的,因为它是要求连续组成。

如果你输出x,那么这些邮票能组成1~x的所有面值!

0
0
潘晨皓
潘晨皓
高级天翼
高级天翼

你一个背包能这么简单??? 我没学到都知道!

虽然我也是五年级的。。。

0
黄子扬
黄子扬
初级天翼
初级天翼

蛤@我干嘛(话说@一个人都不会有任何提示嘛?

首先你这个代码能得80分真的绝了(我甚至也有了想瞎搞的念头

以01背包的思路看看每个面额能不能组成,循环到sum

看看最长的一连串1有多长,输出即可

0
我要回答