线段树,顺便给自己当线段树模板
#include<bits/stdc++.h>
using namespace std;
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define N 200005
int tree[N*4][2];
int sum[N*4];
void push(int rt)
{sum[rt]=sum[rt<<1]+sum[rt<<1|1];
}
void build(int l,int r,int rt)
{tree[rt][0]=l;tree[rt][1]=r;if(l==r){sum[rt]=1;return;}int m=(l+r)>>1;build(lson);build(rson);push(rt);
}
int update(int s,int rt)
{sum[rt]--;if(tree[rt][0]==tree[rt][1]){sum[rt]=0;return tree[rt][0];}if(s<=sum[rt<<1])return update(s,rt<<1);else return update(s-sum[rt<<1],rt<<1|1);
}
int main()
{int n,m;while(~scanf("%d %d",&n,&m)){build(1,n,1);int temp=1;int pos;for(int i=1;i<=n;i++){temp=(temp+m-1)%sum[1];if(temp==0) temp=sum[1];pos=update(temp,1);if(i<n)cout<<pos<<" ";else cout<<pos<<endl;}}
}

xdoj 1009线段树求约瑟夫环相关推荐

  1. 牛客多校6 - Josephus Transform(线段树求k-约瑟夫环+置换群的幂)

    题目链接:点击查看 题目大意:给出一个长度为 n 的排列,初始时为 1 , 2 , 3 ... n - 1 , n,现在有 m 次操作,每次操作表示为 ( k , x ) ,即进行 x 次 k-约瑟夫 ...

  2. 程序员面试系列——约瑟夫环

    约瑟夫斯问题(Josephus Problem) 约瑟夫斯问题(有时也称为约瑟夫斯置换),是一个出现在计算机科学和数学中的问题.在计算机编程的算法中,类似问题又称为"约瑟夫环",也 ...

  3. # R语言——约瑟夫环

    约瑟夫环: n个人围成一个圈,从第一个人点名,每数到第三个人,这个人移出圈外, 依次类推,求最后留下来的人编号是? 思路:每次循环重新编码序号作为names,并根据names 进行筛选 拓展:约瑟夫环 ...

  4. 7-28 猴子选大王 (20 分),从中学习约瑟夫环

    一群猴子要选新猴王.新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号.从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数.如此不 ...

  5. java 实现约瑟夫环

    这一次是借鉴模仿别人写的代码,以前觉得不好将数据结构的链结构什么的迁移到java上来使用,但这一次确实让我感受到了可以自己构造数据结构,然后使用类似链的方式来解决约瑟夫环,有所顿悟.不多说,继续上代码 ...

  6. HDU - 1255 覆盖的面积(线段树求矩形面积交 扫描线+离散化)

    链接:线段树求矩形面积并 扫描线+离散化 1.给定平面上若干矩形,求出被这些矩形覆盖过至少两次的区域的面积. 2.看完线段树求矩形面积并 的方法后,再看这题,求的是矩形面积交,类同. 求面积时,用被覆 ...

  7. poj 1151(线段树求面积并)

    解题思路:线段树求面积并,水题 #include<iostream> #include<cstdio> #include<cstring> #include< ...

  8. hdu 2461(线段树求面积并)

    题意:给出N个矩形,M次询问 每次询问给出R个,问这R个矩形围成的面积 解题思路:对于每次询问,做一次线段树求面积的并操作. 每个节点保存的信息有l,r,cover,len分别表示该节点表示的区间[l ...

  9. 约瑟夫环数据结构c语言程序,数据结构的C语言(类C语言)--单向循环链表--约瑟夫环...

    代码区 约瑟夫环:用类C语言实现!!!可以成功运行!!!不是仅仅的算法,而是实实在在的类C #include #include typedef int ElemType; typedef struct ...

最新文章

  1. AtlasControlToolkit.CascadingDropDownNameValue自定义用法
  2. CTF(pwn)-格式化字符串漏洞讲解(一)
  3. Spread for Windows Forms快速入门(2)---设置Spread表单
  4. 计算机应用能力文字录入,2017全国专业技术人员计算机应用能力考试题库-Excel,Word,XP.pdf...
  5. zigbee板子:lcd显示汉字
  6. CentOS配置syslog发送到服务器
  7. GNU Emacs的终极扩展管理工具 — el-get
  8. Your Bitbucket account has been locked. To unlock it and log in again you must solve a CAPTCHA.
  9. 万字长文详解二叉树算法,再也不怕面试了!| 技术头条
  10. sftp日志文件定时下载到本地文件 python 3
  11. 西门子step7安装注册表删除_不用重装系统就能完全卸载西门子PLC编程软件STEP 7...
  12. 算法笔记二分查找问题1
  13. linux编译一直失败,linux编译安装时常见错误解决办法
  14. httpwatch11.1---专业版
  15. .net mysql参数化查询_MySQL参数化查询的IN 和 LIKE
  16. nginx新增conf文件
  17. 锂离子电池种类介绍和分类
  18. (记录)golang获取mongo的ObjectId
  19. 保研之旅5:上海科技大学信息学院夏令营
  20. 如何绘制好看的大脑皮层图?wb_view +fun.gii格式操作

热门文章

  1. Go 学习笔记(62)— Go 中 switch 语句中的 switch 表达式和 case 表达式之间的关系
  2. 【Docker】Ubuntu18.04国内源安装Docker-准备工作(一)
  3. 【Design pattern】设计模式思路总结(三)
  4. NLPML_总结_20210208
  5. pytorch利用多个GPU并行计算多gpu
  6. 全面理解Python中的类型提示(Type Hints)
  7. LeetCode简单题之基于排列构建数组
  8. LeetCode简单题之Fizz Buzz
  9. Vitis-AI集成
  10. 兑换量子计算机,阅读 | 【量子计算机】构造置换量子门