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

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

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

      Codeforces Round 1044 (Div. 2) (E, F)

      https://codeforces.com/contest/2133

      E

      交互題感覺只要看給出的詢問次數就能推測出做法。
      顯然至少每個點都要進行一次操作1,最多也就少問一個點可以忽略不計,所以剩下的次數就是用來進行操作2的。也就是說每四個點要進行操作2。手玩小樣例,菊花圖,二叉樹,鏈,可以發(fā)現只要把siz大于4的模塊直接截斷,最后剩下的連通塊大小都不超過3,也就是都是一條鏈,一條鏈的情況是直接詢問得出的。(題解寫法有點類似樹鏈剖分,不過本題思維難度不高,主要在于實現難度,每四個點截斷非常好寫)

      采用給樹染色的方法,能很容易分類討論一個連通塊的三種情況(截斷點,鏈端點為lca或者鏈端點不為lca)。又因為一個點有效兒子不超過2個,記錄一下就很好寫了。

      #include<bits/stdc++.h>
      using namespace std;
      #define lowbit(x) (x & (-x))
      #define ls(x) (x << 1)
      #define int long long
      #define endl '\n'
      #define rs(x) (x << 1 | 1)
      const int N = 2e5 + 7, MOD = 998244353;
      int mul(int x, int y) {return 1ll * x * y % MOD;}
      int qpow(int x, int y) {
          int res = 1; while(y) {
              if (y & 1) res = mul(res, x);
              x = mul(x, x); y >>= 1;} return res;
      }
      vector<int> E[N];
      vector<pair<int, int>> ans;
      int n, col[N], son1[N], son2[N];
      void init() {
          ans.clear();
          for (int i = 1; i <= n; i++) 
              son1[i] = son2[i] = col[i] = 0, E[i].clear();
      }
      void dfs(int x, int fa) {
          int cnt = 0;
          for (int v : E[x]) {
              if (v == fa) continue;
              dfs(v, x);
              if (col[v] == 1) {
                  cnt++;
                  if (!son1[x]) son1[x] = v;
                  else son2[x] = v;    
              }
              else if (col[v] == 2) cnt += 10;
          }   
          if (cnt > 2) col[x] = 3;
          else if (cnt == 2) col[x] = 2;
          else col[x] = 1;
          // cout << x << ' ' << col[x] << " ???" << endl;
      }
      void dfs0(int x, int fa) {
          if (son1[x]) dfs0(son1[x], x);
          ans.push_back({1, x});
          col[x] = 3;
      }
      void dfs3(int x, int fa) {
          int p = 0;
          if (col[x] == 1) {
              ans.push_back({1, x});
              if (son1[x]) dfs3(son1[x], x), p = son1[x];
          }
          for (int i : E[x]) {
              if (i == p || i == fa) continue;
              dfs3(i, x);
          }
      }
      void solve() {
          cin >> n;
          init();
          for (int i = 1; i < n; i++) {
              int u, v; cin >> u >> v;
              E[u].push_back(v); E[v].push_back(u);
          }
          dfs(1, 0);
          for (int i = 1; i <= n; i++) {
              if (col[i] == 3) ans.push_back({1, i}), ans.push_back({2, i});
          }
          for (int i = 1; i <= n; i++) {
              if (col[i] == 2) {
                  dfs0(son1[i], i);
                  ans.push_back({1, i});
                  int cur = son2[i];
                  while(cur) {
                      col[cur] = 3;
                      ans.push_back({1, cur});
                      cur = son1[cur];
                  }
              }
          }
          dfs3(1, 0);
          cout << ans.size() << endl;
          for (auto i : ans) {
              cout << i.first << ' ' << i.second << endl;
          }
      }
      signed main() {
          ios::sync_with_stdio(false);
          cin.tie(nullptr); cout.tie(nullptr);
          int T; 
          cin >> T;
          while(T--) solve();
      }
      

      F

      線段樹優(yōu)化DP

      posted @ 2025-08-27 21:03  lyrrr  閱讀(13)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲日韩AV秘 无码一区二区| 精品在线观看视频二区| 留坝县| 尤物国精品午夜福利视频| 亚洲欧洲av一区二区久久| 精品国产乱码久久久久夜深人妻| 男人的天堂av社区在线| 国产欧美另类精品久久久| 亚洲AV福利天堂在线观看| 久久丫精品国产| 色综合色狠狠天天综合网| 一区二区精品久久蜜精品| 特级做a爰片毛片免费看无码| 偷拍专区一区二区三区| 久久av无码精品人妻出轨| 欧美成人一区二区三区不卡| 国产精品视频一区二区噜噜 | 国产又爽又黄又无遮挡的激情视频| 日韩 一区二区在线观看| 亚洲精品天堂在线观看| 欧美日本精品一本二本三区| 日本国产精品第一页久久| 亚洲色帝国综合婷婷久久| 国产午夜精品福利视频| 亚洲综合国产成人丁香五| 青青青青国产免费线在线观看| 小嫩批日出水无码视频免费| 亚洲av综合久久成人网| 亚洲国产一区二区三区久| 97欧美精品系列一区二区| 久久三级国内外久久三级| 国产99视频精品免费视频6| 久久精品蜜芽亚洲国产av| 国产极品尤物粉嫩在线观看| 精品人妻人人做人人爽夜夜爽| 中文字幕乱码十国产乱码| 一区二区不卡国产精品| 色哟哟www网站入口成人学校| 国产一区二区三区精品综合| 中美日韩在线一区黄色大片| 在线观看美女网站大全免费|