UVA 12166 Equilibrium Mobile(贪心,反演)
2024-09-01 12:24:56
直接贪心。先想想最后平衡的时候,如果知道了总重量,那么每一个结点的重量其实也就确定了。
每个结点在左在右其实都不影响,只和层数有关。现在反过来,如果不修改某个结点,那么就可以计算出总质量,取总质量出现次数最多的保持不变。
/*********************************************************
* --------------Tyrannosaurus--------- *
* author AbyssalFish *
**********************************************************/
#include<bits/stdc++.h>
using namespace std; typedef long long ll; const int maxd = , LEN = (<<)* + ;
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 = ;
cnt.clear();
while(*p){
if(isdigit(*p)){
ll x = *p-'';
while(isdigit(*(++p))) x = x*+*p-'';
cnt[x<<d]++;
if(*p == ']') d--;
if(!*p) break;
}
else if(*p == '[') d++;
p++;
}
int sum = , M = ;
for(auto pr: cnt){
sum += pr.second;
M = max(M,pr.second);
}
printf("%d\n", sum-M);
}
return ;
}
最新文章
- Nodejs事件引擎libuv源码剖析之:句柄(handle)结构的设计剖析
- Web 安全:隐藏服务版本号
- location.hash的摘抄
- Effective Java 51 Beware the performance of string concatenation
- java笔记--使用SwingWoker类完成耗时操作
- 比较不错的JS 曲线图
- Gwt 整合FusionCharts及封装搜狗地图时出现的问题
- Oracle Enterprise Manager快速重建
- iOS8使用Core Graphics实现渐变效果-Swift基础教程
- (转)Python获取当时时间
- crontab的两种配置方式
- oracle11g 体系结构详解
- requests+多进程poll+pymongo实现抓取小说
- Get Form type using javascript in CRM 2011
- WordPress安装官方文档教程
- out对象
- 洛谷 P1596 [USACO10OCT]湖计数Lake Counting
- Understanding Built-In User and Group Accounts in IIS 7
- 关于Java形参和实参的理解
- Ubuntu 14.04 下搭建SVN服务器 (转载自 http://www.linuxidc.com/Linux/2015-01/111956.htm)-------------我所用到是红色字体