在這道題中首先可以發現因為是在mod意義下的乘方,那麼可以看做是mod p之後的a數列進行乘方,那麼就將每乙個a數列中的數控制在了0-(p-1)之間因為mod是乙個質數那麼ap
−1modp=1
modp
那麼就可以將b數列控制在0-(p-2)之間,那麼只要統計a數列中出現的每乙個次數,b出現的每乙個次數,然後暴力算就好了複雜度o(
p2)
#include
#include
#include
#include
using namespace std;
const int maxn = 5000;
int cta[maxn+10], ctb[maxn+10];
int main()
int tp = p-1;
for(int i=3;i<=m;i++)
long long ans = 0;
for(int i=0;iif(!cta[i]) continue;
int now = 1;
for(int j=0;jif(now <= q)
ans += 1ll * cta[i] * ctb[j];
now = now * i % p;}}
cout
0;}
2015 10 31的NOIP模擬賽
這是noip前的最後一周了。第一題是個組合數學的問題,規模不算太大。但第一反應就直接dp了,o n 2 的複雜度,始終想不到優化。本來看著1 3 4 6 10 15一串串數覺得多熟悉的,就是想不起來那是組合數。最後只有80分 第二題算是基本想到了吧,但是忽略了乙個問題 我的想法是每行0的個數要麼是當...
noip模擬賽 密碼
表示沒看懂演算法3 問題描述 有壓迫,就有反抗。mored的寵物在法庭的幫助下終於反抗了。作為乙隻聰明的寵物,他打算把魔法使mored的魔法書盜去,奪取mored的魔法能力。但mored怎麼會讓自己的魔法書輕易地被盜取?mored在魔法書上設定了乙個密碼鎖,密碼鎖上有乙個問題。施以斯臥鋪魔法吧,你有...
NOIP模擬賽 老師
題目描述 一座有n層的教學樓裡有一些學生,第i 0 i n 層有studentsi個學生。你被給定了乙個數k,如果第i層有x個學生,那麼這一層需要 x k 個老師。你可以調整每個學生的樓層,但是每個學生至多只能調整一層,就是說第i層的學生只能去第i 1層 如果有的話 第i層 第i 1層 如果i 1 ...