博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ Cow Exhibition
阅读量:5846 次
发布时间:2019-06-18

本文共 1158 字,大约阅读时间需要 3 分钟。

  

题目链接:

题目意思自己看吧。

算法分析:

    对我来想是没有想到,最后看别人的博客才知道的。要把当中的一个条件当作体积。由于两个条件都存在负数,所以还要先保证最后不会再体积中出现负数的情况。这个easy想到就是给其加上一个题目负数的上限就好了。还有的就是当中的正负出现会影响计算时候的正逆顺序。细节自己看吧。我也不太懂得讲。

#include 
#include
#include
#include
using namespace std;const int MAXN = 200005;const int INF = ~0U >> 2;int dp[MAXN],s[105],f[105];int main(){ int n; while(~scanf("%d",&n)) { int V = 100000; for(int i = 0;i < n;++i) scanf("%d%d",&s[i],&f[i]); for(int i = 0;i < MAXN;++i) dp[i] = -INF; dp[V] = 0; int maxv,minv; maxv = minv = V; for(int i = 0;i < n;++i){ if(s[i] > 0) for(int j = maxv;j >= minv;--j) dp[j+s[i]] = max(dp[j+s[i]],dp[j]+f[i]); else for(int j = minv;j <= maxv;++j) dp[j+s[i]] = max(dp[j+s[i]],dp[j]+f[i]); } int ans = 0; for(int i = V;i <= maxv;++i){ if(dp[i] >= 0) ans = max(ans,dp[i]+i-V); } printf("%d\n",ans); } return 0;}
  

转载于:https://www.cnblogs.com/clnchanpin/p/7264635.html

你可能感兴趣的文章
网上下的在线解压程序,在WIN下测式正常,传到LINUX里却不行也不报错
查看>>
Linux:死锁问题
查看>>
Python 图像处理(一)PIL
查看>>
简述SSL协议
查看>>
[JAVAWEB实战篇]---Jsp生成页面验证码的方法
查看>>
python交互模式下命令tab补全
查看>>
javascript08-function
查看>>
[问题集锦0001]]“nvidia grid vgpu支持与桌面设置不匹配”
查看>>
zabbix调用sendsms.py脚本,发送短信
查看>>
iOS修改项目名称
查看>>
iOS基础篇——OC 类的继承介绍
查看>>
解决windows环境中python2.7'ascii' codec can't encode character
查看>>
maven 项目中出现红叉
查看>>
oracle用户表视图初探
查看>>
使用HPjmeter分析GC log
查看>>
每天一个linux命令(3):pwd命令
查看>>
google重定向错误问题
查看>>
当你碰到所装操作系统和服务器不兼容该怎么办?(虚拟化技术)
查看>>
Sublime3 快捷键
查看>>
apache压力测试(性能及监控)
查看>>