题目描述

每天,小明和他的马外出,然后他们一边跑一边玩耍。当他们结束的时候,必须带所有的马返回马棚,小明有K个马棚。他把他的马排成一排然后跟随它走向马棚,因为他们非常疲劳,小明不想让他的马做过多的移动。因此他想了一个办法:将马按照顺序放在马棚中,后面的马放的马棚的序号不会大于前面的马放的马棚的序号。而且,他不想他的K个马棚中任何一个空置,也不想任何一匹马在外面。已知共有黑、白两种马,而且它们相处得并不十分融洽。如果有i个白马和j个黑马在一个马棚中,那么这个马棚的不愉快系数将是i*j。所有k个马棚不愉快系数的和就是系数总和。确定一种方法把n匹马放入k个马棚,使得系数总和最小。

输入格式

输入:在第一行有两个数字:n(1≤n≤500)和k(1≤k≤n)。在接下来的n行是n个数。在这些行中的第i行代表队列中的第i匹马的颜色:1意味着马是黑色的,0意味着马是白色的。

输出格式

输出:只输出一个单一的数字,代表系数总和可能达到的最小值。

 
样例输入

6 3 //{6匹马,3个马棚}
1  //    {第1匹马为黑马}
1
0    //{第3匹马为白马}
1
0
1

样例输出

2

枚举分组区间进行转移。

 /*by SilverN*/
//WA 1:j每次从0开始循环,T掉一个点
// 改成从c-1开始循环以后,904ms卡过
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
const int mxn=;
int read(){
int x=,f=;char ch=getchar();
while(ch<'' || ch>''){if(ch=='-')f=-;ch=getchar();}
while(ch>='' && ch<=''){x=x*+ch-'';ch=getchar();}
return x*f;
}
int w[mxn],b[mxn];
int f[mxn][mxn];
int n,k;
int main(){
memset(f,0x2f,sizeof f);
int i,j;
n=read();k=read();
int x;
for(i=;i<=n;i++){
x=read();
if(x)b[i]++;
else w[i]++;
b[i]+=b[i-];
w[i]+=w[i-];
}
f[][]=;
for(int c=;c<=k;++c){
for(i=c;i<=n;++i){
for(j=c-;j<i;++j){
f[i][c]=min(f[i][c],f[j][c-]+(b[i]-b[j])*(w[i]-w[j]));
}
}
}
printf("%d\n",f[n][k]);
return ;
}

最新文章

  1. Java 理论与实践: 正确使用 Volatile 变量
  2. android Handler.btionMessage()与Message.obtain()的区别
  3. GAudio是一个音频播放SDK
  4. Redis的几个认识误区
  5. jQueryMobile控件之页面切换
  6. 作业七:团队项目——Alpha版本冲刺阶段
  7. Git的安装和使用记录
  8. HDU 5311 Hidden String (暴力)
  9. USBSpirit(USB精灵)更新到1.2.300.105
  10. 从sample来学习Java堆(转)
  11. Android之ActionBar学习
  12. 《转》JAVA中PriorityQueue优先级队列使用方法
  13. 关于 firefox 无法在 passport.csdn.net 找到该服务器
  14. C++primer 9.43
  15. C# 类型转换is和as 以及性能陷阱
  16. XML-为XML添加DTD-Schema方法
  17. JAVA入门[7]-Mybatis generator(MBG)自动生成mybatis代码
  18. IIS部署web,字体404的问题
  19. Exp4 恶意代码分析 ——20164325王晓蕊
  20. C++注入记事本升级版,给记事本弄爱心

热门文章

  1. C#局部类型partial在定义实体类Model中的应用
  2. AJPFX总结java开发常用类(包装,数字处理集合等)(三)
  3. CAS分析
  4. [BZOJ3527][ZJOI2014]力 FFT+数学
  5. Android Gradle与Gradle插件的对应关系
  6. File.Exists 文件不存在 Or FileNotFoundException
  7. Oracle Recycle Bin
  8. python 字符与字节 json序列和反序列及支持的类型
  9. Linux目录结构及详细介绍
  10. 平时有没有使用xml和json