[已知先序.中序求后序排列]--字符串类型 #1049 : 后序遍历 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho在这一周遇到的问题便是:给出一棵二叉树的前序和中序遍历的结果,还原这棵二叉树并输出其后序遍历的结果. 提示:分而治之--化大为小,化小为无 输入 每个测试点(输入文件)有且仅有一组测试数据. 每组测试数据的第一行为一个由大写英文字母组成的字符串,表示该二叉树的前序遍历的结果. 每组测试数据的第二行为一个由大写英文字母组成的字符串,表示该二叉树的…
P3616 富金森林公园 题目描述 博艾的富金森林公园里有一个长长的富金山脉,山脉是由一块块巨石并列构成的,编号从1到N.每一个巨石有一个海拔高度.而这个山脉又在一个盆地中,盆地里可能会积水,积水也有一个海拔高度,所有严格低于这个海拔高度的巨石,就会在水面下隐藏. 由于地壳运动,巨石的海拔高度可能会随时变化,每次一块的巨石会变成新的海拔高度.当然,水面的高度也会随时发生变化. 因为有这样奇妙的地质奇观,吸引了很多游客来游玩.uim作为一个游客,可以告诉你此时水位海拔,你得告诉他,能看到有几个连续…
题目描述 如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作: 操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节点的值都加上z 操作2: 格式: 2 x y 表示求树从x到y结点最短路径上所有节点的值之和 操作3: 格式: 3 x z 表示将以x为根节点的子树内所有节点值都加上z 操作4: 格式: 4 x 表示求以x为根节点的子树内所有节点值之和 输入输出格式 输入格式: 第一行包含4个正整数N.M.R.P,分别表示树的结点个数.操作个数…
原文链接www.cnblogs.com/zhouzhendong/p/LOJ2983.html 前言 我怎么什么都不会?贺忙指导博客才会做. 题解 我们分三个子问题考虑. 子问题0 将红蓝共有的边连接,每一个连通块的颜色相同,不同连通块独立. 答案是 \(y ^ {连通块数}\) . 子问题1 对于红树的一种连接方案,假设将在蓝树上也有的边连接起来,假设连了 \(i\) 条边,那么对答案的贡献就是: \[y ^ n / y ^ i \] 令 \[z = \frac 1 y \] 根据二项式定理…
P1364 医院设置 题目描述 设有一棵二叉树,如图: 其中,圈中的数字表示结点中居民的人口.圈边上数字表示结点编号,现在要求在某个结点上建立一个医院,使所有居民所走的路程之和为最小,同时约定,相邻接点之间的距离为l.如上图中, 若医院建在1 处,则距离和=4+12+2*20+2*40=136:若医院建在3 处,则距离和=4*2+13+20+40=81…… 输入输出格式 输入格式: 第一行一个整数n,表示树的结点数.(n≤100) 接下来的n行每行描述了一个结点的状况,包含三个整数,整数之间用空…
其实已经学了树状数组和线段树,然而懒得做题,所以至今没写多少博客 Description 现在请求你维护一个数列,要求提供以下两种操作: 1. 查询操作. 语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值. 限制:L不超过当前数列的长度.(L>=0) 2. 插入操作. 语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取模,将所得答案插入到数列的末尾. 限制:n是整数(可能为负数)并且在长整…
!!!一道巨恶心的数据结构题,做完当场爆炸:) 首先,如果你用位运算的时候不小心<<打成>>了,你就可以像我一样陷入疯狂的死循环改半个小时 然后,如果你改出来之后忘记把陷入死循环后为了防止不能停下来而进行的读入操作删了,你就可以像我一样改半个小时最后发现是这个傻逼错误 并且,如果你按照样例输出,你就可以像我一样成功地获得0分的好成绩因为它其实是要每个输出一行 最后,就算你都改完了,你还可以像我一样莫名其妙得了65分的并且下不了测试点最后无可奈何跑过来写题解 再再继续,如果你不信邪以…
题解: 好像因为他说了 数据范围全部在ll以内 所以直接暴力就可以过了 比较正常是用线段树来维护 洛谷上有道模板题是支持加,乘,区间和 而这题还多了区间平方和的操作 按照那题的操作 我们维护的时候保证先乘再加 a1^2+a2^2+a3^2 我们考虑先*x再+y 以及先+y再*x两种操作 (a1*x+y)^2+(a2*x+y)^2+(a3*x+y)^2 x*x*(a1+y)^2 于是我们维护操作的时候是这样的 平方和+=2*sum1*乘法标记*lazy值+乘法标记*乘法标记*lazy值 关键在于这…
http://acm.csu.edu.cn/csuoj/problemset/problem?pid=2151 Input 第一行三个数n,m,v0 表示有n名萌新和m次调整,初始时全部萌新的集训难度都为v0 第2~m+1行 每行三个数或四个数 0 x y v 表示把 [x,y]区间内的萌新的集训难度都增加v 1 x y v 表示把 [x,y]区间内的萌新的集训难度都变为v 2 x y表示询问[x,y]区间内萌新的集训难度之和 0<n,m<=10^5, |v|<=10^5 Output…
P1558 色板游戏 状压线段树 题面 洛谷P1558 每次不同颜色覆盖一段区间,每次询问一段区间有多少种颜色 因为颜色数\(T\)很小,使用二进制表示状态当前区间有那些颜色,二进制第\(i\)位表示此区间是否含有\(i\)这种颜色,线段树合并信息时左右儿子信息或一下就好了. scanf读入char炸了我好久,最后换成cin就AC了 AC Code: #include <iostream> #define MAXN 100010 #define sl (x<<1) #define…