题目大意:要求你从n个人中选出m个,每个人有两个值p[i],D[i],要求选出的人p总和与D总和的差值最小。若有相同解,则输出p总+D总最大的方案。

动态规划。

一直在想到底是n枚举外面还是m放外面,好像两者都可以?

做了越来越多的那种“当前层改变下一层”,乍一看题解还以为这是道斜率优化呢。

#include<cstdio>
#include<cstring>
#include<algorithm>
#define inf 1000000000
using namespace std;
int cas,minpd,n,m;
][],path[][],answer[];
],b[];
int main()
{
  scanf("%d%d",&n,&m);
  ||m!=)
  {
      cas++;printf("Jury #%d\n",cas);
      ;i<=n;i++)scanf("%d%d",&a[i],&b[i]);
      memset(f,-,,sizeof(path));
      minpd=m*;
      f[][minpd]=;
      ;j<m;j++)
        ;k<=minpd*;k++)
          ;i<=n;i++)

            &&f[j][k]+a[i]+b[i]>f[j+][k+a[i]-b[i]])
            {
              int t1=j,t2=k;
              &&path[t1][t2]!=i)
              {
                t2-=a[path[t1][t2]]-b[path[t1][t2]];t1--;
              }
              )
              {
                f[j+][k+a[i]-b[i]]=f[j][k]+a[i]+b[i];
                path[j+][k+a[i]-b[i]]=i;
              }
            }
      ,k;
      &&f[m][i-j]<)j++;
      if(f[m][i+j]<f[m][i-j])k=i-j;else k=i+j;
      printf("Best jury has value %d for prosecution and value %d for defence:\n",
      (k-minpd+f[m][k])/,(f[m][k]-k+minpd)/);
      ;i<=m;i++)
      {
        answer[i]=path[m-i+][k];
        k-=a[answer[i]]-b[answer[i]];
      }
      sort(answer+,answer+m+);
      ;i<=m;i++)printf("%d ",answer[i]);
      printf("\n\n");
      scanf("%d%d",&n,&m);
   }
}

poj1015

最近感觉剪贴板出了点问题,代码提交上去动不动就是too long。。。

[POJ1015]Jury Compromise的更多相关文章

  1. poj1015 Jury Compromise【背包】

    Jury Compromise Time Limit: 1000MS   Memory Limit: 65536K Total Submissions:32355   Accepted:8722   ...

  2. POJ-1015 Jury Compromise(dp|01背包)

    题目: In Frobnia, a far-away country, the verdicts in court trials are determined by a jury consisting ...

  3. poj1015 Jury Compromise[背包]

    每一件物品有两个属性.朴素思想是把这两种属性都设计到状态里,但空间爆炸.又因为这两个属性相互间存在制约关系(差的绝对值最小),不妨把答案设计入状态中,设$f[i][j]$选$i$个人,两者之差$j$. ...

  4. $POJ1015\ Jury\ Compromise\ Dp$/背包

    洛谷传送门 $Sol$ 这是一道具有多个“体积维度”的$0/1$背包问题. 把$N$个候选人看做$N$个物品,那么每个物品有如下三种体积: 1.“人数”,每个候选人的“人数”都是$1$,最终要填满容积 ...

  5. POJ 1015 Jury Compromise(双塔dp)

    Jury Compromise Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 33737   Accepted: 9109 ...

  6. HDU 1015 Jury Compromise 01背包

    题目链接: http://poj.org/problem?id=1015 Jury Compromise Time Limit: 1000MSMemory Limit: 65536K 问题描述 In ...

  7. 背包系列练习及总结(hud 2602 && hdu 2844 Coins && hdu 2159 && poj 1170 Shopping Offers && hdu 3092 Least common multiple && poj 1015 Jury Compromise)

    作为一个oier,以及大学acm党背包是必不可少的一部分.好久没做背包类动规了.久违地练习下-.- dd__engi的背包九讲:http://love-oriented.com/pack/ 鸣谢htt ...

  8. 【题解】Jury Compromise(链表+DP)

    [题解]Jury Compromise(链表+DP) 传送门 题目大意 给你\(n\le 200\)个元素,一个元素有两个特征值,\(c_i\)和\(d_i\),\(c,d \in [0,20]\), ...

  9. poj 1015 Jury Compromise(背包+方案输出)

    \(Jury Compromise\) \(solution:\) 这道题很有意思,它的状态设得很...奇怪.但是它的数据范围实在是太暴露了.虽然当时还是想了好久好久,出题人设了几个限制(首先要两个的 ...

随机推荐

  1. asp.net 短信群发

    protected void Btn_Save_Click(object sender, EventArgs e) { string Contents = this.Txt_SmsContents.T ...

  2. Spetember 5th 2016 Week 37th Monday

    No matter how far you may fly, never forget where you come from. 无论你能飞多远,都别忘了你来自何方. Stay true to you ...

  3. 绿色通道(codevs 3342)

    题目描述 Description <思远高考绿色通道>(Green Passage, GP)是唐山一中常用的练习册之一,其题量之大深受lsz等许多oiers的痛恨,其中又以数学绿色通道为最 ...

  4. Stanford大学机器学习公开课(二):监督学习应用与梯度下降

    本课内容: 1.线性回归 2.梯度下降 3.正规方程组   监督学习:告诉算法每个样本的正确答案,学习后的算法对新的输入也能输入正确的答案   1.线性回归 问题引入:假设有一房屋销售的数据如下: 引 ...

  5. C 替换字符方法--1

    #include "stdafx.h" //linux 底下要去掉这一行 #include <stdio.h> #include<stdlib.h> #in ...

  6. NYOJ之字符串逆序输出

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAswAAAJaCAIAAAC0jIYTAAAgAElEQVR4nO3du27rSpbGcb+Ecz2IU+ ...

  7. 瓦片地图与geoserver发布

    本文主要包括以下内容 TileMill生成Tile影像金字塔(.mbtiles压缩文件) Mbutil(https://github.com/mapbox/mbutil)解压缩 Apache HTTP ...

  8. 动手动脑及java程序之用消息框进行数的运算

        动手动脑     自信成就人生 动手动脑1 ✿仔细阅读示例: EnumTest.java,运行它,分析运行结果? package demo; public class Test { publi ...

  9. 与你相遇好幸运,mbview的mbtiles文件分析

    mbview是一个查看.mbtiles文件的本地程序. https://github.com/mapbox/mbview .mbtiles文件就是一个Sqlite文件,用Navicat Premium ...

  10. RTP RTCP在音视频传输与同步方面的使用

    转自:http://blog.csdn.net/kof98765/article/details/17733701 1 音视频实时传输 1.1 Jrtplib库介绍 本系统采用开源库Jrtplib进行 ...