M个球,一开始每个球均有一个初始标号,标号范围为1~N且为整数,标号为i的球有ai个,并保证Σai = M
每次操作等概率取出一个球(即取出每个球的概率均为1/M),若这个球标号为kk < N),则将它重新标号为k + 1;若这个球标号为N,则将其重标号为1。(取出球后并不将其丢弃)
现在你需要求出,经过K次这样的操作后,每个标号的球的期望个数。

Input

第1行包含三个正整数NMK,表示了标号与球的个数以及操作次数。
第2行包含N非负整数ai,表示初始标号为i的球有ai个。

Output

应包含N行,第i行为标号为i的球的期望个数,四舍五入保留3位小数。

Sample Input

2 3 2
3 0

Sample Output

1.667
1.333

HINT

「样例说明」
第1次操作后,由于标号为2球个数为0,所以必然是一个标号为1的球变为标号为2的球。所以有2个标号为1的球,有1个标号为2的球。
第2次操作后,有1/3的概率标号为2的球变为标号为1的球(此时标号为1的球有3个),有2/3的概率标号为1的球变为标号为2的球(此时标号为1的球有1个),所以标号为1的球的期望个数为1/3*3+2/3*1 = 5/3。同理可求出标号为2的球期望个数为4/3。
「数据规模与约定」
对于10%的数据,N ≤ 5, M ≤ 5, K ≤ 10;
对于20%的数据,N ≤ 20, M ≤ 50, K ≤ 20;
对于30%的数据,N ≤ 100, M ≤ 100, K ≤ 100;
对于40%的数据,M ≤ 1000, K ≤ 1000;
对于100%的数据,N ≤ 1000, M ≤ 100,000,000, K ≤ 2,147,483,647。

Source

2011福建集训

和之前此题一样, POJ - 3150 :Cellular Automaton(特殊的矩阵,降维优化) 。

用dp[i][j]表示i轮后j的数量,则dp=a*(base^K),由于base里面的矩阵有相似性,所以矩阵的复杂度可以优化到N^2;总的复杂度为O(N^2lgK)。

权限题,无代码。

最新文章

  1. 调用图片按钮的img图片
  2. Win10 UWP 开发系列:使用SplitView实现汉堡菜单及页面内导航
  3. php面向对象编程 设计模式
  4. 介绍Unreal Engine 4中的接口(Interface)使用C++和蓝图
  5. 第四章 Js的面向对象的初窥视(天生的哈希表)
  6. Facebook内部高效工作PPT指南
  7. PostgreSQL Replication之第十二章 与Postgres-XC一起工作(5)
  8. 写过的HTML标签(一)
  9. ubuntu下使用C语言开发一个cgi程序
  10. 例6.1:学生选课系统设计(界面设计、类图、数据库ER图)
  11. div 居中进行总结
  12. 【精度问题】【HDU2899】Strange fuction
  13. RHEL6.4 postfix+dovecot搭建邮件服务器
  14. input file 在开发中遇到的问题 类似ajax form表单提交 input file中的文件
  15. Oracle 安装步骤、安装中错误处理、完整卸载
  16. Spring出现事务代理的原因
  17. 2018面向对象程序设计(java)课程学习进度条
  18. django 创建视图和APP
  19. MySQL基本简单操作01
  20. msyql 移动某一列数据到某列 &amp; 字段加前缀

热门文章

  1. 【转】Python爬虫(3)_Beautifulsoup模块
  2. PAT 天梯赛 L1-033. 出生年 【水】
  3. 022_Hadoop中的数据类型(Writable、WritableComparable、Comparator、RawComparator…)
  4. imx6qsbd lvds dtc
  5. 面向过程编程实例------grep-rl &#39;root 路径
  6. MySQL几个重要的目录
  7. 5.1深入理解计算机系统——系统级I/O
  8. INSPIRED启示录 读书笔记 - 第25章 快速响应阶段
  9. sqoop学习2(数据导入与导出)
  10. tp5定时器