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

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

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

      歸并排序(p1309)

      P1309 [NOIP 2011 普及組] 瑞士輪

      題目背景

      在雙人對決的競技性比賽,如乒乓球、羽毛球、國際象棋中,最常見的賽制是淘汰賽和循環賽。前者的特點是比賽場數少,每場都緊張刺激,但偶然性較高。后者的特點是較為公平,偶然性較低,但比賽過程往往十分冗長。

      本題中介紹的瑞士輪賽制,因最早使用于 1895 年在瑞士舉辦的國際象棋比賽而得名。它可以看作是淘汰賽與循環賽的折中,既保證了比賽的穩定性,又能使賽程不至于過長。

      題目描述

      \(2 \times N\) 名編號為 \(1\sim 2\times N\) 的選手共進行 \(R\) 輪比賽。每輪比賽開始前,以及所有比賽結束后,都會按照總分從高到低對選手進行一次排名。選手的總分為第一輪開始前的初始分數加上已參加過的所有比賽的得分和。總分相同的,約定編號較小的選手排名靠前。

      每輪比賽的對陣安排與該輪比賽開始前的排名有關:第 \(1\) 名和第 \(2\) 名、第 \(3\) 名和第 \(4\) 名、……、第 $2\times K - 1 $ 名和第 \(2\times K\) 名、…… 、第 \(2\times N - 1\) 名和第 \(2\times N\) 名,各進行一場比賽。每場比賽勝者得 \(1\) 分,負者得 \(0\) 分。也就是說除了首輪以外,其它輪比賽的安排均不能事先確定,而是要取決于選手在之前比賽中的表現。

      現給定每個選手的初始分數及其實力值,試計算在 \(R\) 輪比賽過后,排名第 \(Q\) 的選手編號是多少。我們假設選手的實力值兩兩不同,且每場比賽中實力值較高的總能獲勝。

      輸入格式

      第一行是三個正整數 \(N,R,Q\),每兩個數之間用一個空格隔開,表示有 $2\times N $ 名選手、\(R\) 輪比賽,以及我們關心的名次 \(Q\)

      第二行是 \(2\times N\) 個非負整數 \(s_1, s_2,\dots, s_{2\times N}\),每兩個數之間用一個空格隔開,其中 $s_i $ 表示編號為 \(i\) 的選手的初始分數。

      第三行是 \(2\times N\) 個正整數 \(w_1,w_2,\dots,w_{2\times N}\),每兩個數之間用一個空格隔開,其中 \(w_i\) 表示編號為 \(i\) 的選手的實力值。

      輸出格式

      一個整數,即 \(R\) 輪比賽結束后,排名第 \(Q\) 的選手的編號。

      輸入輸出樣例 #1

      輸入 #1

      2 4 2 
      7 6 6 7 
      10 5 20 15
      

      輸出 #1

      1
      

      說明/提示

      【樣例解釋】

      【數據范圍】

      對于 \(30\%\) 的數據,\(1\le N\le 100\)

      對于 \(50\%\) 的數據,\(1\le N\le 10000\)

      對于 \(100\%\) 的數據,\(1\le N\le 10^5,1\le R\le 50,1\le Q\le 2\times N,0\le s_1, s_2,\dots,s_{2\times N}\le 10^8,1\le w_1, w_2 , \dots, w_{2\times N}\le 10^8\)

      noip2011 普及組第 3 題。

      AC代碼

      #include <iostream>
      #include <vector>
      #include <algorithm>
      using namespace std;
      
      struct st
      {
          int id, gra, sh;
      };
      
      bool cmp(const st &a, const st &b)
      {
          if (a.gra != b.gra)
              return a.gra > b.gra;
          return a.id < b.id;
      }
      
      void mergeMatches(vector<st> &players)
      {
          int n = players.size() / 2;
          vector<st> winners, losers;
      
          for (int i = 0; i < 2 * n; i += 2)
          {
              if (players[i].sh > players[i + 1].sh)
              {
                  players[i].gra++;
                  winners.push_back(players[i]);
                  losers.push_back(players[i + 1]);
              }
              else
              {
                  players[i + 1].gra++;
                  winners.push_back(players[i + 1]);
                  losers.push_back(players[i]);
              }
          }
      
          players.clear();
          int i = 0, j = 0;
          while (i < winners.size() && j < losers.size())
          {
              if (cmp(winners[i], losers[j]))
              {
                  players.push_back(winners[i++]);
              }
              else
              {
                  players.push_back(losers[j++]);
              }
          }
          while (i < winners.size())
              players.push_back(winners[i++]);
          while (j < losers.size())
              players.push_back(losers[j++]);
      }
      
      int main()
      {
          int N, R, Q;
          cin >> N >> R >> Q;
      
          vector<st> players(2 * N);
          for (int i = 0; i < 2 * N; i++)
          {
              players[i].id = i + 1;
              cin >> players[i].gra;
          }
          for (int i = 0; i < 2 * N; i++)
          {
              cin >> players[i].sh;
          }
      
          // 初始排序
          sort(players.begin(), players.end(), cmp);
      
          // 進行R輪比賽
          for (int round = 0; round < R; round++)
          {
              mergeMatches(players);
          }
      
          cout << players[Q - 1].id << endl;
          return 0;
      }
      
      posted @ 2025-10-29 09:48  sadmax11  閱讀(9)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲男人AV天堂午夜在| 亚洲男人天堂东京热加勒比 | 亚洲日本欧美日韩中文字幕| 国产精品综合色区av| 国产稚嫩高中生呻吟激情在线视频| 98日韩精品人妻一二区| 国产精品亚洲一区二区三区| 四虎在线成人免费观看| av午夜福利一片免费看久久| 国产中文字幕在线一区| 熟女人妻视频| 免费无码av片在线观看网站| 色欲国产精品一区成人精品| 玩弄少妇人妻| 国产成人卡2卡3卡4乱码| 日韩国产精品中文字幕| 精品国模一区二区三区| 国产三级精品三级在线看| 好男人好资源WWW社区| 长沙市| 人人爽人人澡人人人妻| 成人三级视频在线观看不卡| 中文字幕国产精品自拍 | 精品亚洲一区二区三区四区| 成人国产精品中文字幕| 亚洲欧美综合精品成人网站| 亚洲女人的天堂在线观看| 久久日韩在线观看视频| 波多野结衣av无码| 亚洲午夜成人精品电影在线观看| 国产欧美日韩综合精品一区二区 | 国产亚洲国产精品二区| 亚洲欧美日韩愉拍自拍美利坚| 久久精品国产亚洲av麻| 91精品乱码一区二区三区| 秋霞电影网| 免费看亚洲一区二区三区| 亚洲永久一区二区三区在线| 亚洲天堂网中文在线资源| 深夜精品免费在线观看| 潮喷无码正在播放|