1282 約瑟夫問題
時間限制: 1 s
空間限制: 128000 kb
題目描述 description
有編號從1到n的n個小朋友在玩一種出圈的遊戲。開始時n個小朋友圍成一圈,編號為i+1的小朋友站在編號為i小朋友左邊。編號為1的小朋友站在編號為n的小朋友左邊。首先編號為1的小朋友開始報數,接著站在左邊的小朋友順序報數,直到數到某個數字m時就出圈。直到只剩下1個小朋友,則遊戲完畢。
現在給定n,m,求n個小朋友的出圈順序。
輸入描述 input description
唯一的一行包含兩個整數n,m。(1<=n,m<=30000)
輸出描述 output description
唯一的一行包含n個整數,每兩個整數中間用空格隔開,第i個整數表示第i個出圈的小朋友的編號。
樣例輸入 sample input
5 3樣例輸出 sample output
3 1 5 2 4
線段樹專題的最後一題,然而我還是不知道什麼是線段樹
#include
using
namespace
std;
int n,m,a[100001],k,i,x,num=-1;
int main()
return
0;}
Codevs 1282 約瑟夫問題
時間限制 1 s 空間限制 128000 kb 題目等級 大師 master 有編號從1到n的n個小朋友在玩一種出圈的遊戲。開始時n個小朋友圍成一圈,編號為i 1的小朋友站在編號為i小朋友左邊。編號為1的小朋友站在編號為n的小朋友左邊。首先編號為1的小朋友開始報數,接著站在左邊的小朋友順序報數,直到...
Codevs 1282 約瑟夫問題 線段樹
codevs 1282 約瑟夫問題 首先,建樹,根節點 l 1,r n,sum n sum 指的是在這個區間內 還剩下的人數。主函式乙個 while 迴圈,一直迴圈到根節點 為 0 也就是所有人都出圈了。另外 根節點的sum tree 1 sum 代表還沒出圈的還有多少人。我們可以將 圓圈看為乙個佇...
wikioi 1282 約瑟夫問題
這道題所用到的資料結構應該是名次樹,名次樹可以由線段樹實現也可以由樹狀陣列實現。而對於類似這道題這樣的乙個只需要刪除和查詢操作的名次樹而言,可以用樹狀陣列實現,因為用樹狀陣列實現無論效率還是 複雜度都較線段樹而言更優,雖然演算法較線段樹而言更加巧妙。首先,這個資料結構需要乙個用於查詢第k名是什麼的函...