NOIP2017提高组初赛题解

先送上标准答案:


第1题,傻逼题(然而我做错了)。
第2题,不算难,看过补码转原码的应该都能做出来,首先首位符号位为1说明是负数,然后其他几位全部取反得到1010100,转为十进制是84,然后记得加1,于是选-85。
第3题,直接上公式吧: 160090016÷8÷1024=2812.5(KB) 。至于公式怎么推出来的,可以自己百度:位图存储空间如何计算。
第4题,历史书上说的很清楚是星期六啊其实就是个奥数题啦,我们算出1949~2017年里闰年和平年分别有多少个,然后算出1949年10月1日到2017年10月1日经过了多少天,然后对7取余即可。
(博主发现了一个很神奇的算法,只要给出年月日就能秒算星期几,网址戳
第5题,严格的证明还没想出来,但是只要画个n=m的图就可以选出正确答案了吧。
第6题,泥萌翻翻算法导论去吧,懒得码字了(大雾)~
第7题,题目给出的是中序表达式,我们观察到了“b+c”是有个括号的,所以有棵子树是以+为根,b和c分别为左右孩子。然后就这么画一遍,后缀形式自然就出来了。

第8题, C36+C46+C56+C664=38
第9题,不就是个组合数吗,直接算出 C310=120 即可。思路:隔板法。
第10题,一个叫特征根的奇技淫巧,过程见下(转载自一个dalao的博客

第11题,常识题吧。
第12题,看懂注释就很好填了。
第13题,没写过这题的人请右转,慢走不送。
第14题,概率题,不过很简单啊,就是把i=1和i=2的情况都算下就行了,算式是 10.90.20.80.1=0.74
第15题,这个题目其实还是挺容易的,算式在下面列出来了:

2*60*3=360(个/min)
360÷20=18(个)

不过这个算式略了很多步骤,如果是数学题估计没分。。。
好啦单选结束!


多选题懒得说了,百度都有。


问题求解1,我们只要对最上面的1、中间的0和中间的0右边那个0做操作即可,共3次。
问题求解2,(裸的)最小割转对偶图。


阅读程序1,一个比较烦的递归,细心点应该没啥问题,10分钟肯定能模拟出来的。
阅读程序2,一看就是幻方吧,直接写上就好啊。
阅读程序3,一看就是逆序对啊。
阅读程序4,矩形内45°反弹。


完善程序1:
(1)是不是不少人填了0。。。但是注意下面i的循环是从1开始的!所以呢,rest的初始值是p[0]啊。
(2)这个空的话,我当时是在草稿纸上举了个100÷3来计算的,我们把这个while里面的东西模拟一遍,就可以发现它是求出一个最大的k使得q*k<=p(似乎就是p div q?),那么这里就是填rest < q咯(这里rest=q*k)。
(3)跟上面一个思路的,上面填对了下面就不可能错,很明显是rest/q。
(4)把当前的余数跟除数的下一位合起来继续除,注意要写模!
(5)最后的余数,直接模就好了啊。
完善程序2:
(1)很明显是b的入度加1吧。
(2)找到入度为0的点并进队。
(3)删掉所有与当前队头连接的边,如果有新的点入度为0就进队。
(4)傻逼空,肯定队头指针加1啊。
(5)更傻逼的空,替换最优解,就是比大小啊。


试题:https://wenku.baidu.com/view/22d7316186c24028915f804d2b160b4e767f81ff.html

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值