题目链接:https://vjudge.net/problem/UVALive-4731

题意:

n 个 数,分成 w 组,求整个区间的数学期望的最小值;

一个区间的数学期望公式给出:一个区间的和 * 概率

例子:

0.3     0.05      0.1     0.3    0.25    w=2

{c1,c2,c3}   {c4,c5}

3*(0.3+0.05+0.1) + (3+2)*(0.3 + 0.25)

分析:

根据例子,先把较大者放到前面;d[i][j] 前  i  个数字,分成 j 组的期望;

递推公式:

d[i][j] = min(d[i][j],d[k][j]+i*(sum[i]-sum[k]));

 #include <bits/stdc++.h>

 using namespace std;

 const int inf = 0x3f3f3f3f;

 int a[];
int sum[];
bool cmp(int a,int b) {
return a > b;
} int d[][]; int main() { int t;
scanf("%d",&t);
while(t--) { int n,w;
scanf("%d%d",&n,&w);
for(int i=;i<=n;i++)
scanf("%d",&a[i]); sort(a+,a+n+,cmp);
memset(d,inf,sizeof(d)); sum[] = ;
for(int i=;i<=n;i++)
sum[i] = sum[i-] + a[i]; d[][] = ;
for(int i=;i<=n;i++) {
for(int j=;j<=w;j++) {
for(int k=;k<i;k++) {
d[i][j] = min(d[i][j],d[k][j-]+i*(sum[i]-sum[k]));
}
}
} printf("%.4f\n",d[n][w]*1.0/sum[n]); } return ;
}

最新文章

  1. WPF CheckBox样式 ScrollViewer样式 WrapPanel、StackPanel、Grid布局
  2. JS/jquery获取iframe内部元素和ifame中获取外部元素精华
  3. PHP面向对象——重写与重载
  4. Spring-----&gt;projects-----&gt;Spring Web Flow
  5. js将日期格式转换为YYYY-MM-DD HH:MM:SS
  6. C/S和B/S两种软件体系结构
  7. Android Studio与Genymontion的安装
  8. ServerProperties
  9. gamma
  10. Linux命令的学习
  11. 深入理解Redis Cluster
  12. Windowns下使用SecuretCRT编写脚本增加高亮
  13. Hue添加Spark notebook
  14. Selenium:WebDriver简介及元素定位
  15. flask下载文件中文IE,Edge,Safari文件名乱码
  16. ini文件读写
  17. WinRAR命令行版本 rar.exe使用详解
  18. python【数据类型:集合】
  19. vue中封装axios方法
  20. Rsyslog远程传输的几种方式

热门文章

  1. Transform 引起的 z-index &quot;失效&quot;
  2. oracle 单实例DG(配置篇二)
  3. linux 期中架构之 nginx 安装与排错
  4. [转]实例化SqlParameter时,如果是字符型,一定要指定size属性
  5. 用PHP实现同一个帐号不允许同时登陆,只允许一个帐号登录?
  6. WPF 窗体在Alt+Tab中隐藏
  7. js使用占位符替换字符串
  8. linq之Capacity(转载)
  9. 软件测试技术lab2——Selenium上机实验
  10. python数据类型(集合)