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...........................外貌的的贪心;

    一个一个装即可;

  • 相关阅读:
    约数个数 和 约数之和
    二分模板
    新生赛补题
    codefores刷题心得3 思维+dp(特别好玩)
    二叉树的遍历及例题
    团队作业七——团队作业分配
    WarPlane——游戏设计文档
    团队作业(五)
    团队作业(四)
    团队项目方案分析
  • 原文地址:https://www.cnblogs.com/chadinblog/p/5839523.html
Copyright © 2011-2022 走看看