zoukankan      html  css  js  c++  java
  • UVA 12166 Equilibrium Mobile(贪心,反演)

    直接贪心。先想想最后平衡的时候,如果知道了总重量,那么每一个结点的重量其实也就确定了。

    每个结点在左在右其实都不影响,只和层数有关。现在反过来,如果不修改某个结点,那么就可以计算出总质量,取总质量出现次数最多的保持不变。

    /*********************************************************
    *      --------------Tyrannosaurus---------              *
    *   author AbyssalFish                                   *
    **********************************************************/
    #include<bits/stdc++.h>
    using namespace std;
    
    typedef long long ll;
    
    const int maxd = 16, LEN = (1<<15)*12 + 10;
    char s[LEN];
    
    map<ll,int> cnt;
    
    //#define LOCAL
    int main()
    {
    #ifdef LOCAL
        freopen("in.txt","r",stdin);
    #endif
        int T; scanf("%d",&T);
        while(T--){
            scanf("%s",s);
            char *p = s;
            int d = 0;
            cnt.clear();
            while(*p){
                if(isdigit(*p)){
                    ll x = *p-'0';
                    while(isdigit(*(++p))) x = x*10+*p-'0';
                    cnt[x<<d]++;
                    if(*p == ']') d--;
                    if(!*p) break;
                }
                else if(*p == '[') d++;
                p++;
            }
            int sum = 0, M = 0;
            for(auto pr: cnt){
                sum += pr.second;
                M = max(M,pr.second);
            }
            printf("%d
    ", sum-M);
        }
        return 0;
    }
  • 相关阅读:
    scala中的注解
    scala中的表达式
    scala中枚举
    spark sql建表的异常
    hive和sequoiadb对接的问题
    java IO的总结
    Spark的序列化
    pentaho和spark-sql对接
    英语口语练习系列-C28-海滨-辨别身份-悬崖边的树
    2018-12-4-今日总结
  • 原文地址:https://www.cnblogs.com/jerryRey/p/4957750.html
Copyright © 2011-2022 走看看