<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Codeforces 1281E

      Link

      題意:一棵$2n$個點的樹讓你分配$n$對居民在點上求每對居民之間路徑和的最小值和最大值

      思路:考慮一條邊$(u, v)$

      1.若要使答案盡可能大,那么這條邊應該取到盡可能多次。顯然,如果$u, v$的子樹大小分別表示成$sz_u, sz_v$,那么這條邊最多被覆蓋$min(sz_u, sz_v)$次,算出每條邊最多被取到的次數再乘以邊長就是最大值了。

      2.若要使答案盡可能小,那么我們應該讓每條邊最多取到$1$次,我們考慮$sz_u, sz_v$的奇偶性,發現他們是同奇偶性的。如果都是偶數,那么這條邊就可以不取,因為兩個子樹可以內部完成,否則這條邊必須取到,因為假設兩個內部盡可能多的完成了,依舊會分別至少剩下$1$個點沒分配,所以這條邊必定被覆蓋。

      #include <bits/stdc++.h>
      #define DBG(x) cerr << #x << " = " << x << endl
      
      using namespace std;
      typedef long long ll;
      
      const int N = 2e5 + 5;
      
      int n, head[N], tot, sz[N]; ll mx, mn;
      struct Enode {
          int to, nxt, w;
      } edge[N * 2];
      
      void addedge(int u, int v, int w) {
          edge[tot].to = v;
          edge[tot].w = w;
          edge[tot].nxt = head[u];
          head[u] = tot++;
      } 
      
      void dfs(int u, int f) {
          sz[u] = 1;
          for(int i = head[u]; i != -1; i = edge[i].nxt) {
              int v = edge[i].to, w = edge[i].w;
              if(v == f) continue;
              dfs(v, u);
              if(sz[v] & 1) mn += w;
              mx += (ll)w * min(sz[v], n - sz[v]);
              sz[u] += sz[v];
          }
      }
      
      void solve() {
          scanf("%d", &n);
          for(int i = 1; i <= 2 * n; i++) head[i] = -1, sz[i] = 0; tot = mn = mx = 0;
          n = 2 * n;
          for(int i = 1, u, v, w; i < n; i++) {
              scanf("%d%d%d", &u, &v, &w);
              addedge(u, v, w);
              addedge(v, u, w);
          }
          dfs(1, -1);
          printf("%lld %lld\n", mn, mx);
      }
      
      int main() {
          int cs; for(scanf("%d", &cs); cs--; solve());   
      }
      posted @ 2019-12-20 11:25  WstOne  閱讀(254)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 无码专区—va亚洲v天堂麻豆| 激情文学一区二区国产区| 久天啪天天久久99久孕妇| 99久久免费精品色老| 精品无码午夜福利理论片| 国产肥臀视频一区二区三区| 性夜夜春夜夜爽夜夜免费视频 | 国产对白老熟女正在播放| 亚洲熟妇色xxxxx亚洲| 中文字幕亚洲男人的天堂| 成人又黄又爽又色的视频| 撕开奶罩揉吮奶头高潮av| 亚洲综合黄色的在线观看| 久久精品国产99久久久古代| 国产仑乱无码内谢| 免费特黄夫妻生活片| 亚洲高清国产成人精品久久| 亚洲精品免费一二三区| 亚洲一区二区三区av无码| 无码一区中文字幕| 国产成人乱色伦区| 无码国内精品久久人妻蜜桃| 国产精品国产三级国产午| 起碰免费公开97在线视频| 国产精品一品二区三区日韩| 日本一卡2卡3卡4卡无卡免费| 精品国产一国产二国产三| 99久久99这里只有免费费精品| 久久国产免费观看精品3| 人妻无码中文专区久久app| 国产免费福利网站| 国产一区二区三区不卡视频| 国产漂亮白嫩美女在线观看| 不卡一区二区三区在线视频 | 国产极品美女高潮无套| 天天综合色一区二区三区| 18禁黄网站禁片免费观看| 久久久久无码国产精品一区| 国产一区二区不卡视频在线| 亚洲精品麻豆一区二区| 久9视频这里只有精品|