由于众所周知的原因, 冈部一直欠真由理一串香蕉.
为了封上真由理的嘴, 冈部承诺只要真由理回答出这个问题, 就给她买一车的香蕉:
一开始有n 个人围成一个圈, 从1 开始顺时针报数, 报出m 的人被机关处决. 然后下一个人再从1 开始报数, 直到只剩下一个人.
红莉栖: “这不就是约瑟夫问题吗...”
伦太郎: “助手你给我闭嘴!”
真由理虽然已经晕头转向了, 但听到有一车的香蕉, 两眼便放出了光芒.

约瑟夫问题:10^9版,m<=10^5

我们知道有一个O(n)的算法:s=(s+m)%i {i=1~n}

然而这样只能70分,我们需要改进算法

我们发现当i大于m的时候,其实有些步骤是可以合并为一步的,这个和反演里面用的那个除法很像

那我们根据当前i-s%i可以得出,接下来(i-s%i)/m步是可以合为一步走的,在接下来这些过程中,取模不会改变s+m的值

让后就可以乱搞,复杂度O(玄学)≈O(√n)

#pragma GCC optimize("O3")
#pragma G++ optimize("O3")
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int n,m,s=0,T;
int main(){freopen("mayuri.in","r",stdin);freopen("mayuri.out","w",stdout);for(scanf("%d",&T);T--;){s=0;scanf("%d%d",&n,&m);
//      for(int i=2;i<=n;++i) s=(s+m)%i;for(int i=2,p;i<=n;){p=(i-s-1)/m+1;if(i+p>n) p=n-i+1;s=(s+m*p)%(i+p-1);i=i+p;}printf("%d\n",++s);}
}

转载于:https://www.cnblogs.com/Extended-Ash/p/7800592.html

Jzoj5421 嘟嘟噜相关推荐

  1. JZOJ 5421. 【NOIP2017提高A组集训10.25】嘟嘟噜

    Description 由于众所周知的原因, 冈部一直欠真由理一串香蕉. 为了封上真由理的嘴, 冈部承诺只要真由理回答出这个问题, 就给她买一车的香蕉: 一开始有n 个人围成一个圈, 从1 开始顺时针 ...

  2. html5怎么设置li向下移,请问如何实现鼠标移到li上改变另一个div的样式

    测试 li{list-style: none;} a{text-decoration: none;color: #000;} .B li.cursor{background: red;} .A li{ ...

  3. 第八-九周-总结(day38-54)

    HTML 一.html结构 <!DOCTYPE html> h5默认的文档声明<html> html根标签<head> 头标签<meta charset=&q ...

  4. 73939133——“我穿越了无数条世界线,却看不到我要的未来”

    "我穿越了无数条世界线,却看不到我要的未来" 这大概是许多时间回溯类作品的一个通用主题吧.不过比较*蛋的是最后他们大多都还是迎来了好结局(某门:呵呵). 我不知道怎么引入这个主题, ...

  5. 苹果4s怎么越狱_怎么修改微信铃声?苹果和安卓都可以,无需越狱!

    最近火了一种特别的「微信铃声」其实是替换了微信自带的提示音,非常好玩,替换方法其实简单,只是对手机型号.系统限制比较多,下面会详细说明. 这两天做了一个相对简单的教程,安卓不用ROOT,苹果也不用越狱 ...

  6. 2021.01.14【NOIP提高B组】模拟 总结

    2021.01.14[NOIP提高B组]模拟 总结 第一题 Candy 奇奇怪怪的题目. 一开始没有理解题目,其实就是同时变换. 打了一个暴力. 本人随机生成50000组数据,都过了,时间没超.希望出 ...

  7. 当刻度嘟嘟和网易云信在一起...

    随着网易云信IM云服务的投放市场以来,不少互联网应用开发者开始明智地选择更专业.更稳定的大佬级产品.自网易云信10月份推出以来,仅仅一个多月时间,就相继在物流.O2O.互联网金融.在线教育.在线医疗等 ...

  8. 【转】关闭特定虚拟机上声音嘟嘟声

    转自:http://xu020408.blog.163.com/blog/static/26548920100311712238/ 关闭虚拟机发出的"嘟嘟"声 方法 1: 关闭特定 ...

  9. 【嘟嘟早教卡】 小程序源码分享带后台管理

    简介: [嘟嘟早教卡]是专门为 3-6 岁婴幼儿童学习普通话.英语研发的早教启蒙认知识字的小程序 小程序由 Taro 及 Tailwind CSS 构建而成,后台管理使用 Laravel 及 Tail ...

  10. java项目-第90期基于ssm的嘟嘟二手书商城系统

    源码获取:本博客首页"资源"专栏下载! java项目-第90期基于ssm的嘟嘟二手书商城系统 1.项目简述 该项目是二手书城商城系统,包含普通用户和管理员两个角色.普通用户可以购买 ...

最新文章

  1. 大流量网站的底层系统架构
  2. Knockout2.x:ko.dataFor()、ko.contextFor()使用
  3. linux空洞目录,学习笔记:linux之文件空洞
  4. OpenCASCADE:OCCT应用框架OCAF之TObj模型辅助类和包装
  5. python os读取文件名_Python3基础 os.path.splitext 处理文件名,得到文件名+扩展名
  6. linux自动断开会话,linux – 从SSH会话断开连接是否会导致程序崩溃?
  7. Diffusion model—扩散模型
  8. 推荐几款程序员值得拥有的写文档工具
  9. 走进波分 -- 16.Optix OSN9800产品介绍
  10. php原生代码实现短信验证码注册业务,流程详解附demo
  11. VS2022怎么取消背景或者删除主题
  12. Word 如何取消自动编号
  13. ssm教务系统网站 毕业设计-附源码290915
  14. thinkpad选择启动项_联系ThinkPad笔记本怎么设置第一启动项
  15. 减少计算机视觉效果可以减少游戏卡顿吗,Win10玩游戏更流畅的几招优化方法(亲测有效)...
  16. Android 常用正则表达式,阿里巴巴内部spring宝典意外流出
  17. Western blot 技术
  18. [kernel exploit] Dirty Cred: 一种新的无地址依赖漏洞利用方案
  19. 服务器为什么需要防御呢?
  20. Javaweb知识 day13 TomcatSeverlet

热门文章

  1. Docker两种方式进入后台运行的容器
  2. wildfly jboss deploy 报 拒绝访问
  3. Hibernate查询 内连接和外连接区别
  4. vs2010 打开项目卡死问题解决办法
  5. 第十二课:实验二 循环链表实验
  6. python3高性能网络编程_Python高级网络编程系列之基础篇
  7. 遍历实体包含的List
  8. 高16位低16位什么意思_为什么模拟量模块16位要比13位转换精度高,高多少?
  9. python是哪一年发明的_Python的发明,竟然是因为他不喜欢花括号。
  10. 8.4完成服务(Completion Services)