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

题解:B4395 [常州市赛 2025] 金币

题解:B4395 [常州市赛 2025] 金币

前言

题目传送门

思路讲解

一个十分经典的约瑟夫问题。

我们可以想象淘汰的过程,相当于每 \(k\) 个人中有1人被淘汰,留下来 \(k-1\) 个人,而且多余的人也会有一人被淘汰,那么我们就可以设置一个答案变量 \(x\),表示答案位置,那么根据刚才的推论,答案每次加上 $\left \lceil \frac{x}{k-1} \right \rceil $,直到其加上后大于 \(n\) 就输出。

但是很明显会超时,当 \(k\) 非常大的时候,时间复杂度接近 \(O(n)\)\(k\) 较小是时间复杂度是 \(O(log\) \(n)\) 或者 \(O(k\) \(log\) \(n)\),直接炸掉。

我们需要去优化时间复杂度,根据每次 \(x\) 加上的值去分情况解决:

  • 当这个值 \(<k\) 时,需要求出 \(x\) 要多久才能使加上的数加 1。
  • 当这个值 \(\ge k\) 时,暴力出奇迹。

Code

#include <bits/stdc++.h>
#define int long long // 不开longlong见祖宗
using namespace std;
int n, k;
// 计算下一个安全位置的函数
inline int add(int u)
{// 这个公式用于计算在当前淘汰规则下,下一个不会被淘汰的位置return u + 1 + (u - 1) / (k - 1);
}
signed main()
{cin >> n >> k; //输入int x = 1; // 初始位置设为1// 第一个循环:尝试快速逼近最终解,最多循环k次for (int i = 0; i < k; i++){// cur表示在当前步长(i+1)下可以跳过的最大步数int cur = k - 1 - (x - 1) / (i + 1);// 如果跳过cur步后会超过或等于n,直接计算最终位置if (x + cur * (i + 1) >= n){// 计算最终位置:x加上剩余步数x += (n - x) / (i + 1) * (i + 1);cout << x << endl; // 输出结果return 0;}else{// 否则,更新x的位置x += cur * (i + 1);}}// 第二个循环:如果第一个循环没有找到解,继续逐步计算while (1){// 计算下一个安全位置if (add(x) > n){// 如果下一个位置超过n,当前x就是解break;}// 否则,更新xx = add(x);}cout << x << endl; // 输出最终结果return 0;
}

时空复杂度分析

时间复杂度为 \(O(k\) \(log\) \(n)\),部分数据还是会超,只不过数据很水

空间复杂度就存三个变量,可以忽略成没有

http://www.gsyq.cn/news/66310.html

相关文章:

  • 2025年新能源汽车充电桩生产商哪家好?新能源汽车充电桩生产
  • 完整教程:Springboot的民宿管理系统的设计与实现29rhm9uh(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 2025年十大口碑好的文艺演出公司推荐,专业有实力的文艺展示
  • 解决FastAPI,docs打不开
  • ABC434G Keyboard
  • Apache Hudi 项目总体分析
  • samba的常见问题
  • 【源码解读之 Mybatis】【核心篇】-- 第8篇:ResultSetHandler结果集处理
  • 2025年佛山地区桶装水配送服务商推荐:比较好的桶装水送水电
  • 2025年中国十大知名的活动策划企业推荐:诚信的活动策划企业
  • tts服务
  • 2025年高温测试机构推荐与高温实验机构排名,高温试验品牌企
  • Spring AI实现一个简单的对话机器人
  • 惠算科技 GEO 优化优选惠州本地生活推荐:生成式引擎优化时代的本地商家获客破局指南
  • Genie 2:大规模基础世界模型的技术突破
  • 2025年十大讲解机器人供应企业排名,讲解机器人哪家好
  • 2025年全国无损检测仪器服务商年度排名:北京时代光南检测技
  • 字节跳动在GitHub上有哪些开源项目
  • 跨端开发框架横评(跨平台前端框架)
  • 2025年11月学习机榜单公布:十大机型数据说话,告别智商税
  • esbuild的作者
  • 2025年口碑好的宁海食堂承包公司、企业食堂承包公司推荐:靠
  • 高压电力金具厂家哪家好:权威推荐助选可靠加工伙伴
  • sched feature TTWU_QUEUE
  • 2025年石家庄学咖啡服务推荐哪家好?五大专业咖啡培训学校全
  • 实力强的金属成分检测权威平台TOP5推荐:服务不错的金属成分
  • AI元人文:悬荡悟空机制的来路与关山——从余溪诗学空间到AI元人文构想理论体系
  • 课后作业9
  • 2025年十大GEO推广优化方案排行榜,新测评精选营销公司推
  • 详细介绍:前端样式局部作用域:从Scoped到CSS Modules 的完整指南