博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
codves1282 约瑟夫问题 链表 会 T
阅读量:6708 次
发布时间:2019-06-25

本文共 777 字,大约阅读时间需要 2 分钟。

codves1282 约瑟夫问题

STL LIST 链表 暴力模拟 但是会 T list

听说正解是线段树

分析一下,我们有以下两种操作:

1. 找到剩余队列中第K个人在数组中的位置

2. 删除第K个人
假如我们一开始给每个人一个权值1,然后维护一个前缀和s(n)那么,操作1就变成了找到前缀和为i的位置。当将第i个人删除时,只需将其权值置0,维护好前缀和,这样剩余队列中第i’个人的实际位置就在原先第i人后面了。

我们可以把前缀和转换为区间和,所以我们可以用线段树进行快速操作

 

1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 using namespace std ; 11 12 int n,k ; 13 list
a ; 14 list
::iterator it ; 15 list
::iterator temp ; 16 17 int main() 18 {19 scanf("%d%d",&n,&k) ; 20 for(int i=1;i<=n;i++) 21 a.push_back( i ) ; 22 it = a.begin() ;23 for(int i=1;i<=n;i++) 24 {25 for(int j=1;j

 

转载于:https://www.cnblogs.com/third2333/p/6952183.html

你可能感兴趣的文章
android 7.1悬浮窗系统权限问题
查看>>
数据切分——Mysql分区表的管理与维护
查看>>
混合云使用不能盲目:学习最佳实践是王道
查看>>
通过实例模拟ASP.NET MVC的Model绑定的机制:集合+字典
查看>>
调度器之 Kubernetes
查看>>
PDMS RVM TO 3DXML - RvmTranslator6.0
查看>>
《数学与泛型编程:高效编程的奥秘》一3.2 筛选素数
查看>>
不想被攻击,5款便携式反病毒和反恶意软件帮到你
查看>>
【投资人不懂AI】为什么说AI创业不是4、5个人的团队就能搞定的事
查看>>
ARM公司收购Apical,欲致力推进“目联网”技术
查看>>
《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一3.3.2 XML Schema
查看>>
《机器人自动化:建模、仿真与控制》——1.5 习题解答
查看>>
积水成渊——数据中心用水效率分析
查看>>
重新定义云数据库 阿里云POLARDB 9月21日发布
查看>>
物联网安全威胁剧增 如何拓展移动化能力
查看>>
工业物联网:创造价值 转换业务模式
查看>>
思科若要加入超融合大战:需启用你的现金
查看>>
程序员如何既不耽误工作又有时间干业余项目?
查看>>
王胤:我是怎么把体温计变成助孕计的
查看>>
Linux下如何定制SSH来简化远程访问
查看>>