您现在的位置是:主页 > news > 社会信用网站建设/西安百度竞价外包

社会信用网站建设/西安百度竞价外包

admin2025/5/31 18:22:02news

简介社会信用网站建设,西安百度竞价外包,礼叮当 一家做创意礼品定制的网站,新手怎样做网站题目&#xff1a; Josephus问题的定义如下&#xff1a;假设n个人排成环形&#xff0c;且有以正整数m<n。从某个制定的人开始&#xff0c;沿环报数&#xff0c;每遇到第m个人就让其出列&#xff0c;且报数进行下去。这个过程一直进行到所有人都出列为止。每个人出列的次序定义…

社会信用网站建设,西安百度竞价外包,礼叮当 一家做创意礼品定制的网站,新手怎样做网站题目&#xff1a; Josephus问题的定义如下&#xff1a;假设n个人排成环形&#xff0c;且有以正整数m<n。从某个制定的人开始&#xff0c;沿环报数&#xff0c;每遇到第m个人就让其出列&#xff0c;且报数进行下去。这个过程一直进行到所有人都出列为止。每个人出列的次序定义…

题目:

Josephus问题的定义如下:假设n个人排成环形,且有以正整数m<=n。从某个制定的人开始,沿环报数,每遇到第m个人就让其出列,且报数进行下去。这个过程一直进行到所有人都出列为止。每个人出列的次序定义了整数1,2,...,n的(n, m)-Josephus排列。例如,(7,3)-Josephus排列为<3,6,2,7,5,1,4>。
a)假设m为整数。请描述一个O(n)时间的算法,使之对给定的整数n,输出(n, m)-Josephus排列。
b)假设m不是个常数。请描述一个O(nlgn)时间的算法,使给定的整数n和m,输出(n, m)-Josephus排列。


 思考:

利用14.1中的动态顺序统计,假设刚刚删除的是剩余点中的第start个点(初始时为0),此时还剩下t个点,那么下一个要删除的是剩余点的第(start+m-1)%t个点

步骤1:基础数据结构

红黑树

步骤2:附加信息

size[x]:以x为根的子树的(内部)结点数(包括x本身),即子树的大小。size[nil[T]]=0

步骤3:对信息的维护

size[x] = size[left[x]] + size[right[x]] + 1

插入操作:从插入结点到根结点都要更新O(lgn)

旋转操作:只需要更新旋转轴上的两个点O(1)

删除操作:从删除结点的父结点开始到根结点都要更新O(lgn)

代码:

https://code.csdn.net/mishifangxiangdefeng/exerciseforalgorithmsecond/tree/master/src/chapter14/exercise14_2.cpp