Segment Tree
===
###### tags: `Algorithm`
## 思路
* root = 1, left node = (n<<1), right node = (n<<1|1)
* build
* set l, r
* if (l==r) get arr value
* else gen child, pull(merge)
* query
* if query cover node complete
* return val
* else if l or r touched
* query l or r (query don't change), merge
## Code
```cpp
#define maxN (1000000+10)
#define L(x) (x<<1)
#define R(x) ((x<<1)|1)
//st
int l[maxN], r[maxN], val[maxN];
inline void pull( int x)
{
val[x] = min
ArutoriaWhite changed 6 years agoView mode Like Bookmark
數論
===
###### tags: `Algorithm` `Todo`
* a|x a 是因數
## 費馬小定理(唬爛法)
* a^p-1=1
```cpp
#define _for(i,a,b) for(int i=(a);i<(b);i++)
#include <iostream>
#include <random>
using namespace std;
long long power(long long a, long long n,long long m)// power(a, n) 表示詢問 a^n
{
long long tmp = a,ans = 1;
while (n) {
if (n&1) {
ans = tmp*ans%m;
}
n /= 2;
tmp = tmp*tmp%m;
}
return ans;
}
mt19937 mt(123);
int main() {
long long p; while (cin>>p)
{
bool isPrime = true;
_for (i, 0, 5
ArutoriaWhite changed 6 years agoView mode Like Bookmark