日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2019牛客暑期多校训练营(第五场)C generator 2 (BSGS)

發(fā)布時間:2023/12/4 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2019牛客暑期多校训练营(第五场)C generator 2 (BSGS) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019牛客暑期多校訓練營(第五場)C generator 2

思路

x0=x0x_0 = x_0x0?=x0?

x1=a?x0?bx_1 = a * x_0 * bx1?=a?x0??b

x2=a?x1+b=a2?x0+a?b+bx_2 = a * x_1 + b = a ^{2} * x_0 + a * b + bx2?=a?x1?+b=a2?x0?+a?b+b

容易發(fā)現(xiàn)后項是一個等比數(shù)列求和

xn=anx0+b(1?an)1?ax_n = a ^ {n} x_0 + \frac {b (1 - a ^ n)} {1 - a}xn?=anx0?+1?ab(1?an)?

我們要求xn=vx_n = vxn?=v,化簡

anx0+b(1?an)1?a=va ^ {n} x_0 + \frac {b (1 - a ^ n)} {1 - a} = vanx0?+1?ab(1?an)?=v

anx0(1?a)+b(1?an)=v(1?a)a ^{n} x_0(1 - a) + b (1 - a ^ n) = v(1 - a)anx0?(1?a)+b(1?an)=v(1?a)

an(x0?ax0?b)=v(1?a)?ba ^ n (x_0 - ax_0 - b) = v(1 - a) - ban(x0??ax0??b)=v(1?a)?b

an=v(1?a)?bx0?ax0?ba^n =\frac {v (1 - a) - b} {x_0 - a x_0 - b}an=x0??ax0??bv(1?a)?b?

上面式子都是modp\mod pmodp下的同余等式,為了方便寫了===

看到這里就簡單了,我們要求解的是nnn,顯然右邊這一坨都是已知的,我們假定為BBB,求解an=Ba ^ n = Ban=B,這不就是個裸題了嗎。

這道題目還要稍加分類討論一下:

  • a == 0

x0=x0,xi=b(i>=1)x_0 = x_0, x_i = b(i >= 1)x0?=x0?,xi?=b(i>=1)

  • a==1a == 1a==1

因為這種情況上面不能直接相除,所以我們需要特殊考慮ai=b+i?aa_i = b + i * aai?=b+i?a

也就是求解i?a=v?bi * a = v - bi?a=v?b,這個時候只要左右兩邊同時乘以aaa的逆元即可得到我們要的iii

代碼

/*Author : lifehappy */ #pragma GCC optimize(2) #pragma GCC optimize(3) #include <bits/stdc++.h> #define mp make_pair #define pb push_back #define endl '\n'using namespace std;typedef long long ll; typedef unsigned long long ull; typedef pair<int, int> pii;const double pi = acos(-1.0); const double eps = 1e-7; const int inf = 0x3f3f3f3f;inline ll read() {ll f = 1, x = 0;char c = getchar();while(c < '0' || c > '9') {if(c == '-') f = -1;c = getchar();}while(c >= '0' && c <= '9') {x = (x << 1) + (x << 3) + (c ^ 48);c = getchar();}return f * x; }void print(ll x) {if(x < 10) {putchar(x + 48);return ;}print(x / 10);putchar(x % 10 + 48); }ll quick_pow(ll a, ll n, ll mod) {ll ans = 1;while(n) {if(n & 1) ans = (ans * a) % mod;a = (a * a) % mod;n >>= 1;}return ans; }int main() {// freopen("in.txt", "r", stdin);// freopen("out.txt", "w", stdout);// ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);int T = read();while(T--) {ll n = read(), x0 = read(), a = read(), b = read(), p = read();ll x = 1, Unit = quick_pow(a, 1000, p);unordered_map<ll, int> MP;for(int i = 1; i <= 1000000; i++) {x = (x * Unit) % p;if(!MP.count(x)) {MP[x] = i * 1000;}}ll inv = quick_pow(((x0 - a * x0 - b) % p + p) % p, p - 2, p);int t = read();while(t--) {ll v = read();if(a == 0) {if(v % p == x0 % p) {puts("0");}else if(v % p == b % p) {puts("1");}else {puts("-1");}continue;}if(a == 1) {ll ans = (((((v - x0) % p + p) % p) * quick_pow(b, p - 2, p))) % p;if(ans < n) {printf("%lld\n", ans);}else {puts("-1");}continue;}v = (((v * (1 - a) - b) % p + p) % p * inv) % p;if(Unit == 0) {if(v == 0) {puts("0");}else {puts("-1");}continue;}x = v;int ans = p + 1;for(int i = 0; i <= 1000; i++) {if(MP.count(x)) {ans = min(ans, MP[x] - i);}x = (x * a) % p;}if(ans != p + 1 && ans < n) {printf("%d\n", ans);}else {puts("-1");}}}return 0; }

