bzoj2386 [CEOI2011] Team
题意
给你n个数,每个数的大小在1到n之间,要求把它们分成几组,每个数字的大小要小于等于它所在组中的数字总个数,问最多能分出多少组.
分析
首先把所有数字排序,比较显然的是最后一定存在一个最优解是按这个顺序把所有数字划分为若干个区间,一个区间一组.(如果不是,一定可以进行恰当的交换使得是若干区间)
然后...我写了个错误的贪心...每次从后往前分组,分每一组的时候尽量少选人...然而这样不一定最优,例如 1 1 3 3 3 3,按这个贪心策略会分出{1,1,3},{3,3,3},最优解是{1},{1},{3,3,3,3}
你们看这就是菜鸡
应该DP,F[i]表示把前i个人分为若干组的最多组数,然后f[i]=max(f[0],f[1]...f[i-a[i])+1
#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=1000005;
int a[maxn];
int w[maxn];
int f[maxn],g[maxn];
int main(){
  int n;scanf("%d",&n);
  for(int i=1;i<=n;++i)scanf("%d",&a[i]),w[a[i]]++;
  int cnt=0;
  for(int i=1;i<=n;++i){
    while(w[i]--){
      a[++cnt]=i;
    }
  }
  f[0]=g[0]=0;
  for(int i=1;i<=n;++i){
    if(i>=a[i])f[i]=g[i-a[i]]+1;
    g[i]=max(g[i-1],f[i]);
  }
  printf("%d\n",f[n]);
  return 0;
}
												
											bzoj2386 [CEOI2011] Team的更多相关文章
- BZOJ2587 : [Ceoi2011]Team
		
将球员按限制从大到小排序,那么最优解中每支球队都是一个连续的区间. 设$f[i]$表示前$i$大的球员成功组队时,最多能组的队伍数,$g[i]$表示此时最大人数的最小值. 那么$f[i]=\max(f ...
 - bzoj AC倒序
		
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...
 - Configure a VLAN on top of a team with NetworkManager (nmcli) in RHEL7
		
SOLUTION VERIFIED September 13 2016 KB1248793 Environment Red Hat Enterprise Linux 7 NetworkManager ...
 - Create a Team in RHEL7
		
SOLUTION VERIFIED September 13 2016 KB2620131 Environment Red Hat Enterprise Linux 7 NetworkManager ...
 - Team Leader 你不再只是编码, 来炖一锅石头汤吧
		
h3{ color: #000; padding: 5px; margin-bottom: 10px; font-weight: bolder; background-color: #ccc; } h ...
 - Configure bridge on a team interface using NetworkManager in RHEL 7
		
SOLUTION IN PROGRESS February 29 2016 KB2181361 environment Red Hat Enterprise Linux 7 Teaming,Bridg ...
 - BZOJ 4742: [Usaco2016 Dec]Team Building
		
4742: [Usaco2016 Dec]Team Building Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 21 Solved: 16[Su ...
 - 关于 feature team 的一些内容
		
矩阵式管理,是常见的经典管理架构.其最早起源于美国的航空航天部门,然后被美国人带到了日本,然后被日本人带到了台湾,然后台湾人带到大陆...矩阵管理最典型的特征是,组织架构按职能与专业划分,项目由跨越部 ...
 - 病毒四度升级:安天AVL Team揭露一例跨期两年的电信诈骗进化史
		
自2014年9月起,安天AVL移动安全团队持续检测到一类基于Android移动平台的间谍类病毒,病毒样本大多伪装成名为"最高人民检察院"的应用.经过反编译逆向分析以及长期的跟踪调查 ...
 
随机推荐
- BZOJ1208_宠物收养所_KEY
			
题目传送门 平衡树的题. 因为题目给出条件(其实自己也知道):同一时间呆在收养所中的,要么全是宠物,要么全是领养者,这些宠物和领养者的个数不会超过10000个. 所以只要维护一颗平衡树,它的里面要不全 ...
 - 最简单的rman操作
			
连接: [root@oracle000 ‾]# su - oracle [oracle@oracle000 ‾]$ rman target / lines) Recovery Manager: Rel ...
 - 【转载】GC基本算法及C++GC机制
			
原文: GC基本算法及C++GC机制 阅读目录 前言 基本概念 有向可达图与根集 三种基本的垃圾收集算法及其改进算法 1.引用计数算法 2. Mark & Sweep 算法 3. 节点复制算法 ...
 - log4net始终占用日志文件的问题
			
在appender 下面加 <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
 - 建表/修改表名/增加删除字段(MySql)
			
修改表名:alter table 旧表名 rename 新表名; 删除字段:alter table 表名 drop 字段名; 增加字段:alter table 表名 add 字段名 字段类型 [def ...
 - Scrapy爬取美女图片第四集 突破反爬虫(上)
			
本周又和大家见面了,首先说一下我最近正在做和将要做的一些事情.(我的新书<Python爬虫开发与项目实战>出版了,大家可以看一下样章) 技术方面的事情:本次端午假期没有休息,正在使用fl ...
 - Maven学习(三)-----Maven本地资源库
			
Maven本地资源库 Maven的本地资源库是用来存储所有项目的依赖关系(插件jar和其他文件,这些文件被Maven下载)到本地文件夹.很简单,当你建立一个Maven项目,所有相关文件将被存储在你的M ...
 - javaweb(八)——HttpServletResponse对象(二)
			
一.HttpServletResponse常见应用——生成验证码 1.1.生成随机图片用作验证码 生成图片主要用到了一个BufferedImage类, 生成随机图片范例: 1 package gacl ...
 - vue 跳转到外部 后回跳
			
微信 vue 跳转到外部 后回跳 ,比如登陆 授权操作 .需要 路由 先跳转到一个中间页面 后再跳转到授权服务器!而不能跳转前的页面与回跳后的页面相同 不然回跳可能会出现空白 路由不解析.
 - 智慧树mooc自动刷课代码
			
最近学习javaScript和JQuery,恰好还有一门mooc没有看.结合学习的知识和其他人的代码:撸了一个自动播放课程的代码,同时自动跳过单章的测试题. 用电脑挂着不动就完事了. 如下: var ...