20150806解題報告

2021-07-04 10:32:56 字數 1871 閱讀 9067

≤10^12的數中大於等於10^6的因數最多乙個,所以只要把10^6以內的全部篩出來, ≥10^6的因數特判就可以了,而10^6以內素數的個數字ln10^6個,複雜度輕鬆不虛

#include #include using namespace std;

typedef long long ll;

const int n = 1111111;

int tot, prime[n], a[n];

inline void setio()

inline ll read()

return x;

}inline void work()

int j = 1;

dowhile(j <= tot && i % prime[j - 1] != 0); }}

inline bool check(ll n)

int main()

感覺**複雜度都很大,這尼瑪是noip題?

p`s pushdown的時候一定要注意寫成 if (tag[now]) {} 的形式,因為tag可能為負,訓練時就因為這個**了

#include using namespace std;

#define rep(i, a, b) for(int i = (a); i <= (b); i++)

#define red(i, a, b) for(int i = (a); i >= (b); i--)

#define ll long long

const ll mod = 7459;

const int maxn = 222222;

ll size[maxn], sum[maxn], pf[maxn], tag[maxn], a[maxn], val[maxn];

int n, m, id[maxn], ch[maxn][2], fa[maxn], rt, sz;

inline void up(int now)

inline void pushdown(int now)

}inline void rotate(int x,int &now)

fa[x] = z; fa[y] = x; fa[ch[x][r]] = y;

ch[y][l] = ch[x][r]; ch[x][r] = y;

up(y); up(x);

}inline void splay(int x, int &now)

rotate(x, now); }}

inline void build(int l, int r, int f)

int mid = (l + r) >> 1; now = id[mid];

build(l, mid-1, mid); build(mid+1, r, mid);

val[now] = a[mid]; fa[now] = last; up(now);

if (mid < f) ch[last][0] = now;

else ch[last][1] = now;

return;

}inline int find(int now, int rank)

inline void insert(int now, ll data)

inline void add(int left, int right, int delta)

inline void query(int left, int right)

int main()

} return 0;

}

樹形dp。記錄子樹狀態:0黑0白,0黑1白,0黑2白,1黑0白,1黑1白。

直接做轉移太麻煩,可以預處理兩狀態合併後的狀態,5^2轉移。

Block Voting 解題報告

這道題做的有點狼狽,效率不高,差一點就tle的ac了。看status裡的,ac的時間大多數都是0ms的。肯定有乙個更有效率的演算法的。下面說下我的狼狽演算法。出處 http acm.jlu.edu.cn joj showproblem.php?pid 1223 問題描述 求每個party的權值。第i...

Safebreaker 解題報告

又是吉林大學一道acm題目,題目很簡單,直接暴力解決。出處 http acm.jlu.edu.cn joj showproblem.php?pid 1718 問題描述 對乙個給定數0000 9999 根據一系列猜測,判斷這個數是否存在,存在的話,是否唯一 例如 3321,給定數 作出猜測,1223 ...

路由 解題報告

路由 問題描述 有乙個tcp ip網路 每台計算機都有乙個或多個網路介面。每個介面根據它的ip位址和子網掩碼來識別 即兩個4位元組的數,兩個字 節之間有乙個 號.子網掩碼有乙個二進位制表示法 有k個 1 然 後是 m 個 0 k m 8 4 32 如 212.220.35.77 是乙個 ip 地 址...