#include
using
namespace std;
typedef
long
long ll;
ll n, m;
int f[
50000000];
intqpow
(ll a,
int b,
int p)
return ret;
}ll inv
(ll a, ll p)
ll findr
(int p)
while
((f[i -1]
!=0)||
( f[i]!=1
));int len =
(i -2)
-0+1
;for
(int i =
0; i < len;
++i)
return ans;
}int
main()
#include
#define f(i,a,b) for(int i=(a);i<=int(b);++i)
using
namespace std;
typedef
long
long ll;
#define moded(n) ((n)<0?(n)%mod+mod:(n)%mod)
const
int inf =
0x3f3f3f3f
;const
int maxn =
int(20)
;const
int mod =
1e9+7;
mt19937_64 gen
(time(0
));struct t
;ll w;
//複數乘法
t mul_two
(t a, t b, ll p)
//複數快速冪
t qpow_two
(t a, ll n, ll p)
;while
(n)return ans;
}ll qpow
(ll a, ll n, ll p)
return ans % p;
}//勒讓德符號
ll legendre
(ll a, ll p)
//求x^2=b mod p 的解
intsolve
(ll b, ll p)
t tmp =
; t ans =
qpow_two
(tmp,
(p +1)
>>
1, p)
;return ans.x;
}#define endl '\n'
intmain()
}return0;
}//what to debug
/*-1.最好把全部warning都x掉,否則:
0.看看自己是否有可能需要快讀,禁endl
2.通讀**,**無邏輯錯誤
3.讀題,找到題意理解失誤或演算法錯誤
4.放棄
*/
2019牛客多校第九場
由題意可設x y kp bx y kp b x y kp b代入第二個式子中可以得到kpx bx x2 c mod kpx bx x 2 equiv c mod kpx bx x2 c modp p p 第一項是p的倍數可以約掉,所以有x2 bx c 0 m od x 2 bx c equiv 0 ...
19牛客多校第九場 D題 折半列舉
給你個序列和數字s,問你哪些數的和等於s,要求輸出01串,表示對應位置的數字取與不取。最多有36個數字,傳統的搜尋,最多 236 次操作,加上剪枝也會tle。這裡用折半列舉 思想 於傳統的雙向搜尋 就可以解決問題。把序列分成兩個部分,分別列舉這兩個部分的組合,然後對於其中乙個部分的和,看另乙個部分有...
牛客多校第九場補題(待完善)
i the crime solving plan of groundhog 題目大意 給定一組由 0 9 組成的數,組成兩個數使乘積最小。解題思路 用陣列儲存 0 9 的個數,先從 1 9 選最小的作為其中乙個乘數,其餘的數組成所能表達的最小的數。難點應該是大數乘法 這個也不難 include in...