「有了金坷垃,肥料一袋能頂兩袋撒,小麥畝產一千八,吸收兩公尺下的氮磷鉀……」,話說hysbz學識淵博孩紙們一講到糧食,都會想起印度那個著名的故事:國王要在第乙個格仔裡放入一粒小麥,接下來的格仔放入前面乙個格仔的兩倍的小麥。這樣所需小麥總數是巨大的,哪是不用金坷垃就能完成的任務?不過為了減輕國王的任務,那個下棋獲勝的宰相換了乙個要求:「我只需要你在棋盤外放一粒小麥,可以將其理解為第0 個格仔,然後你需要在第乙個格仔裡放入p粒小麥,之後每乙個格仔放入前兩個格仔的小麥數之和的小麥,並且要滿足第a 個格仔放x 粒小麥,第b 個格仔放……」說到這,宰相突然發現自己說的滿足第a 個格仔放x 粒小麥的情況可能不存在……欺君可是大罪啊!國王看到宰相遲遲不說,自己也煩了!我自己來算!於是國王拜託你,讓你算出第b 個格仔應該放幾粒小麥。當然,就算答案不存在,你也是要告訴國王的。
先試求出當第乙個格仔放1、2
、3、4
1、2、3、4
1、2、3、
4粒小麥,可以發現當第乙個格仔放 n
nn 粒小麥,則 f[i
]=f[
i−2]
+f[i
−1]×
nf[i]=f[i-2]+f[i-1]\times n
f[i]=f
[i−2
]+f[
i−1]
×n( f[
i]
(f[i]
(f[i
]表示斐波那契數列)))
先求出前20
2020
項的斐波那契數列,因此判斷x−f
[a−2
]x-f[a-2]
x−f[a−
2]是否被f[a
−1
]f[a-1]
f[a−1]
整除,就此可以求出上文中的 n
nn,就直接得出答案
#include
#define ll long long
using
namespace std;
ll a,x,b,k;
ll f[25]
;int
main()
}
小麥畝產一千八(jzoj 3461)
給你乙個正整數序列 a0,a1,a 2a 0,a 1,a 2 a0 a1 a2 a 0a 0 a0 為1 a 1a 1 a1 為p a x ax 1 ax 2 x 1 a x a a x 1 ax ax 1 ax 2 x 1 現在給你三個數x,a x,yx,a x,y x,ax y,讓你判斷該序列是...
JZOJ 3461 小麥畝產一千八 kela
description 有了金坷垃,肥料一袋能頂兩袋撒,小麥畝產一千八,吸收兩公尺下的氮磷鉀 話說hysbz hengyang school for boys zy 學識淵博孩紙們一講到糧食,都會想起印度那個著名的故事 國王要在第乙個格仔裡放入一粒小麥,接下來的格仔放入前面乙個格仔的兩倍的小麥。這樣...
Oulipo POJ 3461 雙值雜湊
題意 給你兩個字串,前乙個是小字串,後乙個是大的字串,問你,大的字串中有幾組可以與小的字串相等的子字串。此題其實不用雙值雜湊好像也可以的,但為了確保a就敲了個雙值雜湊,我們想把字串的形式用數的值來表示,那麼,我們可以用到雜湊來轉換它,而雙值雜湊的目的就是為了減少被hack的可能性。include i...