已經吐了,感覺在用計算機做數學題
洛谷由於推導過程太小了,所以我適當調整了一下字型(於是就變得這麼醜了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列已經被填了乙個情...