zoukankan      html  css  js  c++  java
  • POJ 3172 (认真读题的题)

    题目:
    这里写图片描述
    这里写图片描述
    思路:

    题目很有意思

    首先 题里说:N<=1000 题里又说
    这里写图片描述

    诶呦 woc? 这不自相矛盾嘛 最坏情况也就是个 斐波那契数列 几十个数 暴搜+剪枝不就好了嘛

    剪枝:从大往小搜,如果前缀和+当前的和<=当前解 return

    (这正确性很显然 但是不是很好想到)

    //By SiriusRen
    #include <cstdio>
    using namespace std;
    int n,k,ans,a[55],sum[55];
    void dfs(int rec,int x){
        if(x>ans)ans=x;
        if(rec<=0)return;
        for(int i=rec;i;i--)
            if(x+a[i]<=k&&sum[i]+x>ans)dfs(i-1,x+a[i]);
    }
    int main(){
        scanf("%d%d",&n,&k);
        for(int i=1;i<=n;i++)scanf("%d",&a[i]),sum[i]=sum[i-1]+a[i];
        dfs(n,0);
        printf("%d
    ",ans);
    }

    这里写图片描述

  • 相关阅读:
    通过kinaba对es进行crud
    安装启动kibana
    es安装启动
    IP网络层
    Java 高级文本处理
    django17
    邮件问题
    django16
    django15
    django14
  • 原文地址:https://www.cnblogs.com/SiriusRen/p/6532199.html
Copyright © 2011-2022 走看看