CodeForces 1453D Checkpoints 概率 期望

原题链接

题意

现在我们可以设计n个擂台,有的是激活点,有的不是。从第一个开始挑战,每次都有1/2的概率成功,如果该点成功,则跳到下一个节点,否则跳到上一个最近的激活点继续挑战(如果本身是激活点,则还是在原地)。

给定我们一个小于1e18的数k,要求我们设计出一个n<=2000的一排擂台(1为激活,0为未激活(第一个必须为1)),使得最终挑战次数的期望为k,不能的话输出-1

思路

此题的原理可以从洛谷P6835中学到(P6835)(P6835题解),由于期望的线性性质,所以我们的最终期望是每个点到下个点的期望之和。

  • 根据P6835中的原理可知每个1贡献2的期望,而每个0的贡献为
\[2^{此0以及之前的所有连续0数量 + 1}
\]
  • 所以首先如果k为奇数,则直接输出-1,否则先设置1号为1,k-=2,之后按照k的二进制来添加连续的0以及穿插1。

AC代码

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm> using namespace std; int t;
long long k;
long long anss[2005]; int main()
{
scanf("%d", &t);
while (t--)
{
memset(anss, 0, sizeof(anss));
scanf("%lld", &k);
if (k % 2)
{
printf("-1\n");
continue;
}
long long n = 0;
anss[++n] = 1;
k = k - 2;
for (long long j = 1; j <= 61; ++j)
{
if (((long long)1 << j) & k)
{
if (j == 1)
anss[++n] = 1;
else
{
anss[++n] = 1;
anss[++n] = 1;
for (long long l = 3; l <= j; ++l)
{
anss[++n] = 0;
}
}
}
}
printf("%lld\n", n);
for (int i = 1; i < n; ++i)
{
printf("%lld ", anss[i]);
}
if (n)
{
printf("%lld\n", anss[n]);
}
}
return 0;
}

CodeForces 1453D 概率 期望的更多相关文章

  1. Inversions After Shuffle CodeForces - 749E (概率,期望)

    大意: 给定一个$n$排列, 随机选一个区间, 求将区间随机重排后整个序列的逆序对期望. 考虑对区间$[l,r]$重排后逆序对的变化, 显然只有区间[l,r]内部会发生改变 而长为$k$的随机排列期望 ...

  2. Codeforces - 1264C - Beautiful Mirrors with queries - 概率期望dp

    一道挺难的概率期望dp,花了很长时间才学会div2的E怎么做,但这道题是另一种设法. https://codeforces.com/contest/1264/problem/C 要设为 \(dp_i\ ...

  3. 【BZOJ-1419】Red is good 概率期望DP

    1419: Red is good Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 660  Solved: 257[Submit][Status][Di ...

  4. uvalive 7331 Hovering Hornet 半平面交+概率期望

    题意:一个骰子在一个人正方形内,蜜蜂在任意一个位置可以出现,问看到点数的期望. 思路:半平面交+概率期望 #include<cstdio> #include<cstring> ...

  5. OI队内测试一【数论概率期望】

    版权声明:未经本人允许,擅自转载,一旦发现将严肃处理,情节严重者,将追究法律责任! 序:代码部分待更[因为在家写博客,代码保存在机房] 测试分数:110 本应分数:160 改完分数:200 T1: 题 ...

  6. 2016 多校联赛7 Balls and Boxes(概率期望)

    Mr. Chopsticks is interested in random phenomena, and he conducts an experiment to study randomness. ...

  7. 牛客网多校赛第9场 E-Music Game【概率期望】【逆元】

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

  8. 【bzoj4832】[Lydsy2017年4月月赛]抵制克苏恩 概率期望dp

    题目描述 你分别有a.b.c个血量为1.2.3的奴隶主,假设英雄血量无限,问:如果对面下出一个K点攻击力的克苏恩,你的英雄期望会受到到多少伤害. 输入 输入包含多局游戏. 第一行包含一个整数 T (T ...

  9. [LnOI2019]加特林轮盘赌(DP,概率期望)

    [LnOI2019]加特林轮盘赌(DP,概率期望) 题目链接 题解: 首先特判掉\(p=0/1\)的情况... 先考虑如果\(k=1\)怎么做到\(n^2\)的时间复杂度 设\(f[i]\)表示有\( ...

  10. 【loj6191】「美团 CodeM 复赛」配对游戏 概率期望dp

    题目描述 n次向一个栈中加入0或1中随机1个,如果一次加入0时栈顶元素为1,则将这两个元素弹栈.问最终栈中元素个数的期望是多少. 输入 一行一个正整数 n . 输出 一行一个实数,表示期望剩下的人数, ...

随机推荐

  1. 下载、安装CAN-EYE植被参数工具

      本文介绍植被指数计算软件CAN-EYE的下载.安装方法.   CAN-EYE软件是由法国国家农业研究院(French National Institute of Agricultural Rese ...

  2. FFmpeg FFmpeg

     FFmpeg About News Download Documentation Community Code of Conduct Mailing Lists IRC Forums Bug Rep ...

  3. 从基础到实践,回顾Elasticsearch 向量检索发展史

    本文分享自华为云社区<Elasticsearch向量检索的演进与变革:从基础到应用>,作者: 汀丶. 1.引言 向量检索已经成为现代搜索和推荐系统的核心组件. 通过将复杂的对象(例如文本. ...

  4. 详述Java内存屏障,透彻理解volatile

    一般来说内存屏障分为两层:编译器屏障和CPU屏障,前者只在编译期生效,目的是防止编译器生成乱序的内存访问指令:后者通过插入或修改特定的CPU指令,在运行时防止内存访问指令乱序执行. 下面简单说一下这两 ...

  5. 数据库系列:MySQL引擎MyISAM和InnoDB的比较

    1.数据库核心知识点 数据库系列:MySQL慢查询分析和性能优化 数据库系列:MySQL索引优化总结(综合版) 数据库系列:高并发下的数据字段变更 数据库系列:覆盖索引和规避回表 数据库系列:数据库高 ...

  6. pbootcms 后台内容列表搜索功能扩展及增加显示字段功能

    应项目要求,一个内容模型下栏目不宜分的层级过多,如新闻模块,分2022.2023.2024年度,每年度下分12个月,这样就是2层栏目,再依类别(科技.动漫.电影...)划分层级,栏目数量较多,而且不易 ...

  7. easyre-153

    这里也是没有做出来,因为有隐藏函数的原因(第一次见) 攻防世界XCTF 3rd-RCTF-2017 easyre153学习笔记_rhelheg-CSDN博客 攻防世界逆向高手题之easyre-153- ...

  8. Node.js精进(12)——ElasticSearch

    ElasticSearch(简称 ES)是一款基于 Lucene 的分布式.可扩展.RESTful 风格的全文检索和数据分析引擎,擅长实时处理 PB 级别的数据. 一.基本概念 1)Lucene Lu ...

  9. BIRCH算法全解析:从原理到实战

    本文全面解析了BIRCH(平衡迭代削减聚类层次)算法,一种用于大规模数据聚类的高效工具.文章从基础概念到技术细节,再到实战应用与最佳实践,提供了一系列具体的指导和例子.无论你是数据科学新手,还是有经验 ...

  10. WPF应用开发之附件管理

    在我们之前的开发框架中,往往都是为了方便,对附件的管理都会进行一些简单的封装,目的是为了方便快速的使用,并达到统一界面的效果,本篇随笔介绍我们基于SqlSugar开发框架的WPF应用端,对于附件展示和 ...