H--卡牌游戏:https://www.nowcoder.com/acm/contest/202/H

题意:卡牌的数量为无限,种类为 N ,其中 M 种稀有卡牌,问期望抽多少次能抽到 K 张稀有卡牌(其中普通卡牌可重复抽取,稀有卡牌只能被抽一次)。

解题思路:抽到第一张稀有卡牌的概率为 m/n,抽到第二张稀有卡牌的概率为 m-1/n-1,即抽到 i 张稀有卡牌的概率为 m-i+1/n-i+1,而期望次数则为 1/p。

AC代码:

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<queue>
#include<stack>
#include<vector>using namespace std;int main()
{ios::sync_with_stdio(false);int T,n,m,k;cin>>T;for(int t = 1; t <= T; t++){cin>>n>>m>>k;double ans = 0;for(int i = 0; i < k; i++){ans += n*1.0/m;//获得 i+1 种稀有卡牌的概率为 p = m-i/n-i,期望为 1/p次抽中。 n--;m--;}printf("Case #%d: %.6f\n",t,ans); }return 0;
}

F-- 平衡二叉树:https://www.nowcoder.com/acm/contest/202/F

题意:求平衡树(任意一个节点,都满足左右子树的高度差不超过 d )的不平衡度(根节点左右子树节点数之差)的最大值。

解题思路:固定根节点的左子树为满二叉树,求满足条件的右子树最小的节点个数,ans = 左子树的节点个数 - 右子树的最小节点个数。

设 f (n) 为根节点右子树最小的节点个数.

d = 1 时,f(n) = f(n-1) + f(n-2) + 1

d = 2 时,f(n) = f(n-1) + f(n-3) +1

综上,f(n) = f(n-1) + f(n-1-d) + 1

AC 代码:

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<queue>
#include<stack>
#include<vector>using namespace std;long long a[70],ans;
int n,d;int main()
{ios::sync_with_stdio(false);while(cin>>n>>d){a[0] = a[1] = 0,a[2] = 0;for(int i = 3; i <= 60; i++)a[i] = a[i-1] + a[ max(i-d-1, 0) ] + 1;//用 max 函数来代替 if-else 判断 i-d-1 与 0 的大小关系 ans = (1ll<<(n-1)) - 1 - a[ max(n-1-d, 0) ];//k 层满二叉树的节点个数为 pow(2,n-1)-1,左子树的节点为 (pow(2,n-1)-1-1)/2 printf("%lld\n",ans);}return 0;
}

wannafly summer camp day6相关推荐

  1. 2020 CCPC Wannafly Winter Camp Day6 M—自闭——模拟

    链接:https://ac.nowcoder.com/acm/contest/4137/M 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524 ...

  2. CCPC-Wannafly Camp Day6 总结

    CCPC-Wannafly Camp Day6 总结 yysy,感觉最后几题是临时加上的签到题(们). 所以,这篇总结先放最后四题. 7-11 6K. 最大权值排列 对于一个长度为 n 的数列 A,定 ...

  3. 阔力梯的树(2020 CCPC Wannafly Winter Camp Day2 Div.12 )dsu on tree

    题解: dsu on tree dsu on tree的基本步骤就不说了 看到这题询问结点的子树问题,而且询问时离线的,首先想到的dsu on tree的这个trick. 本题的难题就是如何维护结点所 ...

  4. 2018 Wannafly summer camp Day3--Knight

    Knight 题目描述: 有一张无限大的棋盘,你要将马从\((0,0)\)移到\((n,m)\). 每一步中,如果马在\((x,y)(x,y)\),你可以将它移动到 \((x+1,y+2)(x+1,y ...

  5. Wannafly summer camp

    2053: Birthday 样例输入 3 3 1 2 1 2 1 2 样例输出 5 分析: 考虑费用流时把每个part拆成n个点,选择第i个点的代表为放置i块蛋糕和(i - 1)块蛋糕的时间差,这个 ...

  6. 2019 wannafly winter camp day5-8代码库

    目录 day5 5H div2 Nested Tree (树形dp) 5F div2 Kropki (状压dp) 5J div1 Special Judge (计算几何) 5I div1 Sortin ...

  7. Wannafly Winter Camp Day 3 G排列(贪心)

    思路来源 jls%%% 题解 赛后补队友AC的水题可还行 最先出现的单减子序列对应的位置,一定是那些最小值的位置 先把那些放满,剩下的贪心选使字典序最小,就把剩下的从前到后扫一遍从小到大放 代码 #i ...

  8. 2020 CCPC Wannafly Winter Camp Day3 部分题解(ACEFG)

    查看题目 A 黑色气球 题意: n个气球,每个气球高度为正整数.给你每两个气球之间的高度和,还原出所有气球的高度,保证答案唯一. 解题思路: 签到题,因为高度的范围不大,直接枚举第一个气球的高度,检测 ...

  9. 2020 CCPC Wannafly Winter Camp Day2 Div.12——A 托米的字符串【构造、数学】

    题目传送门 题目描述 托米有一个字符串,他经常拿出来玩.这天在英语课上,他学习了元音字母 a , e , i , o , u {a,e,i,o,u} a,e,i,o,u 以及半元音 y {y} y . ...

最新文章

  1. java更新blob字段的值_对一个BLOB字段如何用update 来更新?? (100分)
  2. wangEditor 菜单栏随页面滚动位置改变(吸顶)问题解决
  3. wps的高亮怎么用_怎样在WPS上实现代码语法高亮
  4. 去中心化交易所前路明朗,基于EOS的去中心化交易所力拔头筹
  5. ftp连接oracle服务器,使用SSL加密连接FTP - 架建SSL安全加密的FTP服务器(图)_服务器应用_Linux公社-Linux系统门户网站...
  6. Oracle dataguard一主两备环境搭建
  7. 虚拟货币公有链项目集体爆发,AE超过历史最高点
  8. qq登陆inc.php,登陆验证 qq登陆验证 php 登陆验证
  9. socket编程-阻塞和非阻塞
  10. xv6 System Call
  11. 前端使用js压缩图片上传
  12. YUV格式讲解并使用ffmpeg生产YUV文件
  13. mysql 中 字典表设计_数据库怎么设计字典表
  14. 只要方向正确,路远不是事
  15. 光耦主要参数和高速光耦如何选型
  16. java记忆翻牌,原生JS实现记忆翻牌游戏
  17. c++输入回车结束循环_C++ cin如何输入回车停止
  18. 如何自学编写手游脚本_自学如何编写代码时应做的5件事
  19. RN + Flutter
  20. 彻底搞懂弹性布局flex

热门文章

  1. Top 7 PHP Security Blunders
  2. 【渝粤教育】广东开放大学 搜索引擎营销(SEM) 形成性考核 (47)
  3. Intel8086处理器使用NASM汇编语言实现操作系统04-实模式-屏幕显示不定长度的字符串(cmp/je)
  4. Linux CentOS 中安装 Tomcat(四)
  5. C语言:关键字---struct(声明结构体类型)
  6. 简练软考知识点整理-创建工作分解结构过程
  7. 银河麒麟V10操控系统Qt安装
  8. DAY 2 基础查询与排序
  9. 保护水资源公益网站html,保护水资源公益广告策划书
  10. lol登入服务器显示证书,登录LOL提示安全证书不可用怎么办