洛谷P5110 塊速遞推

2022-06-01 08:45:09 字數 1586 閱讀 9164

已經吐了,感覺在用計算機做數學題

洛谷由於推導過程太小了,所以我適當調整了一下字型(於是就變得這麼醜了qaq)

待定係數法求通項公式!(這是唯一乙個好懂一點的方法了)

我們的條件有:

\(\large+666a_\pmod ,a_0=0,a_1=1}\)

設\(\large+pa_=q(a_+pa_n)}\)

顯然,我們可以得到:

\[\large q-p=233\\pq=666\end}

\]\[\large

\]即 \(\large\)

解得 \(\large}}\)

通過迴圈暴力查詢,我們發現 \(\large≡56953\pmod \)

然後我們就可以用 \(\large\) 替換 \(\large}\) 了

我們令 \(\large}}=94153035\)

則 \(\large=94152802\)

令 \(\large+p_1a_n}\),顯然 \(\large=q_1b_n}\),\(\large\) 序列為等比數列

其中 \(\large\),所以 \(\large\)

\(\large+p_1a_n=q_1^n ① }\)

我們令 \(\large}}=905847205\)

則 \(\large\) ,同理得到:

\(\large+p_2a_n=q_2^n ② }\)

\(\large\) 得

\[\large

a_n&=\dfrac\\

&=\dfrac\\

&=233230706(94153035^n-905847205^n)\\

\end}\]

通過 通項公式+費馬小定理/打表 可知迴圈節為 \(\large\)

對於每個給出的 \(\large\) ,我們可以對其取模,使其在 \(\large\)

我們發現如果是直接通過上述的通項公式計算答案,複雜度仍然帶 \(\log_2\),所以我們要使用一些奇技淫巧

顯然 \(\large})^b*a^},n\in[0,10^9+6)\)

定義函式 \(\large)^b=(a^b)^,g(x)=a^}\) (這裡的\為整除)

\(\large\)

時間 \(\large\)

乙份沒有特別去卡常的**

const int maxn = 31623 + 5;

const int mod = 1e9 + 7;

int t,n,ans;

namespace mker

unsigned long long rand() }

using namespace mker;

int qpow(int x,int y)

return ret;

}int b = 31623;

int f[2][maxn],g[2][maxn],num[2] = ;

void pre() }}

int update(int x)

int main()

put(ans,'\n');

return 0;

}

洛谷 P1057 遞推

上體育課的時候,小蠻的老師經常帶著同學們一起做遊戲。這次,老師帶著同學們一起做傳球遊戲。遊戲規則是這樣的 nnn個同學站成乙個圓圈,其中的乙個同學手裡拿著乙個球,當老師吹哨子時開始傳球,每個同學可以把球傳給自己左右的兩個同學中的乙個 左右任意 當老師再次吹哨子時,傳球停止,此時,拿著球沒有傳出去的那...

洛谷P1240 諸侯安置 遞推

題目大意 有一片正方形狀 旋轉45 看 的國土,有m個諸侯需要安置。諸侯在同一行或同一列上會互相傷害0.0,求出合理安置諸侯 使諸侯兩兩之間都不能攻擊 的方案數對504取模的結果。n 100,k 2n2 2n 1 這張圖中上面第一幅圖為n 3的國土分布。下面前兩幅圖中兩個諸侯會互相攻擊,而第三幅圖不...

洛谷P1990 覆蓋牆壁(遞推)

開始刷kuangbin數學專題發現沒有數學基礎完全刷不動 於是決定先把洛谷的一些基礎刷完 然而數學 dp方面就學了一點點,基礎實在太爛 補題補題補題 有 i 型和 l 型的磚,問鋪滿2 n的牆壁有多少種方法 典型的遞推 f n 表示剛好填滿第n列的牆壁的方法數 g n 表示第n 1列已經被填了乙個情...