zoukankan      html  css  js  c++  java
  • hdoj2670

    Problem : 2670 ( Girl Love Value )     Judge Status : Accepted
    RunId : 2682427    Language : G++    Author : huwenbiao
    Code Render Status : Rendered By HDOJ G++ Code Render Version 0.01 Beta
    /***************************************************************\
    *Author:Hu Wenbiao
    *Created Time: Sun 25 Jul 2010 04:32:08 PM CST
    *File Name: main.cpp
    *Description:动态归规化。但不是一般的动态归化,因为boy的值是不
    *断减小的,但我们可以知道对于选中的每个boy总是按照他们的衰减值
    *递减的次序来选,于是我们可以先排序,排序后从前往后每考虑一个
    *boy,如果被选中的话,它总会被安排在最后选,这样就符合常规的动
    *态归化了。dp[i][j]表示在前i个boy中选j个能得到的最大价值
    \***************************************************************/

    //*========================*Head File*========================*\\

    #include<iostream>
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #include<algorithm>
    /*----------------------*Global Variable*----------------------*/
    int
    dp[
    1010][1010],n,K;
    struct
    Boy{
    int
    l,b;
    }
    boy[
    1010];
    //*=======================*Main Program*=======================*//
    using namespace std;

    bool
    cmp(Boy a,Boy b){
    return
    a.b>b.b;
    }


    int
    main(){

    //freopen("input","r",stdin);
    while(scanf("%d%d",&n,&K)!=EOF){
    for
    (int i=
    1;i<=n;i++)
    scanf(
    "%d",&boy[i].l);
    for
    (int i=
    1;i<=n;i++)
    scanf(
    "%d",&boy[i].b);
    sort(boy+
    1,boy+1+n,cmp);
    // memset(dp,0,sizeof(dp));
    dp[1][1]=boy[1].l;
    for
    (int i=
    2;i<=n;i++)
    for
    (int j=
    1;j<=i;j++)
    if
    (i==j)
    dp[i][j]=dp[i-
    1][j-1]+boy[i].l-(j-1)*boy[i].b;
    else

    dp[i][j]=max(dp[i-
    1][j],dp[i-1][j-1]+boy[i].l-(j-1)*boy[i].b);
    printf(
    "%d\n",dp[n][K]);
    }
    }
  • 相关阅读:
    二叉树的遍历
    十进制与m进制的相互转化
    【素数】Prime Distance
    【数论】Sumdiv(整数的唯一分解定理+约束和公式+递归求等比)
    【错位+组合】排列计数
    【扩展欧几里得】青蛙的约会
    【归并排序+逆序数】poj-2299 Ultra-QuickSort
    【模拟】Sandglass
    【位运算】高效解决n皇后问题
    Popular Cows
  • 原文地址:https://www.cnblogs.com/Open_Source/p/1904909.html
Copyright © 2011-2022 走看看