做法非常多。。。
比如對於同一層的點直接建立虛樹,然後模擬dp即可
如果不想建虛樹,可以直接維護合併,每次合併得到的\(\text\)一定是同層點按照dfs序排序之後相鄰兩點的\(\text\)之一
處理出所有這樣的lca,然後按照dep從大到小依次操作
用乙個set維護,每次取出子樹區間裡的點合併上來即可。。。
不知道\(o(n)\)怎麼寫
const int n=2e5+10;
int n,rt;
int a[n];
vector g[n];
vector > e[n];
int fa[n][20],l[n],r[n],dfn,id[n],dep[n];
void dfs(int u,int f)
int lca(int x,int y)
st.insert(make_pair(l[line[i]],s));
} ll t=st.begin()->second;
ans+=max(1ll,t-1);
}int main()
dfs(rt,0);
rep(i,1,n) if(a[i]) e[dep[i]].pb(make_pair(l[i],a[i]));
rep(i,1,n) if(e[i].size()) solve(i);
printf("%lld\n",ans);
}
Nowcodercontest5278H 紙牌遊戲
可以合理地想到從高到低依次列舉每一位的數,然後 text 一下後面是否存在方案,問題在於如何快速check 設還還剩下的 mod 3 0,1,2 的數個數分別為 c 0.2 設總共還需要 n 個,需要湊出 mod 3 t 的方案 這時後我們假設列舉某乙個,比如我們列舉 0 選了 i 個,設還剩下 n...
mysql5 2使用 5 2 使用MySQL資料庫
目前internet上流行的 構架方式是lamp,其中的m即mysql,作為資料庫,mysql以免費 開源 使用方便為優勢成為了很多web開發的後端資料庫儲存引擎。mysql驅動 go中支援mysql的驅動目前比較多,有如下幾種,有些是支援database sql標準,而有些是採用了自己的實現介面,...
mysql5 2使用 5 2 使用MySQL資料庫
目前internet上流行的 構架方式是lamp,其中的m即mysql,作為資料庫,mysql以免費 開源 使用方便為優勢成為了很多web開發的後端資料庫儲存引擎。mysql驅動 go中支援mysql的驅動目前比較多,有如下幾種,有些是支援database sql標準,而有些是採用了自己的實現介面,...