问题标题: 酷町堂:3109 采纳时加到40酷町豆!!!

0
0
已解决
吴文光
吴文光
新手光能
新手光能
#include<iostream>
#include<string>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;
int main()
{
    long long n,a[50001];
    cin>>n;
    for(int i=1;i<=n;i++)
        cin>>a[i];
    for(int i=1;i<=n-1;i++)
    {
        for(int j=1;j<=n-i;j++)
        {
            if(a[j]>a[j+1])
                swap(a[j],a[j+1]);
        }
    }
    for(int i=n;i>=1;i--)
        cout<<a[i]<<" ";
    return 0;
}

 

吴文光在2019-09-10 21:30:32追加了内容

为什莫错以人格保证加到40

吴文光在2019-09-10 21:31:01追加了内容

求大佬解答


0
已采纳
包涵宇
包涵宇
中级天翼
中级天翼

吴文光  你好!!!

这题要用动态规划

首先定义下面几个数:

int a[10001],s[100000],n;

然后输入n和a数组:

cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];

再将s[0]至为0,s[1]至为a[1]

s[1]=a[1];
s[0]=0;

随后从第2个数进行推算

for(int i=2;i<=n;i++)
s[i]=max(s[i-2]+a[i],s[i-1]);

最后输出s[n]即可AC;

望采纳!!!

0
黄子澄
黄子澄
中级天翼
中级天翼

第34届历代BOSS,你想什么呢?难度4啊!

0
0
董子墨
董子墨
中级天翼
中级天翼

动态规划

状态:f[i]:玩前i个项目能获得的最大体验积分 
边界:f[0]:0   f[1]=a[1]
状态转移方程:f[i]=max(f[i-2]+a[i],f[i-1])
目标:f[n] 
0
吴庞茂旭
吴庞茂旭
资深光能
资深光能

这题我也不会,但我听说可以用贪心(贪婪)算法

什么?不知道贪婪?点这里学习贪婪

我要回答