一般来说,把一颗子树离散成一个int,把一个结点的字符离散成一个int会方便处理 直接map离散.当然一个结点最多只有4个小写字母,也可以直接编码成一个27进制的整数,舍掉0,为了区分0和0000. 需要注意的是有可能只有一个结点. #include<bits/stdc++.h> using namespace std; const int maxlen = 5e5; ; char str[maxlen]; map<string,int> smp; map<string,in…
题意: 求最小的表达式树,也就是把相同的表达式子树给替换成最前面相同的编号. 分析: 用map<string,int>smp;存放子树对应的字符串,如果以后出现相同的子树则用相同编号表示.用build函数先根据输入的语句建树. 代码: #include <iostream> #include <cstring> #include <cstdio> #include <algorithm> #include <vector> #incl…
题意:如题,用表达式树来表示一个表达式,且消除公共的部分,即用编号表示.编号 K 定义为表达式第 K 个出现的字符串. 解法:先构造表达式树,给每棵子树用(string,left_son,right_son)-->(哈希值,...,...)编号.由于最多出现4个小写字母,所以可以用27进制数表示,同时也要利用好映射map的count(),和对应的dict[]的编号. 再递归输出表达式,利用编号的定义,看输出编号或字符串. 注意--这里的自定义比较器用的是"显式定义",若是2个键值…
今天做的题目就是抱佛脚2333 懂的都懂. 这条题目干了好几天,最后还是参考别人的代码敲出来了,但是自己独立思考了两天多,还是有收获的. 思路分析 做这条题我是先按照之前的那条题目(The SetStack Computer)的思路敲了半天,但是efficiency是贼鸡儿低,而且最后我搞不明白怎么输出结果了....然后只好参考了这位同学的代码.思路大致是跟着lrj的走的,具体的实现有些需要注意的地方. 代码 #include <bits/stdc++.h> #define QUICKIO #…
// stl+模拟 CCF2016 4 路径解析 // 一开始题意理解错了.... #include <iostream> #include <string> #include <vector> using namespace std; void fre() {freopen("in.txt","r",stdin);} vector<string> l; int main(){ int n; string str; c…
System Dependencies  Components of computer systems often have dependencies--other components that must be installed before they will function properly. These dependencies are frequently shared by multiple components. For example, both the TELNET cli…
There is a bag-like data structure, supporting two operations: 1 x Throw an element x into the bag. 2 Take out an element from the bag. Given a sequence of operations with return values, you're going to guess the data structure. It is a stack (Last-I…
由于没有括号,只有+,-,++,--,优先级简单,所以处理起来很简单. 题目要求计算表达式的值以及涉及到的变量的值. 我这题使用stl的string进行实现,随便进行练手,用string的erase删掉全部空格,然后对++.--进行处理然后删去,最后就只剩简单式子了,简单循环下就出来了. 这里有几个坑点: 1.erase函数删除字符后,后面字符的下标都会发生变化,刚开始使用i++去检查空格,结果删除后会跳掉字符. 2.++.--的后缀处理要注意,我开了两个数组放后缀运算的. 3.输出的变量值是当…
目录 问题 SGI版本空间配置器-std::alloc 一级空间配置器 二级空间配置器 Refill.chunkAlloc函数 最后,配置器封装的simple_alloc接口 问题 我们在日常编写C++程序时,常常会用到我们的STL标准库来帮助我们解决问题,这当中我们用得最多估计就是它里面的vector.list容器了,它们带来的便利不用多说(毕竟OJ.刷题什么的,基本全是它们的身影),而在日常学习中我们对STL中另一大组件-空间配置器 了解可能就相对较少了.不过它也是个有用的东西,之所以这么说…
from CSDN: https://blog.csdn.net/su_cicada/article/details/87898579 例题6-1 并行程序模拟( Concurrency Simulator, ACM/ICPC World Finals 1991, UVa210) 你的任务是模拟n个程序( 按输入顺序编号为1- n) 的并行执行. 每个程序包含不超过 25条语句, 格式一共有5种: var = constant( 赋值) : print var( 打印) : lock: unlo…