思路:

f[j]表示当ts的和为j的时候tf的最大值。

这时候要分情况讨论:

(我把状态平移了101000)

若ts[i]>=0倒序循环

否则正序 (防止ts被用了多次)

f[101000]=0;
for(int i=1;i<=n;i++)
if(ts[i]>=0)
for(int j=202000-ts[i];j>=0;j--)
f[j+ts[i]]=max(f[j+ts[i]],f[j]+tf[i]);
else
for(int j=-ts[i];j<=202000;j++)
f[j+ts[i]]=max(f[j+ts[i]],f[j]+tf[i]);
// by SiriusRen
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n,ts[105],tf[105],f[202005],ans=0;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d%d",&ts[i],&tf[i]);
memset(f,0xcf,sizeof(f));
f[101000]=0;
for(int i=1;i<=n;i++)
if(ts[i]>=0)
for(int j=202000-ts[i];j>=0;j--)
f[j+ts[i]]=max(f[j+ts[i]],f[j]+tf[i]);
else
for(int j=-ts[i];j<=202000;j++)
f[j+ts[i]]=max(f[j+ts[i]],f[j]+tf[i]);
for(int i=101000;i<=202000;i++)
if(f[i]>=0)ans=max(ans,f[i]+i-101000);
printf("%d\n",ans);
}

POJ 2184 DP的更多相关文章

  1. poj 2184 01背包变形【背包dp】

    POJ 2184 Cow Exhibition Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14657   Accepte ...

  2. POJ 2184 Cow Exhibition【01背包+负数(经典)】

    POJ-2184 [题意]: 有n头牛,每头牛有自己的聪明值和幽默值,选出几头牛使得选出牛的聪明值总和大于0.幽默值总和大于0,求聪明值和幽默值总和相加最大为多少. [分析]:变种的01背包,可以把幽 ...

  3. DP:Cow Exhibition(POJ 2184)(二维问题转01背包)

        牛的展览会 题目大意:Bessie要选一些牛参加展览,这些牛有两个属性,funness和smartness,现在要你求出怎么选,可以使所有牛的smartness和funness的最大,并且这两 ...

  4. poj 2184 Cow Exhibition(dp之01背包变形)

    Description "Fat and docile, big and dumb, they look so stupid, they aren't much fun..." - ...

  5. poj 2184(dp变形,进一步加深01背包)

    点击打开链接 题意: 给你n个物品,每个物品都有两个属性,s和f,要求选择一些物品,使sum(s)+sum(f)最大,并且sum(s)>=0&&sum(f)>=0, 根据0 ...

  6. (01背包变形) Cow Exhibition (poj 2184)

    http://poj.org/problem?id=2184   Description "Fat and docile, big and dumb, they look so stupid ...

  7. [POJ 2184]--Cow Exhibition(0-1背包变形)

    题目链接:http://poj.org/problem?id=2184 Cow Exhibition Time Limit: 1000MS   Memory Limit: 65536K Total S ...

  8. POJ 2184(01背包)(负体积)

    http://poj.org/problem?id=2184 http://blog.csdn.net/liuqiyao_01/article/details/8753686 对于负体积问题,可以先定 ...

  9. hdu 1513 && 1159 poj Palindrome (dp, 滚动数组, LCS)

    题目 以前做过的一道题, 今天又加了一种方法 整理了一下..... 题意:给出一个字符串,问要将这个字符串变成回文串要添加最少几个字符. 方法一: 将该字符串与其反转求一次LCS,然后所求就是n减去 ...

随机推荐

  1. Combo Select – jQuery可搜索下拉框插件

    今天用到另一款jq插件..插件就是无脑,,引入相关文件,开始撸吧 引入相关文件: <link href="~/Scripts/combo-select/combo.select.css ...

  2. POJ 3180 Tarjan

    题意:找强连通中点数大于2的强连通分量个数 思路:Tarjan // By SiriusRen #include <cstdio> #include <algorithm> u ...

  3. C#、SQL中的事务

    c#方法一: TransactionOptions transactionOption = new TransactionOptions(); //设置事务隔离级别 transactionOption ...

  4. Java基础——类和对象的初始化过程

    本节把类和对象的初始化所涉及到的所有代码块阐述一边. 示例代码: public class Demo { private static String name; private String age; ...

  5. DataBaseFactory基础了解

     <add name="Connection str" connectionString="data source=.;pwd=12;uid=sa;database ...

  6. 存储过程(带有逻辑的sql语句)

    -- 创建存储过程 DELIMITER $       -- 声明存储过程的结束符 CREATE PROCEDURE pro_test()           --存储过程名称(参数列表) BEGIN ...

  7. Day 02 - 01 计算机的操作系统

    操作系统 场景:有以下三个人 1.庄园主 -->相当于人类 2.管家 --> 把人类要传达的信息分配给奴隶,相当于操作系统 3.奴隶 -->为人类干活的机器 1.操作系统做了什么? ...

  8. Tensorflow学习笔记----基础(3)

    目录: 一.TensorFlow的系统架构 二.TensorFlow的设计理念 三.TensorFlow的运行流程 四.TensorFlow的编程模型:边.节点.图.设备.变量.变量初始化.内核 五. ...

  9. HDU 2078 选课时间( 水题 )

    链接:传送门 思路:水题略 /************************************************************************* > File N ...

  10. JavaScript 实现简单的 弹出框关闭框

    JavaScript 实现简单的 弹出框关闭框 知识点: 1.javaScript 添加HTML标签 2.javaScript 添加HTML标签属性 3.javaScript 追加元素 代码献上: & ...