U102488-傻叉题【dp】

前言

%\%%一下出题人BPMBPMBPM


正题

题目链接:https://www.luogu.com.cn/problem/U102488


题目大意

nnn个数,选取两组(不一定要全用上)使得他们的和相等且最大。


解题思路

考虑dpdpdpfi,jf_{i,j}fi,j表示到第iii个,差值为jjj(这里的差值是大的减去小的)。

然后有

  1. 不选fi,j=fi−1,jf_{i,j}=f_{i-1,j}fi,j=fi1,j
  2. 加在大的那个上
    fi,j+ai=fi−1,j+aif_{i,j+a_i}=f_{i-1,j}+a_ifi,j+ai=fi1,j+ai
  3. 加在小的那个上
    fi,∣j−ai∣=fi−1,j+max{ai−j,0}f_{i,|j-a_i|}=f_{i-1,j}+max\{a_i-j,0\}fi,jai=fi1,j+max{aij,0}

时间复杂度O(n2)O(n^2)O(n2)


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=5100;
int n,a[N],f[N][N];
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d",&a[i]);memset(f,0xcf,sizeof(f));f[0][0]=0;for(int i=1;i<=n;i++){for(int j=0;j<=5000;j++){f[i][j]=max(f[i][j],f[i-1][j]);f[i][j+a[i]]=max(f[i][j+a[i]],f[i-1][j]+a[i]);f[i][abs(j-a[i])]=max(f[i][abs(j-a[i])],f[i-1][j]+max(a[i]-j,0));}}printf("%d",f[n][0]);
} 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/321590.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TypeScript 2.8引入条件类型

最新发布的TypeScript 2.8包含了若干主要特性和一些问题修复&#xff0c;其中最为重要的是新增了条件类型&#xff0c;开发人员可以根据其他类型的特征为变量选择适当的类型。条件类型最适合与泛型组合在一起使用。如果一个框架总是重复相同的选择性代码&#xff0c;就会变得很…

2、oracle数据库的用户和权限

ORACLE用户和权限 每个用户都有一个默认表空间和一个临时表空间&#xff0c;因此操作用户的顺序一般是先创建表空间&#xff0c;然后创建用户&#xff0c;之后赋权。 1.创建表空间 1.1 创建临时表空间 create temporary tablespace test_tmp tempfile /home/oracle/aracle…

jzoj6451-[2020.01.19NOIP提高组]不幸运数字【记忆化搜索,数位dp,高精度】

正题 题目链接:https://jzoj.net/senior/#main/show/6451 题目大意 给出a,ba,ba,b&#xff0c;求[a,b][a,b][a,b]这个区间中有多少数字包含444。 解题思路 用fi,j,kf_{i,j,k}fi,j,k​表示到第iii位&#xff0c;是否含有444&#xff0c;前面的位是否都到达上限。 然后dfsdfs…

用分布式缓存提升ASP.NET Core性能

得益于纯净、轻量化并且跨平台支持的特性&#xff0c;ASP.NET Core作为热门Web应用开发框架&#xff0c;其高性能传输和负载均衡的支持已广受青睐。实际上&#xff0c;10-20台Web服务器还是轻松驾驭的。有了多服务器负载的支持&#xff0c;使得Web应用层在业务增长时随时采用水…

3、oracle数据库的语法基础

ORACLE语法基础 ORACLE的语法基础主要包括数据类型和SQL语法。 1.数据类型 1.1字符型 用于存储文本的数据类型 CHAR&#xff08;固定长度字符串1-2000个字节&#xff09; VARCHAR2&#xff08;可变长度字符串&#xff0c;字符串1-4000个字节&#xff09; LONG&#xff08;更…

123记住密码设置

1、打开123所在安装目录 2、进入config目录 3、找到.ovpn文件 4、找到auth-user-pass&#xff0c;没有的话在最后填写即可 在.ovpn同级目录下创建一个.txt文件&#xff0c;然后在这里设置一下 例如&#xff1a;auth-user-pass pass.txt 5、创建.txt文件&#xff0c;填写用户名…

Visual Studio 2017 15.7预览版发布

Visual Studio 2017已经发布一年多了&#xff0c;微软一直持续定期推出更新。第7个预览版也已发布&#xff0c;这一版本继续带来大量的改进。首先是增加了对TypeScript 2.8的支持。TypeScript 2.8带来了条件类型、JSX Pragma和映射类型标识符的可控性。VS2017的其他改进还包括在…

P3377-[模板]左偏树(可并堆)

正题 题目链接:https://www.luogu.com.cn/problem/P3377 题目大意 开始时nnn个只有一个数的集合&#xff0c;要求支持 合并两个集合查询一个集合中的最小值并删除 解题思路 左偏树就是维护一个满足以下性质的树 对于valxval_xvalx​有valx<vallsxval_x<val_{ls_x}va…

4、oracle数据库的查询基础

