P2663 越越的组队
原题链接 https://www.luogu.org/problem/P2663

很容易看出来是个背包问题嘛:
体积是总分的一半,求最高分,每个同学选或不选,是个 01背包问题。
自信地交上去之后发现只有 90pts ,为什么呢?
是不是忘了个条件啊喂,人家还要选 n/2 个人呐!
多一个条件就加一个维度。——zhx
有了第二个限制:重量是 n/2 ,这样就从一个 01背包问题转化成了二维背包问题,我们只需在 for 循环中多枚举一层 1~n/2 问题就搞定了。
上AC代码:
#include<iostream>
#include<cstdio>
using namespace std;
int read()
{
char ch=getchar();
int a=,x=;
while(ch<''||ch>'')
{
if(ch=='-') x=-x;
ch=getchar();
}
while(ch>=''&&ch<='')
{
a=(a<<)+(a<<)+(ch-'');
ch=getchar();
}
return a*x;
}
long long n,sum;
long long test[];
long long f[][]; //f[i][j]:选了i个人总分不超过j的最大分数
int main()
{
n=read();
for(int i=;i<=n;i++)
{
test[i]=read(); //每个人的分数
sum+=test[i]; //总分
}
for(int k=;k<=n;k++) //枚举每个人
{
for(int i=n/;i>=;i--) //限制人数的这个条件(重量)
{
for(int j=sum;j>=test[k];j--) //限制分数的这个条件(体积)
{
f[i][j]=max(f[i][j],f[i-][j-test[k]]+test[k]); //选或不选取max
}
}
}
printf("%lld",f[n/][sum/]);
return ;
}
P2663 越越的组队的更多相关文章
- 01-背包---P2663 越越的组队
P2663 越越的组队 题解 是这题数据水还是...(数据怎么知道我人数有没有超一半啊) 简化题目: 把n个数分成两组,使得较小的一组在不超过n个数总和一半的情况下和最大 (较小的一组之和肯定不超过总 ...
- 洛谷 P2663 越越的组队
题目描述 班级要组织一场综合能力竞赛,全班同学(N个,N是偶数)分成两队互相竞争.老师找到了越越并给了越越一张全班同学综合能力测试的成绩,要求他从全班同学中选出一半(他自己也可能被选),并要求这些同学 ...
- 洛谷—— P2663 越越的组队
https://www.luogu.org/problem/show?pid=2663 题目描述 班级要组织一场综合能力竞赛,全班同学(N个,N是偶数)分成两队互相竞争.老师找到了越越并给了越越一张全 ...
- 01背包---P2392 kkksc03考前临时抱佛脚
P2392 kkksc03考前临时抱佛脚 题解 01背包,类似于这道题,相似度99.999999%: 01-背包 P2663 越越的组队 一共有4科,每科的时间独立,然后每一科做一遍 P2663越 ...
- x264 - 高品质 H.264 编码器
转自:http://www.5i01.cn/topicdetail.php?f=510&t=3735840&r=18&last=48592660 H.264 / MPEG-4 ...
- sentence patterns
第四部分 推理题 1.世界上每个角落的每个人都有立场,都有背景,都有推理性,能推理出一个人语言的真意,才成就了真正的推理能力: 2.换言之,如果你能通过一个人的说话推理出其身份职业,你的推理能 ...
- MySQL 中 where id in (1,2,3,4,...) 的效率问题讨论
MySQL ACMAIN_CHM06-26 16:36 等级 84次回复 [求证&散分]MySQL 中 where id in (1,2,3,4,...) 的效率问题讨论 庆祝本月大版得 ...
- Ensemble Learning 之 Gradient Boosting 与 GBDT
之前一篇写了关于基于权重的 Boosting 方法 Adaboost,本文主要讲述 Boosting 的另一种形式 Gradient Boosting ,在 Adaboost 中样本权重随着分类正确与 ...
- 线性判别分析(LDA), 主成分分析(PCA)及其推导【转】
前言: 如果学习分类算法,最好从线性的入手,线性分类器最简单的就是LDA,它可以看做是简化版的SVM,如果想理解SVM这种分类器,那理解LDA就是很有必要的了. 谈到LDA,就不得不谈谈PCA,PCA ...
随机推荐
- Mish:一个新的SOTA激活函数,ReLU的继任者
Mish:一个新的SOTA激活函数,ReLU的继任者 CVer 昨天 以下文章来源于AI公园 ,作者ronghuaiyang AI公园 专注分享干货的AI公众号,图像处理,NLP,深度学习,机器学 ...
- (一)JMS简介
一.简介 JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进 ...
- (四)resultMap、sql片段与动态SQL
一.resultMap 1.1 为什么要用resultMap resultType:指定输出结果的类型(pojo.简单类型.hashmap),将SQL查询结果映射为Java对象. 使用resultTy ...
- SQL优化中的重要概念:事务
原文:SQL优化中的重要概念:事务 sql 优化和事务有关系? 从表面上看,让sql跑的更快,似乎和事务这个概念没什么联系,但是关系数据库中最重要的2个概念就是 关系.事务. 关系,对应到sql中,是 ...
- 最快得到MYSQL两个表的差集
Mysql里不外乎就是 子查询 和 连接 两种方式. 设第一个表为table1, 第二个为table2, table1包含table2. sql为: //子查询 select table1.id fr ...
- JS基础_函数作用域
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- legacy
int bw = blockDim.x; int bh = blockDim.y; int tx = threadIdx.x%bw; int ty = threadIdx.y%bh; __shared ...
- 【Distributed】分布式系统中遇到的问题
一.概述  大型互联网公司公司一般都采用服务器集群,这样就要实现多个服务器之间的通讯,在nginx实现负载均衡(分布式解决方案)服务器集群会产生那些问题? 分布式锁(基本)单纯的Lock锁或者syn ...
- insert buffer/change buffer double write buffer,双写 adaptive hash index(AHI) innodb的crash recovery innodb重要参数 innodb监控
https://yq.aliyun.com/articles/41000 http://blog.itpub.net/22664653/viewspace-1163838/ http://www.cn ...
- Image Processing and Analysis_8_Edge Detection:Design of steerable filters for feature detection using canny-like criteria ——2004
此主要讨论图像处理与分析.虽然计算机视觉部分的有些内容比如特 征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以 及它们的出处,没有把它们纳入到图像处理与分析中来.同样,这里面也有 ...