https://leetcode-cn.com/contest/weekly-contest-114/problems/tallest-billboard/

给出一个集合,询问能否挑出两个不重叠的子集,使得两个子集内的数字和一样,求数字和最大是多少。

一开始枚举所有集合然后dp一波果断T了。

正解是f(i,j)表示前i个数字,组成的两个集合差为j的时候较大的集合内的数字和,然后枚举一下三种情况dp即可。

一开始少算了一种情况,是把第i加在较小的集合里,仍没超过较大的集合。

 class Solution {
public:
#define inf 0x3f3f3f3f
int tallestBillboard(vector<int>& rods) {
int f[][];
memset(f,-inf,sizeof(f));
f[][]=;
for(int i=;i<rods.size();++i){
for(int j=;j<=;++j){
f[i+][j]=max(f[i+][j],f[i][j]);
if(j>=rods[i]&&f[i][j-rods[i]]!=-inf)f[i+][j]=max(f[i+][j],rods[i]+f[i][j-rods[i]]);
if(rods[i]>=j&&f[i][rods[i]-j]!=-inf)f[i+][j]=max(f[i+][j],j+f[i][rods[i]-j]);
if(j+rods[i]<=&&f[i][j+rods[i]])f[i+][j]=max(f[i+][j],f[i][j+rods[i]]);
}
}
return max(,f[rods.size()][]);
}
};

leetcode-956. 最高的广告牌的更多相关文章

  1. Swift LeetCode 目录 | Catalog

    请点击页面左上角 -> Fork me on Github 或直接访问本项目Github地址:LeetCode Solution by Swift    说明:题目中含有$符号则为付费题目. 如 ...

  2. leetcode动态规划题目总结

    Hello everyone, I am a Chinese noob programmer. I have practiced questions on leetcode.com for 2 yea ...

  3. leetcode难题

    4 寻找两个有序数组的中位数       35.9% 困难     10 正则表达式匹配       24.6% 困难     23 合并K个排序链表       47.4% 困难     25 K ...

  4. [LeetCode] #1# Two Sum : 数组/哈希表/二分查找/双指针

    一. 题目 1. Two SumTotal Accepted: 241484 Total Submissions: 1005339 Difficulty: Easy Given an array of ...

  5. [Swift]LeetCode956. 最高的广告牌 | Tallest Billboard

    You are installing a billboard and want it to have the largest height.  The billboard will have two ...

  6. 【Leetcode周赛】从contest-111开始。(一般是10个contest写一篇文章)

    Contest 111 (题号941-944)(2019年1月19日,补充题解,主要是943题) 链接:https://leetcode.com/contest/weekly-contest-111 ...

  7. 我为什么要写LeetCode的博客?

    # 增强学习成果 有一个研究成果,在学习中传授他人知识和讨论是最高效的做法,而看书则是最低效的做法(具体研究成果没找到地址).我写LeetCode博客主要目的是增强学习成果.当然,我也想出名,然而不知 ...

  8. LeetCode All in One 题目讲解汇总(持续更新中...)

    终于将LeetCode的免费题刷完了,真是漫长的第一遍啊,估计很多题都忘的差不多了,这次开个题目汇总贴,并附上每道题目的解题连接,方便之后查阅吧~ 477 Total Hamming Distance ...

  9. [LeetCode] Longest Substring with At Least K Repeating Characters 至少有K个重复字符的最长子字符串

    Find the length of the longest substring T of a given string (consists of lowercase letters only) su ...

  10. Leetcode 笔记 113 - Path Sum II

    题目链接:Path Sum II | LeetCode OJ Given a binary tree and a sum, find all root-to-leaf paths where each ...

随机推荐

  1. luogu3978 [TJOI2015]概率论

    题目链接:洛谷 题目大意:求所有$n$个点的有根二叉树的叶子节点数总和/$n$个点的有根二叉树的个数. 数据范围:$n\leq 10^9$ 生成函数神题!!!!(我只是来水博客的) 首先$n$个点的有 ...

  2. Oracle实用操作

    查询用户下所有表:select * from tab; 删除表: drop table 表名; 但是删除表后还是会查询到BIN开头的垃圾表,drop后的表存在于回收站: 清空回收站所有表:  purg ...

  3. PyQt5的安装及基本配置

    安装PyQt5 注:Pyqt5只支持python3.5以上版本 Mac安装 Mac上使用编译安装的话,后面使用pyinstaller打包可能会出问题,推荐使用命令行一键安装,Linux如果包管理没有的 ...

  4. textarea 标签的使用

    <textarea rows="行数" cols="列数">默认出现文本</textarea> 阻止拉伸:style="res ...

  5. week_one-python基础 基本语法、流程控制

    金角大王的紫金葫芦,python开发环境介绍链接:http://list.youku.com/albumlist/show/id_28961509.html # Author:larlly pytho ...

  6. mybatis 查询优化主子表查询之association和collection

    很多开发人员之所以编写出低效的应用,有一大原因是并不理解怎样编写高效的SQL.以订单查询为例,我们经常需要查询某个用户的订单以及订单明细,并且以树形方式展现如下: 对于这种性质的功能,很多开发人员的做 ...

  7. Android studio新建文件出现setContentView(R.layout.activity_main);中的R标红错误解决方法

    今天打开Android studio突然出现了setContentView(R.layout.activity_main);中的R标红错误,这已经不是第一次出现这个错误了,真心的觉得Android s ...

  8. centos6.5换yum源

    centos换yum源要借助wget,要先安装wget 输入yum -y install wget命令以安装wget 若安装wget失败或卡死, ctrl+z,ps -ef | grep yum,之后 ...

  9. Learning-Python【10】:函数初识

    一.什么是函数 函数就是代码的一种组织形式,是指将一组语句的集合通过一个名字(函数名)封装起来,要想指向这个函数,只需要调用其函数名即可 函数分为两大类:内置函数 和 自定义函数 二.为何要用函数 减 ...

  10. 关于MVC RouteExistingFiles疑问

    如图,使用ajpg模拟静态资源.使用 routes.RouteExistingFiles = true; 使静态资源也Map Route,匹配不到则显示Not Foud. ①/a.jpg:访问不到 ② ...