ORACLE查询基础 介绍oracle下数据的查询时用到的一些运算符、关键字和函数。 1.运算符 在进行数据查询时&#xff0c;有的时候不只是查询字段值&#xff0c;还需要做一些数据处理的操作&#xff0c;这时候就用到了运算符 -- 算术运算符 - * / -- 连接运算符 || -- 比较运算…

2018年4月更新70多个公司dnc招聘职位

2018年4月更新70多个公司dnc招聘职位请在本页回复&#xff0c;补充dnc招聘信息、公司案例dnc简介dnc .NET Core、dotnet Core简写dnc是微软新一代主力编程平台&#xff0c;开源、免费、跨平台、轻量级、高性能&#xff0c;可部署到Linux、Docker、k8s等环境&#xff0c;适合开…

P1552-[APIO2012]派遣【左偏树】

正题 题目链接:https://www.luogu.com.cn/problem/P1552 题目大意 一个nnn个点森林&#xff0c;每个点有价值和代价&#xff0c;选择一个点并在这个点的子树中选择一些点使得。 选择的点数∗该点的价值选择的点数*该点的价值选择的点数∗该点的价值最大且选择的点的代价之和不…

5、oracle下数据完整性约束

ORACLE下数据完整性约束 为了保证数据的完整性和结构的正确性&#xff0c;oracle也有很多约束条件。 1.数据完整性 为了保证数据的完整性&#xff0c;一般对数据列&#xff08;字段&#xff09;进行如下约束&#xff0c;主键约束&#xff08;PRIMARY KEY&#xff09;、唯一键…

把旧系统迁移到.Net Core 2.0 日记(1) - Startup.cs 解析

因为自己到开发电脑转到Mac Air&#xff0c;之前的Webform/MVC应用在Mac 跑不起来&#xff0c;而且.Net Core 2.0 已经比较稳定了。1. 为什么会有跨平台的.Net Core 近年来&#xff0c;我们已经进入云计算时代&#xff0c;在云平台的PaSS和SaSS上也是发生了大幅度的进化&#x…

P3261-[JLOI2015]城池攻占【左偏树】

正题 题目链接:https://www.luogu.com.cn/problem/P3261 题目大意 nnn个点的树&#xff0c;每个节点有一个防御值和一个攻击后的影响(让你的伤害加上一个数或者乘上一个数) 然后mmm个骑士&#xff0c;给定初始攻击点和初始伤害&#xff0c;不停往上走&#xff0c;遇到防御小于…

6、oracle数据库下查询操作

ORACLE下查询操作 针对数据库操作最多的就是数据查询&#xff0c;这里分享一个我常用的方法&#xff0c;看到需求后&#xff0c;先确定查询范围&#xff0c;就是需要查询哪些表&#xff1b;之后确定查询条件&#xff1b;最后写出查询的字段。 ORACLE中之前说过有两个伪列ROWI…

ASP.NET Core 2.0 : 图说管道,唐僧扫塔的故事

本文通过一张GIF动图来继续聊一下ASP.NET Core的请求处理管道&#xff0c;从管道的配置、构建以及请求处理流程等方面做一下详细的研究。&#xff08;ASP.NET Core系列目录&#xff09;一、概述上文说到&#xff0c;请求是经过 Server监听>处理成httpContext>Application…

P3521-[POI2011]ROT-Tree【线段树合并】

正题 题目链接:https://www.luogu.com.cn/problem/P3521 题目大意 一棵二叉树&#xff0c;叶子节点有权值&#xff0c;对于每个非叶子节点可以选择交换左右节点&#xff0c;求最后遍历出来的叶子节点权值逆序对最少。 解题思路 十分显然一个节点是否交换是不影响该节点子树之…

7、oracle下的序列

ORACLE下的序列 序列是一种数据库对象&#xff0c;用于生成一系列的整数&#xff0c;可以用来唯一的标记一条记录&#xff0c;在mysql种有字段自增的概念&#xff0c;但是oracle种是没有字段自增的&#xff0c;所以可以使用序列来作为主键的自动生成方式。 1.序列的使用 序列…

ASP.NET MVC应用迁移到ASP.NET Core及其异同简介

ASP.NET Core是微软新推出支持跨平台、高性能、开源的开发框架&#xff0c;相比起原有的ASP.NET来说&#xff0c;ASP.NET Core更适合开发现代应用程序&#xff0c;如跨平台、Dorker的支持、集成现代前端开发框架(如npm、bower、gulp等等)。另外相比ASP.NET它的性能更好&#xf…

Div1 小A抓小B tarjan双连通分量缩点+dfs

题目描述 小A和小B在一个无向图G上进行一个游戏。图G是连通的&#xff0c;有n个点&#xff0c;n条边&#xff0c;无重边&#xff0c;无自环&#xff0c;结点编号为1~n。游戏开始前小A在结点x&#xff0c;小B在结点y&#xff08;x≠y&#xff09;。游戏开始后&#xff0c;小A和小…