当前位置: 首页 > news >正文

题解:CF1453D Checkpoints

提供一种直接基于期望推表达式的做法。

ppp 表示走一步成功的概率,E[x]E[x]E[x] 表示从一个存档点开始,还剩 xxx 步的距离到达下一个存档点,所需的期望步数。若一次成功,共走 xxx 步,概率为 pxp^xpx;若走到第 iii 步时失败,概率为 pi−1(1−p)p^{i-1}(1-p)pi1(1p),之后需要重新开始,共走 E[x]E[x]E[x] 步。因此有表达式:

E[x]=x×px+∑i=1xpi−1(1−p)(i+E[x]) E[x] = x \times p^x + \sum \limits_{i = 1}^x p^{i - 1}(1-p)(i + E[x]) E[x]=x×px+i=1xpi1(1p)(i+E[x])

直接将 p=12p = \frac{1}{2}p=21 带入可知:

E[x]=x(12)x+2[1−(x+2)(12)x+1]+[1−(12)x]E[x](12)xE[x]=2−(12)x−1E[x]=2x+1−2 E[x] = x (\frac{1}{2})^x + 2[1 - (x + 2)(\frac{1}{2})^{x + 1}] + [1 - (\frac{1}{2})^x]E[x]\\ (\frac{1}{2})^xE[x] = 2 - (\frac{1}{2})^{x - 1}\\ E[x] = 2^{x + 1} - 2 E[x]=x(21)x+2[1(x+2)(21)x+1]+[1(21)x]E[x](21)xE[x]=2(21)x1E[x]=2x+12

因此直接构造 100...\texttt{100...}100... 的形式,类似二进制拆分进行构造即可。由于 E[x]E[x]E[x] 为偶数,所以奇数的情况显然无解。

代码如下:

#include <bits/stdc++.h>
#define pii pair <int,int>
#define init(x) memset (x,0,sizeof (x))
#define ll long long
#define ull unsigned long long
#define INF 0x3f3f3f3f
using namespace std;
const int MAX = 1e5 + 5;
const int MOD = 1e9 + 7;
inline ll read ();
void solve ()
{ll x = read ();if (x & 1) {puts ("-1");return;}vector <ll> f (61,0);for (int i = 0;i <= 60;++i) f[i] = (1ll << (i + 2)) - 2;vector <int> ans;for (int i = 60;~i;--i){while (x >= f[i]){x -= f[i];ans.push_back (1);for (int j = 1;j <= i;++j) ans.push_back (0);}}assert ((int)ans.size () <= 5000);printf ("%d\n",(int) ans.size ());for (auto v : ans) printf ("%d ",v);puts ("");
}
int main ()
{int t = read ();while (t--) solve ();return 0;
}
inline ll read ()
{ll s = 0;int f = 1;char ch = getchar ();while ((ch < '0' || ch > '9') && ch != EOF){if (ch == '-') f = -1;ch = getchar ();}while (ch >= '0' && ch <= '9'){s = s * 10 + ch - '0';ch = getchar ();}return s * f;
}
http://www.dtcms.com/a/318330.html

相关文章:

  • 看不见的伪造痕迹:AI时代的鉴伪攻防战
  • 微信小程序多媒体功能实现
  • n8n循环处理完全指南
  • 工业自动化中Modbus RTU转Profibus DP网关的应用与温度监控实现
  • 昇思+昇腾开发板:DeepSeek-R1-Distill-Qwen-1.5B 模型推理部署与 JIT 优化实践
  • spring i18n 词条英文下格式化占位符不生效 问题排查处理
  • Kafka 重平衡(Rebalance)机制
  • UniStorm 5.3.0 + Unity2022 + URP配置说明
  • 机器学习概述
  • 微调训练时,ignore_empty_think是怎么保护模型的思考能力?
  • 自然语言处理的相关概念与问题
  • Redis面试精讲 Day 12:Redis Sentinel哨兵机制详解
  • 非机动车识别mAP↑28%!陌讯多模态融合算法在智慧交通的实战解析
  • PyTorch生成式人工智能——Hugging Face环境配置与应用详解
  • leetcode 3479. 水果成篮 III 中等
  • 74.5%登顶SWE-bench:Claude Opus 4.1如何重塑AI编程格局
  • AdGuard 安卓修改版:全方位广告拦截与隐私保护专家
  • 将英文PDF文件完整地翻译成中文的4类方式
  • 【机器学习篇】02day.python机器学习篇Scikit-learn基础操作
  • Kafka ISR机制和Raft区别:副本数优化的秘密
  • 浅谈对linux进程池的理解
  • 解决远程连接云服务器mysql编号1130问题
  • Vue Router 路由的创建和基本使用(超详细)
  • 《算法导论》第 7 章 - 快速排序
  • 服务器工作职责及核心组件详解
  • P1629 邮递员送信
  • 【RabbitMQ】高级特性—发送方确认详解
  • 【科研绘图系列】R语言绘制瀑布图
  • 院校机试刷题第二十一天|回顾代码随想录第十六天、
  • google官方性能文档:Android 动态性能框架优化散热和 CPU 性能-Thermal API部分