日常訓練 Tree

2021-08-13 23:21:59 字數 1420 閱讀 3423

j]: 對於h

[u][

j]:

時間複雜度的證明也是比較經典了,每次列舉的是sz

eu⋅s

zev ,相當於每次從a,

b 中各任選一點,它們的lc

a 為

u ,這樣的點對列舉不會重複,因此總的時間複雜度為o(n2)

#include 

#include

#include

#include

#include

using

namespace

std;

namespace inout

inline

int get()

};using

namespace inout;

const

int maxn = 0x3f3f3f3f;

const

int n = 3005;

int n, ans = maxn, k, sze[n];

int f[n][n], g[n][n], h[n][n];

int ff[n][n], gg[n][n], hh[n][n];

struct edge

p[n << 1], *t = p, *lst[n];

inline

void linkedge(int x, int y, int z)

inline

int min(int x, int y)

inline

void ckmin(int &x, int y)

inline

void dfs(int u, int fa)

int l1 = e->cst, l2 = e->cst << 1;

for (int j = 1; j <= sze[u]; ++j)

for (int k = 1; k <= sze[v]; ++k)

for (int j = 1, jm = sze[u] + sze[v]; j <= jm; ++j)

sze[u] += sze[v];

}ckmin(ans, h[u][k]);

}int main()

memset(f, maxn, sizeof(f));

memset(g, maxn, sizeof(g));

memset(h, maxn, sizeof(h));

dfs(1, 0);

printf("%d\n", ans);

fclose(stdin); fclose(stdout);

return

0;}

日常訓練 壓縮

巨大的文字往往令人頭疼,特別是文字內容有大量重複的情況下,巨大的文字不便於運輸和閱讀,於是我們提出了noip nonsense obivous index pattern 荒謬的顯然索引法 一種 有效的 壓縮文字的方法。noip壓縮後的格式很特別,乙個文字壓縮後由若干個單元組成,每個單元由3部分組成...

日常訓練 mod

給定 p 1,p 2,p n,b 1,b 2,b m 求滿足 x mod p 1 equiv a 1,x mod p 2 equiv a 2,x mod p n equiv a n 的 x 對 b 1,b 2,b m 取模的結果.第一行兩個整數 n,m 接下來 n 行,每行有乙個整數 a i 接下來...

日常訓練 school

description 眾所周知,家離學校很遠。於是,每天算準了時間出發,以保證能在上課鈴響前 秒到達學校。不幸的是,市最近正在修路。這就導致有些路可能無法通行,因而可能導致 遲到。不打算改變他的出發時間,現在他告訴你他通過每一條路的時間,他想要知道如果某條路被維修了,那麼他是否能避免遲到?inpu...