题意:给出一串字符串,2(x)表示2^x,问这串字符串表示的数是多少

因为我不太擅长字符串的题目,所以比赛的时候扔给队友做了,我A了两道签到就跑了,没想到队友后面好像鸽了。

看别人的代码,emmm,只有一个感想:python天下第一
对比下最短代码长度
python:

c++:

但无奈懒人只会c++。

好吧,回归正题吧,讲讲做法吧。首先是括号的问题,我们需要层层递归,直到括号里没有括号的情况,然后在从里往外算出次幂即可,答案最大范围为1e18,在2200-2300之间,所以我们只需要在最外面一层求高精度的幂即可(不会高精快速幂233),大括号里面的用普通快速幂解决。

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<map>typedef long long ll;using namespace std;
char str[20010];
long long sum;
int ans[205], len, str_len = 1, rem, b[1005];void up(int b[], int b_len) {//高精加len = max(len, b_len);for (int i = 1; i <= len; i++) {ans[i] += b[i];ans[i + 1] += ans[i] / 10;ans[i] = ans[i] % 10;}while (ans[len + 1]) len++;
}ll quick_pow(ll a, ll b) {//快速幂ll ans = 1;while (b) {if (b & 1) ans = (ans * a);a = a * a;b /= 2;}return ans;
}void quick_gj(ll p) {//高精的幂memset(b, 0, sizeof(b));b[1] = 1;int k = 1;for (int i = 1; i <= p; i++) {int x = 0;for (int j = 1; j <= k; j++) {b[j] = b[j] * 2 + x;x = b[j] / 10;b[j] %= 10;if (x && j == k) ++k;}}up(b, k);
}ll dfs(int top, int ret) {ll p = 0;rem = 0;for (int x = top; x < str_len; x++) {rem = max(x, rem);//记录遍历过的最右端if (str[x] == '(') ret++;if (str[x] == ')') ret--;if (!ret) {//最外层括号quick_gj(p);return 0;}if (str[x] == ')') return quick_pow(2ll, p);//内层括号if (str[x] == '2') {if (str[x + 1] == '(') p += dfs(x + 1, ret), x = rem;else p += 2;}}
}int main() {scanf("%s", str);str_len = strlen(str);for (int top = 0; top < str_len; top++) {if (str[top] == '2') {if (str[top + 1] == '(') {dfs(top + 1, 0);top = rem;}else {memset(b, 0, sizeof(b));b[1] = 2;up(b, 1);}}}for (int i = len; i >= 1; i--) {printf("%d", ans[i]);}
}

Groundhog and 2-Power Representation相关推荐

  1. 论文:Multi-Objective Modified Grey Wolf Optimizer for Optimal Power Flow-最优潮流

    论文来源: Multi-objective Modified Grey Wolf Optimizer for ..._百度学术 http://xueshu.baidu.com/s?wd=Multi-O ...

  2. power bi可视化表_如何使用Power BI可视化数据?

    power bi可视化表 什么是数据可视化? (What is Data Visualization?) With the technological revolution, data went fr ...

  3. 在Power BI Desktop报告中使用图像

    介绍 (Introduction) In the article Web URL configuration in a Power BI Desktop report, we explored a d ...

  4. azure未连接_将Azure Databricks数据连接到Power BI Desktop

    azure未连接 This article is next in the Azure Databricks series, where we will learn how to connect dat ...

  5. power bi形状地图_如何使用内置形状图在Power BI中创建地理图

    power bi形状地图 Introduction 介绍 This is the second article of a series dedicated to discovering geograp ...

  6. [转载]Deep Learning·NLP·Representation

    原文地址:Mr.Scofield ----- csdn From RxNLP. Indexing: 〇.序 一.DeepNLP的核心关键:语言表示(Representation) 二.NLP词的表示方 ...

  7. tableau大屏bi_Excel,Tableau,Power BI ...您应该使用什么?

    tableau大屏bi After publishing my previous article on data visualization with Power BI, I received qui ...

  8. GRAIL Efficient Time Series Representation Learning论文阅读笔记(三)

    GRAIL Efficient Time Series Representation Learning 有效的时间序列表示学习 作者 芝加哥大学的John Paparrizos和Michael J. ...

  9. power bi 雷达图_X射线衍射的结果究竟是quot;图quot;还是“谱”?

    许多同学会拿着打印出来的或者手机拍摄的XRD结果来找老师咨询遇到问题,他们往往一出口就是"老师,我的XRD图谱bla bla bla.....",更重要的是,多数同学在测了XRD以 ...

  10. AAAI 2018文章 Representation Learning for Scale-free Networks 翻译

    大三上课翻译的一篇paper,之前一直放在草稿箱,发出来供大家参考一下,没有再做修改,哪里翻译有问题或理解不对欢迎指出. 无标度网络表示学习 冯瑞,杨洋,胡文杰,吴飞,庄悦婷 中国浙江大学计算机科学与 ...

最新文章

  1. 分享Kali Linux 2016.2第45周VMware虚拟机
  2. 通过IIS操作修改服务器文件没有权限的解决办法
  3. webview gif android,使用WebView android读取Gif图像
  4. PHP文件系统-文件上传类
  5. java 新功能_Java 14的新功能
  6. AVR单片机计算器C语言源程序,AVR单片机简单计算器的Proteus仿真实现+源码
  7. {{jQuery源码分析}}jQuery对象初始化的多种传参数形式
  8. SpringBoot配置文件映射到JavaBean
  9. 原生中文版MyBB开源论坛效果展示
  10. C语言数组旋转问题(C笔记)
  11. 《我是一只IT小小鸟》
  12. coreldraw16开三折页_cdr怎么制作三折页?cdrX6制作三折页模板教程
  13. 视频播放设计测试用例
  14. HTML5简单实战--休假申请单
  15. 远程办公和分布式协作
  16. 一阶系统单位阶跃响应的特点_一阶系统的单位阶跃响应.doc
  17. Espresso Idling Resource
  18. 用计算机弹奏七月上,七月上歌词背后的故事 七月上背景故事介绍
  19. ajax获取的数据中包含html代码,执行ajax返回数据中包含的script脚本代码
  20. Eggjs笔记:egg-mongoose插件的集成,crud操作, 多表关联查询

热门文章

  1. 【微信小程序】使出千手浮图—回滚式
  2. Spark RDD的Transformation操作
  3. MQTT keepalive和reconnect
  4. 武音硕士研究生《计算机音乐作曲》培训,武汉音乐学院2016年硕士考试《计算机音乐作曲》大纲及参考书目...
  5. Qt中的矩阵计算库eigen
  6. 安信可nbiot模块_专利分享基于NBIOT的微电网信息采集与监控系统及其实现方法...
  7. 下载安装Vue-CLI
  8. 打破次元壁,让游戏角色在指尖跳舞,简易的 AR 教程
  9. 登录注册,文件增删查改实现
  10. SAS首席科学家:如何选择机器学习算法?