- 博客(27)
- 收藏
- 关注
原创 线段树:区间修改,区间查询
第一行包含 个正整数 ,表示数列长度和询问个数。操作,输出一行,每行有一个整数,表示所求的结果。第二行 个整数 ,表示初始数列。
2024-10-31 13:43:02
336
原创 栈:表达式求值
输入仅有一行,为需要你计算的表达式,表达式中只包含数字、加法运算符“ +” 和乘法运算符“ *”,且没有括号, 所有参与运算的数字均为 0 到 231-1 之间的整数。输出只有一行,包含一个整数, 表示这个表达式的值。注意: 当答案长度多于 4 位时,请只输出最后 4 位, 前导 0 不输出。给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值。【输入样例 3】 1+1000000003*1。【输入样例 2】 1+1234567890*1。【输入样例 1】 1+1*3+4。
2024-10-31 13:39:55
145
原创 栈:表达式计算
仅一行,既为表达式算出的结果 结果小于maxlongint,且整个计算的过程中,也不会超过maxlongint。给出一个表达式,其中运算符仅包含+,-,*,/,^要求求出表达式的最终值。最终结果为正整数,数据保证不需要使用高精度!在这里,"/"为整除。
2024-10-31 13:36:19
153
原创 栈:程序员输入问题
程序员输入程序出现差错时,可以采取以下的补救措施:按错了一个键时,可以补按一个退格符“#”,以表示前一个字符无效;发现当前一行有错,可以按一个退行符“@”,以表示“@”与前一个换行符之间的字符全部无效。输入一行字符,个数不超过 100。输出一行字符,表示实际有效字符。
2024-10-31 13:33:51
190
原创 栈:计算后缀表达式的值
所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级)。如:3*(5–2)+7对应的后缀表达式为:3.5.2.-*7.+@。‘ @’为表达式的结束符号。‘.’为操作数的结束符号。一行字符串(长度小于200),格式符合上述后缀表达式,只包含 数字、“+”、“-”、“*”、“."和"@"符号。
2024-10-31 13:30:17
145
原创 最小表示法
Sn}, 如果在串S中, 子串T(|T| = n)为所有长度为n的S的字串中最小的(字符串的比较), 则称T为”奇怪的字串”. 你的任务就是找出这个字符串.两个工艺品美观的比较方法是,从头开始比较,如果第i个位置上方块不一样那么谁的瑕疵度小,那么谁就更漂亮,如果一样那么继续比较第i+1个方块。但是方块现在是乱的,而且由于机器的要求,他们只能做到把这个工艺品最左边的方块放到最右边。第一行两个整数n,代表方块的数目。输入文件只有两行,每行一个由0至9组成的字符串,描述一个项链的表示(保证项链的长度是相等的)。
2024-08-02 08:42:23
383
原创 普通平衡树
第一行为n,表示操作的个数,下面n行每行有两个数opt和x,opt表示操作的序号(1<=opt<=6)3. 查询x数的排名(若有多个相同的数,因输出最小的排名)对于操作3,4,5,6每行输出一个数,表示对应答案。2. 删除x数(若有多个相同的数,因只删除一个)5. 求x的前驱(前驱定义为小于x,且最大的数)6. 求x的后继(后继定义为大于x,且最小的数)4. 查询排名为x的数。
2024-08-02 08:37:47
255
原创 旅馆 Hotel
这个巨大的旅馆一共有N (1 <= N <= 50,000)间客房,它们在同一层楼中顺次一字排开,在任何一个房间里,只需要拉开窗帘,就能见到波光粼粼的湖面。* 第2..M+1行: 第i+1描述了第i个请求,如果它是一个订房请求,则用2个数字 1、Di描述,数字间用空格隔开;第1..m行: 对于每个订房请求,输出1个独占1行的数字:如果请求能被满足 ,输出满足条件的最小的r;贝茜一行,以及其他慕名而来的旅游者,都是一批批地来到旅馆的服务台,希望能订到Di (1 <= Di <= N)间连续的房间。
2024-08-02 08:31:30
288
原创 树链剖分(模板)
给定一棵 n个节点的树,初始时该树的根为 1 号节点,每个节点有一个给定的权值。第三行 n−1 个整数,表示 i+1 号节点的父节点编号fi+1(1⩽fi+1⩽n)。接下来 m 行,每行第一个整数表示操作类型编号:(1⩽u,v⩽n)对于每一个类型为 4或 5 的操作,输出一行一个整数表示答案。第二行 n 个整数表示第 i个节点的初始权值 ai。第一行为一个整数 n,表示节点的个数。第四行一个整数 m,表示操作个数。
2024-07-31 09:14:32
218
原创 机器猫斗恶龙
每个关卡要么是与怪物战斗,扣除一定的血量;要么是营地,给机器猫增加一定的血量。的血量不能低于或等于 00。问机器猫至少需要多少的初始血量,才能完成任务。机器猫出门斗恶龙了!他需要通过 �n 个关卡。第二行,共 n 个整数 ai,表示每个关卡。仅一行,一个正整数,表示机器猫需要的初始血量。第一行,一个正整数 n,表示关卡数量。
2024-01-22 09:37:23
829
原创 常见STL与迭代器 - Problem G 列车调度
两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在图中有9趟列车,在入口处按照{8,4,2,5,3,9,1,6,7}的顺序排队等待进入。如果要求它们必须按序号递减的顺序从出口离开,则至少需要多少条平行铁轨用于调度?输入第一行给出一个整数N (2
2023-12-22 21:32:05
397
原创 常见STL与迭代器 - Problem D 查字典
接下来的一行是 1 个整数 M,M≤10000,表示要查的单词数。接下来的 M 行,每行一个字符串,表示要查的单词,保证在字典中存在。小明正在复习全国英语四级考试,他手里有一本词典,现在有很多单词要查。第 1 行是一个长度小于或等于 100 的字符串,表示这个单词,全部小写字母,单词不会重复。第 1 行 1 个正整数 N,N≤10000,表示字典中一共有多少单词。M 行,每行一个正整数,表示第 i 个单词在字典中的页码。第 2 行是 1 个整数,表示这个单词在字典中的页码。
2023-12-22 21:26:40
397
原创 常见STL与迭代器 - Problem A 上网统计
在一个网络系统中有 N 个用户、M 次上网记录。每个上网的账号每次上网都会浏览网页,网页名是以一个只含小写字母且长度小于 1000 的字符串,每次上网日志里都会有记录,现在请统计每个用户每次浏览了多少个网页。共 N 行,每行的第一个字符串是用户名,接下来的若干字符串是这个用户依次浏览的网页名(之间用一个空格隔开)。第 1 行包含两个用 1 个空格隔开的正整数 N(1≤N≤1000)和 M(1≤M≤5000)。第 2~M+1 行,每行包含 2 个用 1 个空格隔开的字符串,分别表示用户名和浏览的网页名。
2023-12-22 21:22:36
418
原创 Problem C: 能量项链
因为只有这样,通过吸盘(吸盘是Mars人吸收能量的一种器官)的作用,这两颗珠子才能聚合成一颗珠子,同时释放出可以被吸盘吸收的能量。如果前一颗能量珠的头标记为m,尾标记为r,后一颗能量珠的头标记为r,尾标记为n,则聚合后释放的能量为m*r*n(Mars单位),新产生的珠子的头标记为m,尾标记为n。第i个数为第i颗珠子的头标记(1≤i≤N),当i<N时,第i颗珠子的尾标记应该等于第i+1颗珠子的头标记。例如:设N=4,4颗珠子的头标记与尾标记依次为(2,3) (3,5) (5,10) (10,2)。
2023-07-27 10:51:40
66
1
原创 二叉树的性质
在计算机科学中,二叉树是一种普通的数据结构。),假定从树根到这一给定的结点是沿着最短的路径走,你能给出多少次要向左子树走,多少次要向右子树走?是从树根到该结点要向右子树走的次数。每个测试用例占一行,由两个整数。是测试用例编号,从1开始编号;是从树根到该结点要向左子树走的次数,<=2*109),表示结点的标识(假定给出的结点都是有效的结点。树根被标识为整数对(1, 1);),那么其左子树树根被标识为(给出上述二叉树的某个结点标识(),其右子树树根被标识为(,中间用1个空格隔开,其中。如果一个结点被标识为(
2023-07-20 09:08:24
95
1
原创 FBI树【Time Limit: 0.8 Sec】
FBI树是一种二叉树,它的结点类型也包括F结点,B结点和I结点三种。2) 若串S的长度大于1,将串S从中间分开,分为等长的左右子串S1和S2;由左子串S1构造R的左子树T1,由右子串S2构造R的右子树T2。我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。现在给定一个长度为2N的“01”串,请用上述构造方法构造出一棵FBI树,并输出它的后序遍历序列。输入的第一行是一个整数N(0<=N<=10),第二行是一个长度为2^N的“01”串。
2023-07-19 14:39:38
71
原创 二叉树的遍历2
为了向她的后代记录她所创建的树,她给每棵树写下两串字符串,表示后序遍历(左子树,右子树,根)和中序遍历(左子树,根,右子树)的结果。小Valentine非常喜欢玩二叉树,她喜欢的游戏是随意构造一颗二叉树,用大写字母编号标识结点。然而,如果手工完成重构二叉树,那是非常乏味的。她认为这样的一对字符串给出了重构这棵树的足够的信息(但她从来没有尝试去重构二叉树)。过了好些年,她认识到重构这些树的确是可能的。对于上面的树,后序遍历的结果是ACBFGED,中序遍历的结果是ABCDEFG。
2023-07-19 14:36:54
47
原创 二叉树的遍历 1
每个测试用例一行,给出两个字符串,表示对二叉树进行先序遍历和中序遍历的结果。为了向她的后代记录她所创建的树,她给每棵树写下两串字符串,表示先序遍历(根,左子树,右子树)和中序遍历(左子树,根,右子树)的结果。将每个测试用例转化为Valentine的二叉树,并在一行中输出树的后序遍历(左子树,右子树,根)的结果。她认为这样的一对字符串给出了重构这棵树的足够的信息(但她从来没有尝试去重构二叉树)。对于同一棵树,同一个字母不会用两次。对于上面的树,先序遍历的结果是DBACEGF,中序遍历的结果是ABCDEFG。
2023-07-19 10:26:49
65
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人