动态规划 BZOJ1584 [Usaco2009 Mar] Cleaning Up 打扫卫生
1584: [Usaco2009 Mar]Cleaning Up 打扫卫生
Time Limit: 10 Sec Memory Limit: 64 MB
Submit: 511 Solved: 349
[Submit][Status][Discuss]
Description
有N头奶牛,每头那牛都有一个标号Pi,1 <= Pi <= M <= N <= 40000。现在Farmer John要把这些奶牛分成若干段,定义每段的不河蟹度为:若这段里有k个不同的数,那不河蟹度为k*k。那总的不河蟹度就是所有段的不河蟹度的总和。
Input
第一行:两个整数N,M
第2..N+1行:N个整数代表每个奶牛的编号
Output
一个整数,代表最小不河蟹度
Sample Input
1
2
1
3
2
2
3
4
3
4
3
1
4
Sample Output
11
神奇的dp题,懒得写题解了,贴个链接
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 #include<algorithm> 6 using namespace std; 7 int n,m,nn; 8 int a[40010],f[40010],pre[40010],pos[40010],cnt[40010]; 9 int main() 10 { 11 scanf("%d%d",&n,&m); 12 nn=int(sqrt(n)); 13 for(int i=1;i<=n;i++) scanf("%d",&a[i]); 14 for(int i=0;i<=n;i++) f[i]=i; 15 memset(pre,-1,sizeof(pre)); 16 for(int i=1;i<=n;i++){ 17 for(int j=1;j<=nn;j++) 18 if(pre[a[i]]<=pos[j]) cnt[j]++; 19 pre[a[i]]=i; 20 for(int j=1;j<=nn;j++) 21 if(cnt[j]>j){ 22 int tmp=pos[j]+1; 23 while(pre[a[tmp]]>tmp) tmp++; 24 pos[j]=tmp; 25 cnt[j]--; 26 } 27 for(int j=1;j<=nn;j++) f[i]=min(f[i],f[pos[j]]+j*j); 28 } 29 printf("%d\n",f[n]); 30 return 0; 31 }
转载于:https://www.cnblogs.com/sdfzxh/p/7189570.html
动态规划 BZOJ1584 [Usaco2009 Mar] Cleaning Up 打扫卫生相关推荐
- 2个css特效冲突了怎么办_学生打扫卫生不积极怎么办?改变自己的观念,从2个方面影响学生...
昨天,有老师咨询我,"学生打扫卫生不积极怎么办?" 对于这个问题,君山在专栏里其实有过说明,但是假期里,可能很多人更关心的是建班之后该如何立威.如何建设班干部队伍的问题,对于这些小 ...
- BZOJ 3401: [Usaco2009 Mar]Look Up 仰望( 单调栈 )
n <= 105 , 其实是10 ^ 5 ....坑...我一开始写了个模拟结果就 RE 了.. 发现这个后写了个单调栈就 A 了... ---------------------------- ...
- bzoj 3399: [Usaco2009 Mar]Sand Castle城堡
3399: [Usaco2009 Mar]Sand Castle城堡 Time Limit: 3 Sec Memory Limit: 128 MB Submit: 145 Solved: 119 ...
- w550官方例程_过年打扫卫生,翻出了十年前的索爱W550,你用过吗?
原标题:过年打扫卫生,翻出了十年前的索爱W550,你用过吗? 过年回家打扫卫生,从书桌的抽屉深处翻出了一部陪伴我高中三年的手机,它的型号叫索尼爱立信W550.W系列其实是Walkman系列的缩写,这部 ...
- 打扫卫生工作安排_你的钟打扫干净了吗?
打扫卫生工作安排 Here in the states most of us ritualistically change our clocks twice a year in hopes to ga ...
- 1583: [Usaco2009 Mar]Moon Mooing 哞哞叫
1583: [Usaco2009 Mar]Moon Mooing 哞哞叫 Time Limit: 10 Sec Memory Limit: 64 MB Submit: 244 Solved: 12 ...
- 寝室打扫卫生负责人查询
寝室打扫卫生负责人查询 我们宿舍打扫卫生是轮流的,一个人一天,为了防止有人遗忘,故编写此程序(其实主要是因为闲的
- Steam游戏—底特律:化身成人,回家章节中女主角上二楼打扫卫生,按L Shift开窗按不动怎么办
首先,这个问题要明确故障原因,经笔者解决之后测试来看,应该是和windows系统下也要使用使用Shift按键切换输入法,热键冲突造成的,但当出现时,游戏中很多地方需要使用Shift键,过不去就是过不去 ...
- bzoj1583 [Usaco2009 Mar]Moon Mooing 哞哞叫
题目 一道类似两个序列合并的东西,通法就是上一个优先队列就好了,但是这道题会超时. 但是,仔细观察一下,序列是单增的(a>c),这就很好办了,类似做一个归并就好了. #include<bi ...
最新文章
- Java项目:CRM客户管理系统(java+SSM+jsp+mysql+maven)
- Java虚拟机学习(6):对象访问
- Golang 入门笔记(二)中
- 【报错笔记】项目中使用ArrayList<>报错:‘<>’operator is not allowed for source level below 1.7
- 程序幽默:会让程序员争论起来的几个话题
- js vue中得延时器_Vue.js实现时分秒倒计时
- Python基础:搭建开发环境(1)
- RequestMapping注解的继承问题
- Android Frame动画概述及示例
- 里皮正式告别国足:我尽了最大努力让球队成长
- 可视化大屏设计尺寸_大屏数据可视化设计规律
- MATLAB导出矢量图
- jxls设置隐藏列隐藏行
- 树莓派还能这么玩之做一个语音音箱
- 寻找http://localhost/phpmyadmin出现的问题:HTTP 错误 404.0 - Not Found 您要找的资源已被删除、已更名或暂时不可用
- java图片去掉水印
- 卫生洁具安装工艺标准
- Python计算圆的周长与面积
- 长沙理工大学本科毕业论文答辩和论文选题PPT模板
- 兰燕-杨平平的需求建议
热门文章
- 读书笔记 — Java高并发程序设计 — 第三章 — 锁
- Java知多少(25)再谈Java包
- Powershell管理系列(十一)Exchange完全访问权限邮箱的设置
- SQL2005 属性 IsLocked 不可用于 登录[sa]
- FindPrivateKey X509
- Spinal Cage Fusion
- xjtlu mac mail 绑定
- SFB 项目经验-57-Skype for business-录音系统-你拥有吗(模拟线路)
- UWP 图片剪切旋转工具
- SubSonic3.0.0.4.3源码包与调用Dll