zoukankan      html  css  js  c++  java
  • hdu 2527 Safe Or Unsafe

    Problem - 2527

      水题一枚,轻松通过。

    代码如下:

    View Code
     1 #pragma comment(linker, "/STACK:102400000,102400000")
     2 
     3 #include <cstdio>
     4 #include <cstring>
     5 #include <cstdlib>
     6 #include <vector>
     7 #include <algorithm>
     8 #include <set>
     9 #include <iostream>
    10 #include <queue>
    11 #include <map>
    12 
    13 using namespace std;
    14 
    15 #define REP(i, n) for (int i = 0; i < (n); i++)
    16 #define REP_1(i, n) for (int i = 1; i <= (n); i++)
    17 #define PB push_back
    18 #define MPR make_pair
    19 #define SZ(x) ((int) (x).size())
    20 #define FI first
    21 #define SE second
    22 #define _clr(x) memset(x, 0, sizeof(x))
    23 #define ALL(x) (x).begin(), (x).end()
    24 #define PRIQ priority_queue
    25 
    26 typedef vector<int> VI;
    27 typedef pair<int, int> PII;
    28 typedef vector<PII> VPII;
    29 
    30 const int N = 1e5 + 100;
    31 
    32 PRIQ<PII, VPII, greater<PII> > Q;
    33 int cnt[26];
    34 
    35 int work(char *str) {
    36     _clr(cnt);
    37     while (*str) cnt[*(str++) - 'a']++;
    38     while (!Q.empty()) Q.pop();
    39     REP(i, 26) {
    40         if (cnt[i]) Q.push(MPR(cnt[i], 0));
    41     }
    42     PII a, b;
    43     int fi, se;
    44     while (Q.size() > 1) {
    45         a = Q.top();
    46         Q.pop();
    47         b = Q.top();
    48         Q.pop();
    49         se = (a.SE ? a.SE : a.FI) + (b.SE ? b.SE : b.FI);
    50         fi = a.FI + b.FI + a.SE + b.SE;
    51         Q.push(MPR(fi, se));
    52     }
    53     return Q.top().FI;
    54 }
    55 
    56 char buf[10000];
    57 
    58 int main() {
    59     int T, n;
    60     cin >> T;
    61     REP(i, T) {
    62         cin >> n >> buf;
    63 //        cout << work(buf) << endl;
    64         cout << ((n < work(buf)) ? "no" : "yes") << endl;
    65     }
    66     return 0;
    67 }

    ——written by Lyon

  • 相关阅读:
    js的深拷贝特别注意this的深拷贝
    快速的熟悉一个angular的项目从run看起
    关于angular路由中的#
    AngularJS的Provider, Value, Constant, Service, Factory, Decorator的区别与详解
    css页面缩放
    jquery自定义window事件
    js自定义事件
    git分支
    webpack知识小结--require.context方法
    Vue 创建组件的两种方法
  • 原文地址:https://www.cnblogs.com/LyonLys/p/hdu_2527_Lyon.html
Copyright © 2011-2022 走看看