UVALive 4727 Jump 約瑟夫環

2021-06-29 01:25:43 字數 759 閱讀 5063

題目大意:給出乙個約瑟夫環,從1開始到n,現給出乙個k,數到k表示要退出,現在要你求輸出最後面的三個數

這裡講一下如果求最後的三個數如何求,由遞迴公式得,首先要初始化f[i],然後再由f[i]往上遞迴到f[n],得到的這個f[n]表示的其實是倒數第i個數的值

也就是說如果要求倒數第乙個數的值,就要初始化f[1],然後由1--n遞迴,最後的f[n]就是倒數第乙個數的值了,依此類推,求倒數第二個和倒數第三個,只需要初始化f[2]和f[3]即可

關鍵是f[2]和f[3]是多少,這裡說一下f[2],因為只剩下兩人,從0開始編號,從0開始報數,現在只要知道出去的那個人是誰,就知道倒數第二個人的值了,可以得出去的那個人是(k  + 1)% 2,倒數第三個人也可以推得出來,如果推不出來,表示對約瑟夫的理解不夠深,多去看看就懂了

#include#includeusing namespace std;

#define maxn 500010

int f[maxn];

int main()

return 0;

}

#include#include#includeusing namespace std;

#define maxn 500010

int n, k;

int f[maxn];

int solve(int m)

int main()

return 0;

}

472,插入區間

問題描述 給出乙個無重疊的 按照區間起始端點排序的區間列表。在列表中插入乙個新的區間,你需要確保列表中的區間仍然有序且不重疊 如果有必要的話,可以合併區間 示例 1 輸入 intervals 1,3 6,9 newinterval 2,5 輸出 1,5 6,9 示例 2 輸入 intervals 1...

從原始碼編譯gcc 4 7 2

自己動手構建工具鏈的時候遇到問題 building gcc requires gmp 4.2 mpfr 2.3.1 and mpc 0.8.0 這個問題參考 按照這個 解決問題的時候會遇到的問題是找不到m4,m4是乙個巨集處理語言。並且這個時候如果使用的系統時ubuntu1204的話,還沒法安裝m4...

solr4 7 2 索引遠端檔案內容

首先在網上看了下面的三個部落格文章挺有用的。因為在網上這樣的資料挺少的,就自己根據知道的乙個乙個測試,最後成功的索引的文件內容。在這裡總結幾點 1.索引遠端文件所需要的jar請參考我提供的那三篇部落格,是一樣的,雖然不太了解其中一些jar包的意思,希望以後可以研究下。在solr 4.7.2 exam...