原创 bzoj2159

【題意】 給出一棵n 個點的樹,求對於每個點i 的d(i) 值。 d(i)=∑i≠x1≤x≤ndist(x,i)k 數據範圍:1≤n≤50000,1≤k≤150 【題解】 這題非常的神…… 首先我們發現,xn 能用Stirlin

原创 類歐幾里得

【xsy2126】超級綿羊異或 類歐幾里德算法 題意 分析   根據位運算的位獨立性,我們逐位考慮當前位的異或值,即分析每一位的個數是有奇數個,還是偶數個。   我們從最後一位開始進行分析。答案即爲 ∑i=0n−1((bi+a

原创 後綴自動機

應用 簡便起見,我們假設字母表的大小k爲常數。 存在性查詢 問題.給定文本T,詢問格式如下:給定字符串P,問P是否是T的子串。 分析:直接沿着go[][]對應着跳 複雜度要求.預處理O(length(T)),每次詢問O(P)。

原创 數論雜題

orz鏈接 雜題: 1.hdu1717 題意:將小數化爲分數(小數可爲循環小數和不循環的普通小數) [題解] 2.hdu1452 題意:輸入x,求2004^x的所有因子的和,結果對29取餘。 題解: 2004=22∗3∗167

原创 斯特林數

題: bzoj4555題解 bzoj2159題解 bzoj3000 hdu4676 hdu3625 poj1671 poj1430 poj1423 第一類斯特林數 s(p,k)的一個的組合學解釋是:將p個物體排成k個

原创 如何調試fft與ntt

FFT(快速傅里葉變換)/NTT(數論變換)是卷積運算常見而實用的優化 但是FFT/NTT的處理過程並不像暴力運算(差不多是多項式乘法)那樣能夠直觀地反映卷積結果的實時變化。 因此在使用FFT時將會或多或少地加大調試的難度。 如果

原创 bzoj3779 lct+線段樹+dfs序

題意: 有一棵n個節點的樹,每個節點有一個顏色,初始每個節點顏色不相同,且以節點1爲根。定義每個點的權值爲這個點到根的路徑上不同顏色的個數。現在進行m次操作,每次操作爲下列三種之一: 1、將x到當前根路徑上的所有點染成一種新的

原创 三分

題: bzoj3330 bzoj3203YES bzoj3533YES bzoj3874 bzoj1857YES bzoj1229YES bzoj3533☆ 題意: 維護一個向量集合,在線支持以下操作: "Axy(|x

原创 sunday算法

假設我們有如下字符串: A = “LESSONS TEARNED IN SOFTWARE TE”; B = “SOFTWARE”; Sunday算法的大致原理是: 先從左到右逐個字符比較,以我們的字符串爲例: 開始的時候

原创 xsy1025 link-cut-tree+線段樹

題意: 分析: 代碼: #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int N=200100; ty

原创 矩陣乘法

xsy2041 bzoj4002 題意: ⌊(b+d√2)n⌋  mod  7528443412579576937 分析: 構造數列an=(b+d√2)n+(b−d√2)n ∵xn+yn=(xn−1+yn−1)∗(x+y

原创 樹分治

xsy2150 題意: 一棵樹,每個點有一個值 定義w(x,y)=dis(x,y)∗(a[x] xor a[y]) 求∑nx=1∑ny=x+1w(x,y) 分析: 對原樹搞點分,現在考慮怎麼算貢獻。 難點在於如何去重。

原创 2-SAT

一坨題 bzoj1997 bzoj2199 bzoj1823 bzoj4078 poj2723√ 題意: 有2*n把鑰匙分成n組,每組兩個鑰匙如果選擇了一把另一把就會消失。有m個門,每個門上有兩把鎖,只要打開一把鎖就能打

原创 dfs序

題: bzoj3779——lct+線段樹+dfs序 bzoj4034——樹剖….. bzoj3991——set+dfs序 bzoj3881——fail樹+dfs序/樹剖 bzoj3786——lct特殊姿勢 bzoj28

原创 樹鏈剖分

題 bzoj3924YES bzoj4034YES bzoj1576YES bzoj3626YES神轉化 bzoj2325 bzoj3589 bzoj4538 bzoj2908 bzoj3694YES bzoj1