算法提高 求最大值

時間限制:1.0s   內存限制:256.0MB

問題描述給n個有序整數對ai bi,你需要選擇一些整數對 使得所有你選定的數的ai+bi的和最大。並且要求你選定的數對的ai之和非負,bi之和非負。輸入格式輸入的第一行為n,數對的個數  以下n行每行兩個整數 ai bi輸出格式輸出你選定的數對的ai+bi之和樣例輸入5-403 -625-847 901-624 -708-293 413886 709樣例輸出1715數據規模和約定1<=n<=100  -1000<=ai,bi<=1000

這道題呢  神奇的背包變種- -。 首先呢  背包是沒有負數的- -這時候就需要把負數變成正數 然后背包一下  動態規划出所有可能的結果

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

int d[400005];

int a[400005],b[400005];

int ss=100000;

int main()

{

int n;

while(cin>>n)

{

memset(d,-1,sizeof(d));

int x,y;

int s;

d[200000]=1; //以20w的中間值作為數軸的0點

for(int i=0;i

{

cin>>x>>y;

if(x+y>0) //當輸出的兩個數的和為整數的時候,倒着放 和01背包相同

{

for(int j=400000;j>=0;j--)

{

if(j-x-y>=0&&j-x-y<=400000)

{

if(d[j]==1&&d[j-x-y]==1)

{

a[j]=max(a[j],a[j-x-y]+x);

b[j]=max(b[j],b[j-x-y]+y);

}

else if(d[j]

{

a[j]=a[j-x-y]+x;

b[j]=b[j-x-y]+y;

}

d[j]=max(d[j],d[j-x-y]);

if(d[j]==1)

{

// cout<

}

}

}

}

else //然后呢 小於0的時候 正着放 和01背包相同

{

for(int j=0;j<=400000;j++)

{

if(j-x-y>=0&&j-x-y<=400000)

{

if(d[j]==1&&d[j-x-y]==1)

{

a[j]=max(a[j],a[j-x-y]+x);

b[j]=max(b[j],b[j-x-y]+y);

}

else if(d[j]

{

a[j]=a[j-x-y]+x;

b[j]=b[j-x-y]+y;

}

d[j]=max(d[j],d[j-x-y]);

if(d[j]==1)

{

//cout<

}

}

}

}

}

int i;

for(i=400000;i>200000;i--)

{

if(d[i]==1&&a[i]>=0&&b[i]>=0) //這時候就是找,最大的值

{

cout<

break;

}

}

if(i<=200000)

{

cout<

}

}

}

java算法提高求最大值_藍橋杯 算法提高 求最大值相关推荐

  1. 油漆面积 java_第八屆藍橋杯省賽 JavaA組 第十題 標題:油漆面積

    題目描述: X星球的一批考古機器人正在一片廢墟上考古. 該區域的地面堅硬如石.平整如鏡. 管理人員為方便,建立了標准的直角坐標系. 每個機器人都各有特長.身懷絕技.它們感興趣的內容也不相同. 經過各種 ...

  2. java大整数的加减乘除_关于大整数的加减乘除求余运算 java

    自己用java 实现了大字符串整数的加减乘除和求余运算, 加减法的算法是模拟手工笔算的计算过程, 除法就是从最高位不停的减操作, 乘法的算法 :遍历一个数的各个位数以及他所在位置,另一个数根据这个数的 ...

  3. java 文本分析 关键词提取_文本关键词提取算法总结

    1.TF-IDF 昨天给大家演示简单的文本聚类,但要给每个聚类再提取一两个关键词用于表示该聚类.我们还是用TFIDF算法来做,因为这是比较简单的提取特征算法,不过这里的TF是指某词在本聚类内所有文章的 ...

  4. 什么是算法算法有些什么特性_反正是什么算法

    什么是算法算法有些什么特性 What you need to know about the simple concept that powers the modern world. 您需要了解为现代世 ...

  5. 二分法算法复杂度简化_让我们简化算法的复杂性!

    二分法算法复杂度简化 by Shruti Tanwar 通过Shruti Tanwar 让我们简化算法的复杂性! (Let's simplify algorithm complexities!) It ...

  6. java queue 最大值_[剑指offer题解]队列的最大值/滑动窗口的最大值

    前言 众所周知,<剑指offer>是一本"好书". 为什么这么说? 因为在技术面试中,它里面罗列的算法题在面试中出现的频率是非常非常高的. 有多高,以我目前不多的面试来 ...

  7. python求三个整数最大值_实例讲解Python中整数的最大值输出

    实例讲解Python中整数的最大值输出 在Python中可以存储很大的值,如下面的Python示例程序: x = 1000000000000000000000000000000000000000000 ...

  8. java实现子序列最大和_“最大子序列和”算法 java

    maxSubSum各自是最大子序列和的4中java算法实现. 第一种算法执行时间为O(N^3),另外一种算法执行时间为O(N^2),第三种算法执行时间为O(nlogn),第四种算法执行时间为线性N p ...

  9. java 如何将数字倒置_每日一个小算法之整数中每位上的数字进行反转 20190810

    题目要求: 给出一个32位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123输出: 321 示例 2: 输入: -123输出: -321 示例 3: 输入: 120输出 ...

最新文章

  1. asp.net 获取当前时间的格式
  2. Hyper-V虚拟机快照占用磁盘空间过多,导致虚拟机不能启动怎么办
  3. python画柱状图和折线图-Python数据可视化–折线图–柱状图
  4. nexus代理地址整理
  5. 多媒体表示、描述、编码以及通信的相关规定和标准课程总结
  6. ajax实现上传文件
  7. 深入ASP.NET MVC之七:ActionResult的执行(View的加载和渲染)
  8. UI设计素材|愉快的万圣节的插图着陆页
  9. 《为大量出现的KPI流快速部署异常检测模型》 笔记
  10. 20190809:旋转数组
  11. 您好,我是中科院做语音识别的博士生,我想参加阿里招聘但是,北京 爱问知识人...
  12. 输出100之间的所有质数(素数)
  13. pytorch自我错误总结
  14. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_4-2.微服务下登录检验解决方案 JWT讲解...
  15. Python【map、reduce、filter】内置函数使用说明(转载)
  16. qq操作技巧 - 网上收集
  17. 显卡硬解4k测试软件,对飙4K硬解 看谁才是笑到最后的大佬
  18. pe系统测试软件,使用PE系统显示器测试工具检测电脑屏幕的方法
  19. 2008年度世界五百强
  20. c语言 16 16 字库,用C语言编程16点阵字库

热门文章

  1. 纵观软件行业开发方法论的发展
  2. 飞鸽推广的由咪商务微博
  3. 入门Python,总遇到这样那样的安装问题,手把手教会你
  4. 宏基因组云讲堂今晚8点开讲!第一期由刘永鑫博士主持,特邀袁军副教授分享纯生信发表ISME文章的思路...
  5. Funter for Mac:支持快速显示和隐藏文件和文件夹
  6. Mac Backup软件:不要冒险您的数据!
  7. 鸿蒙济判法讲义,2020-02-09《薛兆丰经济学讲义》读书笔记
  8. 2.2 基本算法之递归和自调用函数 1751 分解因数 python
  9. oracle监听服务无法启动不了,关于ORACLE监听服务无法启动的问题
  10. 【ES6(2015)】Function函数