亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

POJ - 1987 樹分治

2019-11-11 06:27:15
字體:
來源:轉載
供稿:網友

題意:

與POJ-1741一致,傳送門:點擊打開鏈接

思路:

沒什么意思,直接套模板。

代碼:

#include <cstdio>#include <cstring>#include <iostream>#include <vector>#include <algorithm>using namespace std;typedef long long ll;const int MAXN = 1e5 + 10;struct node {    int v;    ll w;};ll k;int n, m, root, Max, ans;vector <node> tree[MAXN];vector <ll> dis;int sz[MAXN], maxv[MAXN];bool vis[MAXN];void init() {    memset(vis, false, sizeof(vis));    for (int i = 1; i <= n; i++) tree[i].clear();}void dfs_size(int u, int PRe) {         // 求出每個子樹的大小,以及每個節點的最大兒子    sz[u] = 1; maxv[u] = 0;    int cnt = tree[u].size();    for (int i = 0; i < cnt; i++) {        int v = tree[u][i].v;        if (v == pre || vis[v]) continue;        dfs_size(v, u);        sz[u] += sz[v];        maxv[u] = max(maxv[u], sz[v]);    }}void dfs_root(int r, int u, int pre) {  // 找出以u為根的子樹的重心    maxv[u] = max(maxv[u], sz[r] - sz[u]);    if (Max > maxv[u]) {        Max = maxv[u];        root = u;    }    int cnt = tree[u].size();    for (int i = 0; i < cnt; i++) {        int v = tree[u][i].v;        if (v == pre || vis[v]) continue;        dfs_root(r, v, u);    }}void dfs_dis(int u, int pre, int d) {    // 求出當前子樹中所有點到根的距離    dis.push_back(d);    int cnt = tree[u].size();    for (int i = 0; i < cnt; i++) {        int v = tree[u][i].v, w = tree[u][i].w;        if (v == pre || vis[v]) continue;        dfs_dis(v, u, d + w);    }}int cal(int u, int d) {         // 計算當前子樹中合法的點對數    int res = 0;    dis.clear(); dfs_dis(u, -1, d);    sort (dis.begin(), dis.end());    int i = 0, j = dis.size() - 1;    while (i < j) {        while (dis[i] + dis[j] > k && i < j) --j;        res += j - i;        ++i;    }    return res;}void dfs(int u) {               // 總的dfs求解    Max = n;    dfs_size(u, -1); dfs_root(u, u, -1);    ans += cal(root, 0);    vis[root] = true;    int cnt = tree[root].size(), rt = root; // 一定要注意這樣里的root是全局變量,在遞歸之后可能改變,需要提前保存下來。    for (int i = 0; i < cnt; i++) {        int v = tree[rt][i].v, w = tree[rt][i].w;        if (vis[v]) continue;        ans -= cal(v, w);        dfs(v);    }}int main() {    //freopen("in", "r", stdin);    while (scanf("%d%d", &n, &m) == 2) {        init();        char s[10];        for (int i = 1; i < n; i++) {            int u, v;            ll w;            scanf("%d%d%lld%s", &u, &v, &w, s);            tree[u].push_back((node){v, w});            tree[v].push_back((node){u, w});        }        scanf("%lld", &k);        ans = 0;        dfs(1);        printf("%d/n", ans);    }    return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲网站在线看| 国产精品久久久久久久久久久久| 国产精品99蜜臀久久不卡二区| 91精品国产免费久久久久久| 国产精品久久久久高潮| 欧美高跟鞋交xxxxxhd| 国产精品免费福利| 国产精品影院在线观看| 精品久久久久久久久久ntr影视| 中文字幕自拍vr一区二区三区| 欧美激情xxxxx| 欧美激情性做爰免费视频| 成人综合网网址| 色噜噜狠狠狠综合曰曰曰88av| 亚洲美女自拍视频| 日韩精品在线影院| 日本国产高清不卡| 日韩激情视频在线播放| 欧美第一黄色网| 欧美成人免费全部| 国产免费一区二区三区在线观看| xxxxxxxxx欧美| 在线免费看av不卡| 91亚洲午夜在线| 国产精品日韩av| 亚洲香蕉成视频在线观看| 久久这里只有精品视频首页| 色偷偷噜噜噜亚洲男人的天堂| 国产精品精品视频| 91精品国产色综合久久不卡98口| 精品偷拍一区二区三区在线看| 国产综合在线视频| 欧美日本黄视频| 亚洲va久久久噜噜噜| 久久久精品一区二区| 日韩在线一区二区三区免费视频| 91精品国产高清久久久久久| 精品中文字幕乱| 一区二区欧美日韩视频| 国语自产精品视频在线看| 亚洲人成网7777777国产| 国内精品视频久久| 国产精品久久久久久久久| 这里只有精品视频在线| 亚州欧美日韩中文视频| 国产精品一区二区久久国产| 国产精品视频永久免费播放| 日韩电影中文 亚洲精品乱码| 精品国产欧美一区二区三区成人| 91亚洲精品久久久| xxxxxxxxx欧美| 久久综合电影一区| 美女国内精品自产拍在线播放| www国产亚洲精品久久网站| 日韩成人免费视频| 亚洲免费精彩视频| 欧美国产日韩一区二区在线观看| 美女999久久久精品视频| 欧美日韩视频免费播放| 亚洲欧美日韩网| 91社区国产高清| 国产成人a亚洲精品| 一本色道久久88综合亚洲精品ⅰ| 亚洲精品国精品久久99热一| 日韩午夜在线视频| 欧美成人精品在线| 午夜免费日韩视频| 欧美高清在线播放| 日韩精品视频三区| 欧美寡妇偷汉性猛交| 精品久久久久久中文字幕| 国产一区视频在线播放| 亚洲人在线视频| 久久久在线观看| 欧美一区二区三区艳史| 欧美成人精品影院| 国产一区二区三区18| 精品国产视频在线| 日韩av免费看网站| 色婷婷av一区二区三区久久| 久久成人亚洲精品| 欧美激情亚洲视频| 亚洲精品乱码久久久久久金桔影视| 亚洲第一区中文99精品| 综合国产在线观看| 最近2019中文字幕mv免费看| 亚洲国产天堂久久综合| 日韩高清有码在线| 羞羞色国产精品| 日韩视频免费看| 久久成人精品一区二区三区| 在线色欧美三级视频| 久久精品中文字幕电影| 精品国模在线视频| 久久久久久久久久久久久久久久久久av| 在线观看精品国产视频| 国产精品久久久久久久久久久久久久| 国产免费一区视频观看免费| 中文字幕亚洲欧美日韩高清| 国产91在线播放九色快色| 午夜精品久久久久久99热软件| 国产精品久久久久久五月尺| 成人黄色大片在线免费观看| 国产做受高潮69| 日韩中文字幕视频| 日韩av网址在线观看| 欧美日韩一二三四五区| 欧美精品18videos性欧美| 91久久国产精品| 成人激情黄色网| 欧洲成人性视频| 日本久久久久久久久久久| 国产一区欧美二区三区| 午夜精品一区二区三区在线| 国产精品久久久久av| 中文字幕视频在线免费欧美日韩综合在线看| 亚洲成人久久网| 欧美国产日韩一区| 欧美乱人伦中文字幕在线| 亚洲直播在线一区| 国内精品视频久久| 国产91精品久久久久久久| 青草青草久热精品视频在线网站| 日韩精品视频在线播放| 日韩中文字幕在线视频播放| 欧美黑人性猛交| 国模视频一区二区三区| 欧美性猛交xxxx免费看| 欧美日韩在线一区| 欧洲日本亚洲国产区| 亚洲人av在线影院| 欧美成人小视频| 国产精品爽爽ⅴa在线观看| 日韩欧美国产一区二区| 亚洲天堂av在线播放| 亚洲欧美另类中文字幕| 中文字幕亚洲综合久久筱田步美| 亚洲免费小视频| 97在线精品视频| 欧美国产日韩精品| 日韩在线观看免费高清完整版| 欧美夫妻性生活视频| 久久九九热免费视频| 日韩av综合中文字幕| 亚洲精品第一页| 国产有码一区二区| 午夜免费在线观看精品视频| 丰满岳妇乱一区二区三区| 国产欧美精品一区二区三区-老狼| 91久久国产精品91久久性色| 精品国产一区二区三区久久久| 夜夜嗨av一区二区三区免费区| 亚洲第一色中文字幕| 国产精品美女免费视频| 国产91在线播放精品91| 午夜精品久久久久久久99热| 国产精品嫩草影院久久久| 久久成年人视频| 欧美又大粗又爽又黄大片视频| 久久久之久亚州精品露出| 日韩电影在线观看中文字幕| 久久久免费观看视频| 最近中文字幕mv在线一区二区三区四区| 国产区精品在线观看|