自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 UVA679题解

题意满二叉树中下落一颗小球。其中每个结点都有一个开关,开关关的时候小球会向左边走,否则向右边走。每当一个小球走过一个结点后,结点处的开关状态就会改变。输出最后一个小球所在的叶子结点编号。思路当某个结点已经下落了奇数个小球,那么这个结点开关是开的。反之亦然。观察根节点,我们发现,序号是奇数的小球全部去了左子树,序号是偶数的全部去了右子树。对左子树的小球按照进入左子树的顺序重新编号,假设原来的序号是k,那么在左子树中的新序号是(k+1)/2,新序号是奇数的,又去了左子树的左子树,新序号是偶数的,去了左子树

2020-09-26 15:01:57 136

原创 UVA12657题解

题意编号为1~n的盒子按从左到右编号递增的顺序排成一行,执行若干条指令,只有以下四种:1 X Y 把X移动到Y的左边。2 X Y 把X移动到Y的右边。3 X Y 把X和Y交换位置。4 左右翻转。最终输出奇数位置的盒子编号之和。思路直接用数组去模拟整个过程会超时。因为盒子的左右两边都要考虑到,所以采用双端链表。由于编号是1~n,所以正好可以用数组去存储每个数的左右“邻居”,这样,我们也可以快速的通过下标去找到某个数的左右是谁。进行操作时,只需要修改被操作数的左右邻居就可以了,不需要真正地去

2020-09-26 13:46:59 191

原创 UVA442题解

题意输入n个矩阵的维度及其链乘表达式,计算乘法的次数,如果乘法无法进行,输出error。思路使用栈去解析表达式。一开始没有仔细看给出的表达式格式,没发现括号里面之多有两个元素,所以才有了下面的代码,用了三个栈,nump是存矩阵下标的,num是存中间结果矩阵的行数列数的,op是存括号的。但是实际上,因为这个题括号里面必定只有两个元素,所以使用一个栈也是能做的。方法就是只存中间结果,矩阵来了就存,右括号来了就算,括号根本不用进栈就行。但是因为我用最开始的代码ac了,所以后面只用一个栈的做法就没有再写

2020-09-26 12:58:25 178

原创 UVA514题解

题意给定火车按照编号1~n的顺序进入中转站,判断某种特定的出站情况是不是正确的。思路中转站的结构就是一个栈,先进后出,用一个栈去模拟就好。对于给定的情况A从头到尾的遍历,对当前的数a进行分析,假设前面的数都是合理的,可以得到的,那么a只有两种可能,一种是在栈顶,一种是还没入栈。这样,我们需要一个标记来表示下一个还没入栈的数b。于是遍历时,对于每一个数字都判断一下是不是和栈顶相等就好。若相等,则栈顶出栈,不相等,把b及其后面小于a的所有数字按顺序入栈,再将b设为a+1。如果发现栈顶也不相等,且b已经大于

2020-09-26 10:33:15 307 1

原创 UVA210题解

题意本题要求模拟n个程序的并行执行,每个程序按照输入的顺序编号为1~n,每个程序包含不超过25条语句,格式一共有五种,赋值,打印,lock,unlock和end。变量被所有的程序共用,用单个小写字母表示,初值为0,常数都是不超过100的整数。每个时刻只能有一个程序在执行,其他程序处于等待状态,不同的语句执行所需要的时间不同,上述的五种语句所需时间为t1,t2,t3,t4,t5,程序的一次执行最多配给Q个单位的时间,如果时间用尽,则执行完当前语句之后,程序会被插入到一个等待队列尾部,处理器会从等待队列的队

2020-09-26 09:41:06 507

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除