题号 标题 已通过代码 题解/讨论 通过率 团队的状态
A Blackjack 点击查看 背包DP 32/109 补好了
B Coffee Chicken 点击查看 进入讨论 738/2992  通过
C Gifted Composer 点击查看 哈希 12/64 未通过
D Han Xin and His Troops 点击查看 进入讨论 602/4072  通过
E Hilbert Sort 点击查看 进入讨论 508/1681  通过
F Popping Balloons 点击查看 进入讨论 236/920  通过
G Road Construction 点击查看 进入讨论 65/638  通过
H Stammering Chemists 点击查看 进入讨论 810/1595  通过
I Travel Dream 点击查看 进入讨论 1/191 未通过
J Wood Processing 点击查看 进入讨论 169/1204  通过

A Blackjack

题意:

牌堆里有n($n <=  500$)张牌, 每张牌都有一个值,你顺序从牌堆里抽牌,当手中的牌的值和在$(a, b]$时,可以胜利,没有出现就是失败。

现在随机打乱牌堆里的牌的顺序,问获胜的概率。

思路:

枚举以每个点为结尾获胜的情况。

用$dp[i][j] $ 表示取$i$个,$sum$为$j$的方案数。

每次操作的时候,去掉枚举的那个的影响,数出合法个数。

  1. #include <algorithm>
  2. #include <iterator>
  3. #include <iostream>
  4. #include <cstring>
  5. #include <cstdlib>
  6. #include <iomanip>
  7. #include <bitset>
  8. #include <cctype>
  9. #include <cstdio>
  10. #include <string>
  11. #include <vector>
  12. #include <stack>
  13. #include <cmath>
  14. #include <queue>
  15. #include <list>
  16. #include <map>
  17. #include <set>
  18. #include <cassert>
  19. #include <unordered_map>
  20. // #include<bits/extc++.h>
  21. // using namespace __gnu_pbds;
  22. using namespace std;
  23. #define pb push_back
  24. #define fi first
  25. #define se second
  26. #define debug(x) cerr<<#x << " := " << x << endl;
  27. #define bug cerr<<"-----------------------"<<endl;
  28. #define FOR(a, b, c) for(int a = b; a <= c; ++ a)
  29.  
  30. typedef long long ll;
  31. typedef unsigned long long ull;
  32. typedef long double ld;
  33. typedef pair<int, int> pii;
  34. typedef pair<ll, ll> pll;
  35.  
  36. const int inf = 0x3f3f3f3f;
  37. const ll inff = 0x3f3f3f3f3f3f3f3f;
  38. const int mod = ;
  39.  
  40. template<typename T>
  41. inline T read(T&x){
  42. x=;int f=;char ch=getchar();
  43. while (ch<''||ch>'') f|=(ch=='-'),ch=getchar();
  44. while (ch>=''&&ch<='') x=x*+ch-'',ch=getchar();
  45. return x=f?-x:x;
  46. }
  47. /**********showtime************/
  48. const int maxn = ;
  49. int val[maxn];
  50. ld dp[maxn][maxn];
  51. ld fac[maxn];
  52. int n,a,b;
  53. void add(int v) {
  54. for(int i=n; i>=; i--) {
  55. for(int j=v; j<=b; j++){
  56. dp[i][j] += dp[i-][j - v];
  57. }
  58. }
  59. }
  60. void sub(int v) {
  61. for(int i=; i<=n; i++) {
  62. for(int j=v; j<=b; j++){
  63. dp[i][j] -= dp[i-][j - v];
  64. }
  65. }
  66. }
  67. int main(){
  68. scanf("%d%d%d", &n, &a, &b);
  69. for(int i=; i<=n; i++) scanf("%d", &val[i]);
  70. fac[] = ;
  71. for(int i=; i<=n; i++) fac[i] = fac[i-] * i;
  72. dp[][] = ;
  73. for(int i=; i<=n; i++) add(val[i]);
  74. ld sum = ;
  75. for(int i=; i<=n; i++) {
  76. sub(val[i]);
  77. for(int j = ; j<n; j++) {
  78. for(int k = max(, a-val[i] + ); k <= min(a, b-val[i]); k++) {
  79. sum += dp[j][k] * fac[j] * fac[n - j - ];
  80. }
  81. }
  82. add(val[i]);
  83. }
  84. sum = sum / fac[n];
  85. printf("%.12Lf\n",sum);
  86. return ;
  87. }

