手撸了几波小数据

容易发现最优解之一是所有人都按a[i]排序后再一段一段分开

如果不是这样的话,总会可以通过一些交换使之变成有序的

考虑dp,排序后f[i]=max{f[i-k]+1},k<=a[i],如果用两重循环的话时间貌似接受不了,用一个辅助数组g[]保存一下到当前位置的最大答案

#include<cstdio>
#include<algorithm>
#define N 1000005
using namespace std;int read()
{int a=0,f=1;char c=getchar();while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}while(c>='0'&&c<='9'){a=a*10+c-'0';c=getchar();}return a*f;
}int n;
int a[N],f[N],g[N];int main(void)
{n=read();for(int i=1;i<=n;++i) a[i]=read();sort(a+1,a+n+1);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(f[i],g[i-1]);}printf("%d",f[n]);return 0;
}

BZOJ 2386: [Ceoi2011]Team相关推荐

  1. bzoj2386 [CEOI2011] Team

    题意 给你n个数,每个数的大小在1到n之间,要求把它们分成几组,每个数字的大小要小于等于它所在组中的数字总个数,问最多能分出多少组. 分析 首先把所有数字排序,比较显然的是最后一定存在一个最优解是按这 ...

  2. BZOJ.1558.[JSOI2009]等差数列(线段树 差分)

    BZOJ 洛谷 首先可以把原序列\(A_i\)转化成差分序列\(B_i\)去做. 这样对于区间加一个等差数列\((l,r,a_0,d)\),就可以转化为\(B_{l-1}\)+=\(a_0\),\(B ...

  3. S-T平面图中利用最短路求最小割(BZOJ 1001)

    BZOJ 1001: [BeiJing2006]狼抓兔子 最小割 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1001 现在小朋友们最喜欢 ...

  4. Visual Studio 2005 Team System下载地址

    注册一个msn就可以去微软下载了,关于替换序列号变成正版的方法我没有试,team suite 我在用,但Team Foundation Server 我还没有安装好 Microsoft Visual ...

  5. BZOJ 1124: [POI2008]枪战Maf(构造 + 贪心)

    题意 有 \(n\) 个人,每个人手里有一把手枪.一开始所有人都选定一个人瞄准(有可能瞄准自己).然后他们按某个顺序开枪,且任意时刻只有一个人开枪. 因此,对于不同的开枪顺序,最后死的人也不同. 问最 ...

  6. BZOJ 2957楼房重建

    传送门 线段树 //Twenty #include<cstdio> #include<cstdlib> #include<iostream> #include< ...

  7. 【BZOJ 4016】[FJOI2014]最短路径树问题

    ! 卡时过了 为什么我的这么慢?姿势不对??? -->谢 ws_fqk 我的Do(num[i])应该用 DO(root) 找了半天的root居然没有用.... define的教训永远忘不了了!! ...

  8. BZOJ 3573 米特运输

    Description 米特是D星球上一种非常神秘的物质,蕴含着巨大的能量.在以米特为主要能源的D星上,这种米特能源的运输和储存一直是一个大问题.     D星上有N个城市,我们将其顺序编号为1到N, ...

  9. 高级网络配置《 bond team桥接 》的建立

    bond 资料详情 一.链路聚合:以太网链路聚合简称链路聚合,它通过将多条以太网物理链路捆绑在一起成为一条逻辑链路,从而实现增加链路带宽的目的.同时,这些捆绑在一起的链路通过相互间的动态备份,可以有效 ...

最新文章

  1. CentOS中安装的Gitlab忘记管理员密码怎样重置密码
  2. BCGControlBar使用(九)
  3. 网站如何接入第三方登录,微信登录和QQ登录:注册认证篇
  4. PhpStorm调用浏览器运行php文件
  5. C++字符串操作总结
  6. 实现算法2.15、2.16的程序(一个数组只生成一个静态链表)
  7. HttpClient 使用指南 - POST篇
  8. Graphpad prism 更改图表形状和尺寸教程
  9. 跨平台数据库ODB实战1-ODB安装
  10. java怎么求最大值和最小值,java求最大值和最小值
  11. ntp子母钟(gps子母钟系统)时钟系统在智能交通系统中的重要性
  12. Android肝帝战纪之Fragmentation的使用(单Activity+多Fragment设计)
  13. 异常检测方法梳理,看这篇就够了!
  14. 新手入门AI (Adobe Illustrator)软件工具详解(一)
  15. 如何查看手机上chrome浏览器的console日志打印
  16. Qt - 从零到壹的 打地鼠 游戏
  17. 毕业生在腾讯、百度、字节跳动就业人数全国高校第一!北京邮电大学2021届毕业生就业质量报告...
  18. JavaScript交互式网页设计 • 【第5章 JavaScript对象】
  19. Liblinear的使用
  20. 蚂蚁 Service Mesh 大规模落地实践与展望

热门文章

  1. size_t 数据类型
  2. JAXB实现xml与对象互相转换
  3. 《用两天学习光线追踪》3.球体和表面法向量
  4. 态度决定一切,细节决定成败!
  5. Spring Boot+Spring Cloud实现itoken项目
  6. caddy 2 源代码发布
  7. 腾讯云点播播放器TCPlayer开发文档整理edusoho
  8. c语言编程知识分享uc头条,资深程序员分享的C语言编程中的一些误用及知识总结...
  9. CPU指令解析及函数调用机制
  10. IDC报告显示,2015年中国超融合市场新华三领军