zoukankan      html  css  js  c++  java
  • bzoj 1293: [SCOI2009]生日礼物

    枚举每一个位置找出每一种颜色在这个位置之后的第一个位置与这个位置距离的最大值,再找出每一个位置结果的最小值就可以啦。

    用堆来处理这个问题是不错的想法

     1 #include <queue>
     2 #include <cstdio>
     3 #include <algorithm>
     4 #include <iostream>
     5 #include <functional>
     6 using namespace std;
     7 #define N 1000008
     8 #define K 68
     9 
    10 int n,k,ans = 2147483647;
    11 
    12 priority_queue<int,vector<int>,greater<int> > que[K];
    13 
    14 void init()
    15 {
    16     scanf("%d%d",&n,&k);
    17     for (int i = 1;i <= k;i++)
    18     {
    19         int num,a;
    20         scanf("%d",&num);
    21         while (num--)
    22         {
    23             scanf("%d",&a);
    24             que[i].push(a);
    25             que[0].push(a);
    26         }
    27     }
    28 }
    29 
    30 void debug()
    31 {
    32     for (int i = 1;i <= k;i++)
    33     {
    34         while (!que[i].empty())
    35         {
    36             printf("%d ",que[i].top());
    37             que[i].pop();
    38         }
    39         printf("
    ");
    40     }
    41 }
    42 
    43 void work()
    44 {
    45     while (!que[0].empty())
    46     {
    47         int u = que[0].top(),m = 0;
    48         for (int i = 1;i <= k;i++)
    49         {
    50             while (que[i].top() < u && !que[i].empty()) que[i].pop();
    51             if (que[i].empty()) return ;
    52             m = max(m,que[i].top() - u);
    53         }
    54         ans = min(m,ans);
    55         que[0].pop();
    56     }
    57 }
    58 
    59 int main()
    60 {
    61     init();
    62 //    debug();
    63     work();
    64     printf("%d
    ",ans);
    65     return 0;
    66 }
    View Code
  • 相关阅读:
    Stalstack 连接管理配置
    Stalstack 安装
    Apache 错误整理
    Apache 服务常用命令
    Apache 优化
    Shell 常用技巧
    Nginx+keepalived做双机热备加tomcat负载均衡
    用Lighttpd做图片服务器
    rsync是类unix系统下的数据镜像备份工具
    redis+keeplived分布式缓存
  • 原文地址:https://www.cnblogs.com/wulala979/p/3527255.html
Copyright © 2011-2022 走看看