



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
这是一个非常经典的问题,是由古罗马著名史学家Josephus问题演变而来的,所以通常称为Josephus()问题。对于问题,通常的算法是用O(M*K)O(M2M、KO(M)的复杂度内解决本问题呢?答案n
1,3,5,7,…,
半,剩下 nnC,CK开始):KmodM,...,M-2,M-1,0,1,2,...,(K-2)modM。现在我们把它们的编号重编为0~M-2,变换后就完完全全成为了(M-1)只猴子报数的新问题,假去就能得到原问题的解!变回去的很简单,相信大家都可以推出来:X'=(X+K)modM(X'就是原问题的解);如何知道(M-1)只猴子报数问题的解呢?只要知道(M-2)只猴子的解就行了;(M-2)只猴子的解呢?当然是先求(M-3)的情 这F[I]=(F[I-1]+K)modI(I>1)。F[I],程序就变得非常简单:programjosephus2(input,output);vari,m,k,ans:longint;fori:=2tomdoans:=(ans+k)modi; O(M),相对于模拟算法已经有了很大的提高。可见,12345678911012345678911010111001197(也就是说,出圈前它是A7“1”的元素的下标8,则下一个出圈者在圈上的实际序号为(当前圈上序号+K-1)mod(7+5-1)mod8=3,31A[44。111110111101143211234567891011有了这个二维数组,我们要找第S“1”log2(M)S=3S<=A[4,1],表示要找的元素在当前队中,直接向下找(向S>A[2,1]表示要找的元素不在当前队中,那么肯定在右边队中,此时要将S减去A[2,1]变成1,然后到右侧队中直接向下找,此时“1programjosephus3(input,output);constmaxm=100000;vara:array[1..20,1..maxm]oflongint;forj:=1tomdov:=1;t:=(m+1)div2;{twhilet>1doA}
v:=v+1;vforj:=1totdoa[v,j]:=a[v-1,j*2-1]+a[v-1,j*2];t:=(t+1)div2forr:=mdownto1doout:=(out+k-1)modr;{计算下一个出圈者的序号}ifout=0thenout:=r;{序号为零其实就是最后一个}j:=1;temp:=out;fori:=vdownto1do
iftemp>a[i,j]thenbegintemp:=temp-a[i,jj:=j+1;end;ifi>1then
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45304-2025干欧芹
- 物流优化管理的试题及答案
- 财务部门绩效评估的实施细则计划
- 急诊科工作效率提升措施总结计划
- 学期工作重点与展望计划
- 班主任工作中的困惑与对策计划
- 学期学习计划的个性化制定
- 仓库运营成本分析计划
- 提高问题解决能力的工作策略计划
- 探索自我价值的职场旅程计划
- 新版DFMEA基础知识解析与运用-培训教材
- 年度IT投资预算表格
- 学习质量评价:SOLO分类理论
- 2023年上海学业水平考试生命科学试卷含答案
- 胰胆线阵超声内镜影像病理图谱
- 中医内科学总论-课件
- 免疫学防治(免疫学检验课件)
- 消防水泵房操作规程
- 腹腔双套管冲洗操作
- 《微型消防站建设标准》
- 中国少年先锋队入队申请书 带拼音
评论
0/150
提交评论