蓝桥集训之序列

蓝桥集训之序列

  • 核心思想:多路归并

    • 每次将两个序列合并 –> 两序列n2个和中最小的n个 构成新序列

    • 第一行都是加b1 每次在最外面的元素中取最小(优先队列)

      • 在这里插入图片描述
  •   #include<iostream>
      #include<algorithm>
      #include<cstring>
      #include<queue>
      #include<vector>
      
      using namespace std;
      const int N = 2010;
      typedef pair<int,int> PII;
      
      int a[N],b[N],c[N];
      int n,t,m;
      
      void merge()
      {
          priority_queue<PII,vector<PII>,greater<PII>> pq;
          for(int i=0;i<n;i++) pq.push({a[0] + b[i] , 0});  //将初始n个数加入优先队列
          for(int i=0;i<n;i++)
          {
              auto t = pq.top();  //取出最小
              pq.pop();
              int x = t.first , y = t.second;
              c[i] = x;
              pq.push({x - a[y] + a[y+1] , y+1});  //把后一个补上
          }
          memcpy(a, c, sizeof a);  //a[i] = c[i]更新a数组
      }
      int main()
      {
          cin>>t;
          while(t--) {
              cin >> m >> n;
              for (int i = 0; i < n; i++) scanf("%d", &a[i]);
              sort(a, a + n);
      
              for (int i = 0; i < m - 1; i++)
              {
                  for(int j=0;j<n;j++)
                      scanf("%d",&b[j]);  //每输出一组 就合并
                  merge();
              }
              for(int i=0;i<n;i++) printf("%d ", a[i]);
              puts(" ");
          }
      }
    

相关推荐

  1. 集训星空

    2024-03-10 02:12:01       20 阅读
  2. 集训日期差值

    2024-03-10 02:12:01       27 阅读
  3. 集训日期问题

    2024-03-10 02:12:01       24 阅读
  4. 集训奶牛选美

    2024-03-10 02:12:01       17 阅读
  5. 集训八数码

    2024-03-10 02:12:01       22 阅读
  6. 集训山峰和山谷

    2024-03-10 02:12:01       22 阅读
  7. 集训格子游戏

    2024-03-10 02:12:01       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-10 02:12:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-10 02:12:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-10 02:12:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-10 02:12:01       20 阅读

热门阅读

  1. Restful风格接口简介

    2024-03-10 02:12:01       22 阅读
  2. css深度选择器 /deep/ 在89版本后就失效了

    2024-03-10 02:12:01       19 阅读
  3. Docker的奇幻漂流

    2024-03-10 02:12:01       20 阅读
  4. 遮蔽云和云雾函数

    2024-03-10 02:12:01       21 阅读
  5. Linux Shell 函数详解

    2024-03-10 02:12:01       20 阅读
  6. Elasticsearch:了解人工智能搜索算法

    2024-03-10 02:12:01       24 阅读
  7. 金融产业化,应当是产业互联网的有机组成部分

    2024-03-10 02:12:01       20 阅读
  8. 贪心算法 —— 字典序删除字符

    2024-03-10 02:12:01       17 阅读
  9. 【老文新说】C++读取.shp文件

    2024-03-10 02:12:01       21 阅读
  10. 获取通知细节信息

    2024-03-10 02:12:01       23 阅读