2019nc#10的更多相关文章

  1. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  2. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...

  3. ArcGIS 10.0紧凑型切片读写方法

    首先介绍一下ArcGIS10.0的缓存机制: 切片方案 切片方案包括缓存的比例级别.切片尺寸和切片原点.这些属性定义缓存边界的存在位置,在某些客户端中叠加缓存时匹配这些属性十分重要.图像格式和抗锯齿等 ...

  4. CI Weekly #10 | 2017 DevOps 趋势预测

    2016 年的最后几个工作日,我们对 flow.ci Android & iOS 项目做了一些优化与修复: iOS 镜像 cocoapods 版本更新: fir iOS上传插件时间问题修复: ...

  5. 10个最好用的HTML/CSS 工具、插件和资料库

    大家在使用HTML/CSS开发项目的过程中,有使用过哪些工具,插件和库?下面介绍的10种HTML/CSS工具,插件和资料库,是国外程序员经常用到的. Firebug Lite FirebugLite ...

  6. 【Win 10 应用开发】启动远程设备上的应用

    这个功能必须在“红石-1”(build 14393)以上的系统版中才能使用,运行在一台设备上的应用,可以通过URI来启动另一台设备上的应用.激活远程应用需要以下前提: 系统必须是build 14393 ...

  7. 在Ubuntu 16.10安装mysql workbench报未安装软件包 libpng12-0错误

    1.安装mysql workbench,提示未安装软件包 libpng12-0 下载了MySQL Workbench 6.3.8   在安装的时候报错: -1ubu1604-amd64.deb 提示: ...

  8. Ubuntu 16.10 安装byzanz截取动态效果图工具

    1.了解byzanz截取动态效果图工具 byzanz能制作文件小,清晰的GIF动态效果图,不足就是,目前只能通过输入命令方式来录制. byzanz主要的参数选项有: -d, --duration=SE ...

  9. Ubuntu 16.10 安装KolourPaint 4画图工具

    KolourPaint 4画图工具简单实用,可以绘画.视频处理和图标编辑: • 绘画:绘制图表和“手绘” • 视频处理:编辑截图和照片;应用特效 • 图标编辑:绘画剪贴和标识透明化 1.在Ubuntu ...

随机推荐

  1. 关于HTML的引入CSS文件问题

    一 html代码引用外部css文件时若css文件在本文件的父目录下的其他目录下,可使用绝对路径.此时路径要写为  “ ../ ”形式,如在tomcat下建立一个test文件,在该文件中建立两个文件 夹 ...

  2. Cookie和Session的使用详解

    我们在使用接口请求时经常听到Cookie和Session的知识,那么它们的实际意义和使用场景在哪里呢 ?    介绍如下 一.首先需要了解的是为什么需要有Cookie和Session这两个东西:Htt ...

  3. 电信光猫带路由器(F452)的虚拟服务器端口映射

    现在电信宽带的光猫一般都自带路由器功能,为了方便运营商管理网络用户,电信公司插入了企业局域网,网络用户的光猫路由器都是这个局域网的节点.用户家里的电脑在网络中的结构位置一般如下所示: 互联网(公网)= ...

  4. CodeForces 372 A. Counting Kangaroos is Fun

    题意,有n只袋鼠,没每只袋鼠有个袋子,大小为si,一个袋鼠可以进入另外一个袋鼠的袋子里面,当且仅当另一个袋鼠的袋子是他的二倍或二倍一上,然后中国袋鼠就是不可见的,不能出现多个袋鼠嵌套的情况.让你求最少 ...

  5. RGB颜色 三者都是0为黑色而255是白色 解释

    问题: RGB颜色 都是0为黑色而255是白色 与日常生活的黑色白色差距怎么那么大,(与物理学中的黑色吸收光是否相悖)而且为什么要这样定义呢? 链接:https://www.zhihu.com/que ...

  6. go interface衍生的插件化处理

    在设计程序的许多应用场景中我们会遇到大体分为三个阶段的任务流. 第一.入口 一个或多个入口,等待阻塞的.或者主动请求方式的. ============================== 比如任务流需 ...

  7. spark shuffle的写操作之准备工作

    前言 在前三篇文章中,spark 源码分析之十九 -- DAG的生成和Stage的划分 剖析了DAG的构建和Stage的划分,spark 源码分析之二十 -- Stage的提交 剖析了TaskSet任 ...

  8. HTML5 第二章 列表和表格和媒体元素

    列表: (1)什么是列表? 列表就是信息资源的一种展示形式. (2)无序列表: 语法: <ul> <li>第1项</li> <li>第2项</li ...

  9. 恐怖的Hibernate和JavaFX Table CallBack!

    目录 [隐藏] 1 Hibernate 2 JavaFX Table Hibernate 最近在做 JavaFX 应用,不管再怎么避免数据持久化,但面对几十万的数据量的时候也只能乖乖的去配置持久层框架 ...

  10. Office2019 VOL版本 自定义安装组件

    众所周知,Office VOL版本可以连接KMS服务器激活,但是office2019没有镜像可以下载,所以只能依靠Office Deployment Tool来进行操作.注:Office2019 Re ...