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

13 4
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 打扫卫生相关推荐

  1. 2个css特效冲突了怎么办_学生打扫卫生不积极怎么办?改变自己的观念,从2个方面影响学生...

    昨天,有老师咨询我,"学生打扫卫生不积极怎么办?" 对于这个问题,君山在专栏里其实有过说明,但是假期里,可能很多人更关心的是建班之后该如何立威.如何建设班干部队伍的问题,对于这些小 ...

  2. BZOJ 3401: [Usaco2009 Mar]Look Up 仰望( 单调栈 )

    n <= 105 , 其实是10 ^ 5 ....坑...我一开始写了个模拟结果就 RE 了.. 发现这个后写了个单调栈就 A 了... ---------------------------- ...

  3. bzoj 3399: [Usaco2009 Mar]Sand Castle城堡

    3399: [Usaco2009 Mar]Sand Castle城堡 Time Limit: 3 Sec  Memory Limit: 128 MB Submit: 145  Solved: 119 ...

  4. w550官方例程_过年打扫卫生,翻出了十年前的索爱W550,你用过吗?

    原标题:过年打扫卫生,翻出了十年前的索爱W550,你用过吗? 过年回家打扫卫生,从书桌的抽屉深处翻出了一部陪伴我高中三年的手机,它的型号叫索尼爱立信W550.W系列其实是Walkman系列的缩写,这部 ...

  5. 打扫卫生工作安排_你的钟打扫干净了吗?

    打扫卫生工作安排 Here in the states most of us ritualistically change our clocks twice a year in hopes to ga ...

  6. 1583: [Usaco2009 Mar]Moon Mooing 哞哞叫

    1583: [Usaco2009 Mar]Moon Mooing 哞哞叫 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 244  Solved: 12 ...

  7. 寝室打扫卫生负责人查询

    寝室打扫卫生负责人查询 我们宿舍打扫卫生是轮流的,一个人一天,为了防止有人遗忘,故编写此程序(其实主要是因为闲的

  8. Steam游戏—底特律:化身成人,回家章节中女主角上二楼打扫卫生,按L Shift开窗按不动怎么办

    首先,这个问题要明确故障原因,经笔者解决之后测试来看,应该是和windows系统下也要使用使用Shift按键切换输入法,热键冲突造成的,但当出现时,游戏中很多地方需要使用Shift键,过不去就是过不去 ...

  9. bzoj1583 [Usaco2009 Mar]Moon Mooing 哞哞叫

    题目 一道类似两个序列合并的东西,通法就是上一个优先队列就好了,但是这道题会超时. 但是,仔细观察一下,序列是单增的(a>c),这就很好办了,类似做一个归并就好了. #include<bi ...

最新文章

  1. Java项目:CRM客户管理系统(java+SSM+jsp+mysql+maven)
  2. Java虚拟机学习(6):对象访问
  3. Golang 入门笔记(二)中
  4. 【报错笔记】项目中使用ArrayList<>报错:‘<>’operator is not allowed for source level below 1.7
  5. 程序幽默:会让程序员争论起来的几个话题
  6. js vue中得延时器_Vue.js实现时分秒倒计时
  7. Python基础:搭建开发环境(1)
  8. RequestMapping注解的继承问题
  9. Android Frame动画概述及示例
  10. 里皮正式告别国足:我尽了最大努力让球队成长
  11. 可视化大屏设计尺寸_大屏数据可视化设计规律
  12. MATLAB导出矢量图
  13. jxls设置隐藏列隐藏行
  14. 树莓派还能这么玩之做一个语音音箱
  15. 寻找http://localhost/phpmyadmin出现的问题:HTTP 错误 404.0 - Not Found 您要找的资源已被删除、已更名或暂时不可用
  16. java图片去掉水印
  17. 卫生洁具安装工艺标准
  18. Python计算圆的周长与面积
  19. 长沙理工大学本科毕业论文答辩和论文选题PPT模板
  20. 兰燕-杨平平的需求建议

热门文章

  1. 读书笔记 — Java高并发程序设计 — 第三章 — 锁
  2. Java知多少(25)再谈Java包
  3. Powershell管理系列(十一)Exchange完全访问权限邮箱的设置
  4. SQL2005 属性 IsLocked 不可用于 登录[sa]
  5. FindPrivateKey X509
  6. Spinal Cage Fusion
  7. xjtlu mac mail 绑定
  8. SFB 项目经验-57-Skype for business-录音系统-你拥有吗(模拟线路)
  9. UWP 图片剪切旋转工具
  10. SubSonic3.0.0.4.3源码包与调用Dll