NOIP2016提高组初赛(C++语言)试题 个人的胡乱分析

最近在做历年的初赛题,那我捡几道比较有代表性的题说一下好了

原题可以在这里看:https://wenku.baidu.com/view/10c0eb7ce53a580217fcfede.html?from=search

以下纯属个人胡乱分析,不爽不要看(误

单项选择

T2.一只小老鼠在键盘的Caps Lock键,A键,S键,D键上跳来跳去,问屏幕上输出的第81个字符。

显然是有周期性的,ASDSAasdsa为一个周期,可以得知T=10,所以第81个字符字符为81 % 10 = 1,即第一个字符A。

T6.后缀表达式

知道一个中缀表达式a*(b+c)-d,要把它换成后缀表达式,这个有好多方法的,我用的方法可能比较麻烦,但是不容易出错

首先我们有式子a*(b+c)-d,

按照运算顺序添加括号,这样会有 ( ( a*(b+c) ) - d ),

在每个括号里,把运算符放到操作数的后面,

有( ( a(bc+) *)  d -)

删去所有括号, 有 abc+*d-,即最终答案。

有一点需要注意的是,添加括号指的是每一次运算都添加一次括号,这样括号里如果有多个计算,也要加括号

比如a*(b+c*e)-d,加括号的结果应该是( ( a*(b+(c*e)) ) - d ),必须保证每个括号只能有一次运算才行

移动符号的时候,要求后缀表达式就把所有的符号放在相应右括号之前,求前缀表达式也是这样,放在相应的左括号之后就好。

T9.如果地址总线有n位,计算机最多使用的数据就有2n 字节,题目里是32位的地址线,这样应该是232字节的数据,转换成GB,只需要除以1024的三次方就好。

T12.

(Lucia你不知道朋友圈有设置访问权限的功能吗?)

说出来你可能不信,这是一道图论题。首先有一个无向图,从一个点出发,它可以向任何一个联通的位置出发, 到达那个点后,再向其连接的所有的方向各走一条边,这样一次行走能到达很多点。现在给定这个出发点,选择一些方向出发,但无论走哪里,它不能走到某个特定的点。

把四个选项挨个往里带就好,看哪个行哪个不行。

T13.

这道题考察的其实是CPU的流水线处理方式。我们假设三道菜为A,B,C,三道工序分别记为1,2,3,而且我们知道,在同一时段每个人只能做一个工序,而且工序既必须按顺序来,又不能一样。

那好办了。首先第一个十分钟,做A1,下一个十分钟做A2和B1,再下一个十分钟做A3,B2,C1……

就像这样:

T14.好像要用什么主定理?没听说过。。。

抽时间学学好了。。

不定向选择

T3.快速排序和归并排序都有一步分割区间的操作,分治思想体现在这里。

T5.不要忘了拿衣服233333

未完待续

原文地址:https://www.cnblogs.com/OIerShawnZhou/p/7613219.html