zoukankan      html  css  js  c++  java
  • 背包 贪心

    背包 

    (pack.pas/c/cpp)

    【问题描述】

    滑稽大师cdc依靠每天的辛勤努力,终于收集到了足够多的滑稽,每个滑稽有两个属性,分别是滑稽值h和体积v,他要把所有的滑稽带走,但是cdc只有一个固定容积的背包。怎么才能带走尽可能多的滑稽值呢?

    因为cdc是神犇,所以他很轻松的解决了这个问题。现在cdc来到了滑稽工厂,他要把所有的滑稽打包发给各个滑稽销售点,但是每次打包cdc都要付出一定的代价。

    我们把滑稽工厂打包滑稽的生产线看作一个一维线段,每个滑稽都是线段上的一个点,且每个滑稽的顺序不可改变。

    且每次打包滑稽只能是一段连续的区间,定义这个线段上从左到右第i个点的滑稽值为hi,体积为vi,设每次打包的区间为[i,j],则每次打包的代价为,现在cdc想知道他需要支付的最小代价为多少。他需要支付的代价为打包所有滑稽的代价和。

    【输入】

    第一行为一个正整数N,表示N个滑稽

    接下来的N行每行两个正整数v,h,分别表示体积与滑稽值

    【输出】

    输出仅一行,表示cdc可能需要支付的最小代价

    【输入输出样例1】

    pack.in

    pack.out

    4

    1 4

    2 3

    3 2

    4 1

    85

    /*分组为{1}{2}{3}{4}

    85=4*1+(4+3)*2+(4+3+2)*3+(4+3+2+1)*4

    */

    【数据范围】

    对于60%的数据 N<=1000

    对于100%的数据

    N<=1000000

    hi,vi<=500

    保证答案在long long 范围内

    聪明人一眼可以看出这是dp...........................外貌的的贪心;

    一个一个装即可;

  • 相关阅读:
    机器学习-初学者入门
    安装.cer证书并将证书从.cer格式转化为.pem格式
    字符串反转C#的实现
    Linux系统下远程文件拷贝scp命令
    【Django】ESRTful APi
    数据结构-栈跟队列基础部分
    数据结构-排序
    数据分析--Matplotlib的基本使用
    数据分析--pandas的基本使用
    数据分析--numpy的基本使用
  • 原文地址:https://www.cnblogs.com/chadinblog/p/5839523.html
Copyright © 2011-2022 走看看