解题:BOI 2008 Elect
2024-10-21 07:15:16
做背包时可以通过排序来使得转移满足某种限制或是让我们判断一个状态是否有贡献
这个题将人数从大到小排序后做背包,这样每次那个最小的党加入而使得答案合法时之前的党也都是合法的
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=,M=;
int n,sum,ans,half;
int a[N],dp[M];
bool cmp(int a,int b)
{
return a>b;
}
int main ()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%d",&a[i]),sum+=a[i];
half=sum/,sort(a+,a++n,cmp);
for(int i=;i<=n;i++)
for(int j=sum;~j;j--)
{
if(j>=a[i]) dp[j]=max(dp[j],dp[j-a[i]]+a[i]);
if(dp[j]>half&&dp[j]-a[i]<=half) ans=max(ans,dp[j]);
}
printf("%d",ans);
return ;
}
最新文章
- python的with...as用法
- Android获取系统时间方法的总结
- JS多异步之间的协作方案
- android 通过帧动画方式播放Gif动画
- Python解析生成XML-ElementTree VS minidom
- java 基本类型和包装类的比较
- COB對PCB設計的要求
- jQuery 操作 input 之 checkbox
- php fsockopen
- WebSite---前台系统图片验证码心得
- 委托、事件、Observer观察者模式的使用解析一
- 《深入浅出node.js(朴灵)》【PDF】下载
- Linux使用CFSSL自签TLS证书
- NOIP-珠心算
- HOMER | MEME | 转录因子的靶基因预测
- 【转】How to initialize a two-dimensional array in Python?
- TCP简介(一)
- PXC添加新节点
- 纯CSS制作图形效果
- 通过scp拷贝文件时无需交互输入密码
热门文章
- C#与mongoDB初始环境搭建
- 从零开始的Python学习Episode 11——装饰器
- 数据挖掘学习笔记——kaggle 数据预处理
- spark-local-运行异常-Could not locate executable null\bin\winutils.exe in the Hadoop binaries
- Shell脚本初学习
- Linux 下web开发环境搭建-jdk环境搭建
- C++Primer第五版——习题答案和解析
- Alpha 冲刺(9/10)
- spring框架(3)— spring集合类的注入
- mybatis(一)MyBatis Generator