牛客多校第九場部分題題解

2021-09-28 00:26:55 字數 1618 閱讀 9250

#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...