總結(jié)

以上是生活随笔為你收集整理的2019牛客暑期多校训练营(第五场)C generator 2 (BSGS)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 99国产精品久久久久久久成人 | 黄色第一网站 | 成人免费一区二区三区 | 欧美成人黄色 | 96国产精品 | 97在线观看视频免费 | 双性皇帝高h喷汁呻吟 | 热播之家 | 无套内谢的新婚少妇国语播放 | 97免费在线观看 | 奇米精品一区二区三区在线观看一 | 亚洲视频久久 | 日日操网 | 天天做天天操 | 插插久久 | 欧美激情一二三 | 无码人妻精品一区二区 | 亚洲情se| 天天做天天干 | 熟妇人妻久久中文字幕 | 成年人网站在线免费观看 | 香蕉视频黄色 | 亚洲福利网站 | 特黄老太婆aa毛毛片 | 亚洲巨乳av | 午夜理伦三级理论 | 欧美高跟鞋交xxxxxhd | 爱豆国产剧免费观看大全剧集 | 精品熟女一区二区 | 国产欧美一区二区三区视频在线观看 | 老公吃小头头视频免费观看 | 天堂网中文字幕 | 国产一区二区三区电影在线观看 | 性生活毛片 | 一级片99| 国产人妻人伦精品1国产盗摄 | 国产偷人爽久久久久久老妇app | 亚洲美女一区二区三区 | 奶罩不戴乳罩邻居hd播放 | 久久久久国产精品人妻 | 91成人观看 | 伊人黄色片 | 欧美激情精品久久久久久免费 | 91麻豆精品 | 亚洲综合av一区二区 | 中文字幕免费高 | 久久9999久久免费精品国产 | 999av| 手机av电影在线 | 国产精品人妻一区二区三区 | 人人干人人看 | 国产精品久久久一区二区三区 | 精品国产1区| 亚洲成人网络 | 精品欧美乱码久久久久久1区2区 | 亚洲色图13p | 岛国福利视频 | 69毛片| 日韩激情在线播放 | 国产真实生活伦对白 | 亚洲第二色 | 国产成人97精品免费看片 | 狠狠干2022| 久久综合九色综合欧美狠狠 | 久久成人综合 | 蜜桃久久精品 | 永久av| 中文字幕在线观看一区 | 午夜精品久久久久久久久久久久 | 天堂在线中文字幕 | 加勒比在线免费视频 | 白白色免费视频 | 一级色视频 | 欧美成本人视频 | 黄色777| 欧美mv日韩mv国产网站 | 天堂av一区 | 欧美激情视频一区二区三区不卡 | www.白白色| 亚洲理论中文字幕 | 国产精品亚洲专区无码牛牛 | 国产在线观看无码免费视频 | 日韩精品一区二区三区久久 | 日韩欧美亚洲精品 | 99精品国产一区二区 | 国产专区在线 | www.日本免费 | 亚洲aaa视频| 欧美大片免费在线观看 | 国产精品亲子伦对白 | 欧美日韩中文 | 一区欧美 | 日本激情一区二区三区 | 精品精品精品 | 激情青青草| 亚洲人成在线播放 | 国产精品偷乱一区二区三区 | 久操福利在线 | 综合网在线观看 |