zoukankan      html  css  js  c++  java
  • 题目:打水漂

    题目描述

    题目描述:
    君不知,打靶大牛goleenuoer可喜欢打水漂了,他的靶子可以打到河面上的任何一条鱼,可是他的水漂打得实在是烂,无论怎么打那石子只会在河面上跳跃两次就“扑通”了.这天他又来打了.这条宽w米,每隔一米都会有一条鱼,每条鱼都有它的美观值.他想知道如何打才能得到两条鱼之间最大的美观值总和.刚接触OI的他想请您来解答,您能帮助他吗???

    输入格式

    输入文件包含n+1个整数,第一行为一个整数n(n<=10000).从第二行工n个数,第i个整数表示第i条鱼的美观值范(围为-500..500).当所有整数都为负数时输出0.

    输出格式

    输出文件包含两行,第一行为石子的起点和落点,用空格隔开.第二行为一个整数表示所得到的两条鱼之间美观值总和.

    题解:

    用动态规划求最大加权线的问题。

    代码实现:

    #include<iostream>
    #include<cstring>
    using namespace std;
    
    int f[10001]={0},n;
    
    int main()
    {
        int i,j;
        cin>>n;bool p=1;
        for(i=1;i<=n;i++)
        {cin>>f[i];if(f[i]>=0) p=0;}
        
        if(p==1) {cout<<0<<endl;return 0;}
        for(i=1;i<=n;i++)
        f[i]+=f[i-1];
        
        int ans=-100000,x,y;
        
        for(i=1;i<=n;i++)
        for(j=1;j<=i;j++)
        if(f[i]-f[j-1]>ans) {ans=f[i]-f[j-1];x=j;y=i;}
        
        cout<<x<<" "<<y<<endl<<ans<<endl;
        return 0;
        
        }
  • 相关阅读:
    复利计算5.0
    读《构建之法》第4章有感
    实验二作业调度模拟程序
    观看与评价
    结对2.03
    做汉堡
    复利计算--结对
    《构建之法》第四章
    复利单利计算器单元测试
    实验一、命令解释程序的编写实验
  • 原文地址:https://www.cnblogs.com/noip/p/2324183.html
Copyright © 2011-2022 走看看