CCF NOI plus 201(7)6 初赛题 解题报告
GTMDCCF。
今年这题怎么评价?
去看我在知乎的回答:https://www.zhihu.com/question/66621360/answer/244222388
挨个说一遍。
单项选择题
T1.CCF有毒,我一个cpp选手有什么义务去关注pascal的存亡问题?挺让我震惊的,虽然我知道这个时间。
2022年。
T2.补码,考前正好复习到了这个考点,这个数是10101011,显然它是负数,所以补码等于反码+1.
反码为除符号位外按位取反,这样就得到了11010100,补码就是11010101,-(2^0 + 2^2 + 2^4 + 2^6) = -85.
T3.说实话一开始拿到这个题我是懵逼的,但其实一想发现,16位,16位。。嗯,8个二进制位是1byte,这样一个16位是不是2啊。。
那我试试1600*900*2/1024?噫,还真算出来了。
T4.丧心病狂的推建国日的星期,我反正没推出来。。查日历可得是星期六。
T5.好题。有一个连通图有n个节点m条边,问至少删掉多少边会使这个图变成一棵树。
如果你代数求值会在A和B之间徘徊不定。但是 你可以想啊,树有什么性质?一棵n个点的树有n-1条边啊,那不妨设我们最少需要删掉x条边,然后有m-x = n-1,算出x是m-n+1就好了。
T6.这个递推关系式比去年那个稍微好看点。。
之前我貌似做过一个T(n) = 2T(n/2) + n的,我还记得答案,于是猜测是不是有相似的性质。。这个题,T(n) = 2T(n/2) + nlogn,前边那个递归应该是logn,两边乘起来就是C选项,遂选之,居然对了。
T7.后缀表达式,考之前有好多人问我怎么做。。。
我记得老师用的方法是画树,这个太麻烦了。。
其实只需要按照每个操作加括号就好,保证每个括号里只有一个运算符外加两个数,然后把符号相应的移到其所在的右括号之前,删掉所有括号就是答案。
T8.我不会啊
T9.这个好像是一个排列组合。。我当时算错了。。。应该选120但我选的96。。。
T10.说实话这题做错也有我方法有误的原因。本身这个是一个递推式可以求通项公式然后再看无限逼近的。。。
我居然想到了画图。。。画图发现也是无限逼近,但毕竟草图不精确,鬼知道我定到的点是0.666还是0.618。。
T11.卧槽这题我也做错了?应该是2n-1。。
T12.这题做对了。。。
强行程序填空。。。从去年开始就是这样,保不准明年还会有?
从一个地方就能看出来,c语句是给n赋值,而下面正好对应的是对n值的判定,那自然是第三个空填c语句,只有D选项是,选D。
T13.原来是动态规划的老祖宗数字三角形。这题最早出现在IOI1994,当时难倒了不少人,现在已经成最简单的例题之一了。。。时代变化真快
当时求的是最小路径,这个求最大路径,还不都一样。。
选A。
T14.人教版高中数学选修2-3第二章,概率有关的内容。我就用平时做题的做法做出来了,挺简单的。
设事件A = “第一个航班准点”
设事件B = “第二个航班准点”
设事件C = “第三个航班准点”
设事件D = “小明旅行成功”
则有P(A) = 0.9 , P(B) = 0.8 , P(C) = 0.9.
可以推出 P(A的对立面) = 0.1 , P(B的对立面) = 0.2.
(X的对立面应该写作X上边一道横线,我不知道这样的符号怎么打出来。。。)
由题意可知,第1个航班晚点,第2个航班准点,旅行失败;且第2个航班晚点,第3个航班准点,旅行失败
则可以推出P(D的对立面) = P(A的对立面)P(B) + P(B的对立面)P(C) = 0.08 + 0.18 = 0.26.
则答案P(D) = 1 - P(D的对立面) = 1 - 0.26 = 0.74.
挺简单吧。
T15.人教版高中数学选修2-3第二章,数学期望有关的内容。
我们知道,期望 = 均值*概率。
我们知道乒乓球平均喷出速度为2个/秒,喷三分钟平均会出2 * 180 = 360个球
小朋友只能坐在某一节车厢里,一节车厢占整个场地面积的二十分之一,只有球落到车厢里面小朋友才能捡到。
由几何概型的相关知识,接到球的概率就是二十分之一。
所以期望值 = 360 * 1/20 = 18. 压轴题并没有想象中那么难,反倒挺简单。
不定向选择题
T1.最坏情况下快排会退化, 归并和堆排序不会退化。
T2.考察栈的常规操作,挨个模拟一下就好。
T3.希尔排序是什么?这题选D。
T4.QAQFortran不是面向对象的!!!!!!!!!!!!!!!!!!!!!!!
T5.GTMD王选,出题人你给我出来。这题选BD。
问题求解
T1.变换格子,看起来没法下手其实挺简单,瞎jb试试就知道是3步,不可能会有比3步更优的算法了。
T2.传说中的最小割。最小代价是4,挨个试总能试出来。不同的方案数其实我也是查的,少查了两种情况。。
读程
T1.一道常规递归题,woc这我也做错了。。。我菜爆了我退群吧。。。直接多算了一个10。。。。答案是15.
T2. 鬼知道这是http://www.cnblogs.com/OIerShawnZhou/p/7449299.html
T3.第三题是归并排序求逆序对,本来这题不该错,因为我初赛之前刚做了一个求逆序对的题。这个答案是8但我查出来是7。。。
结果我数反了。。
T4.好像是数论。。而且据说第二个和第三个的测试数据要循环几十万次。。。woc。。
程序填空
依照惯例,正确的答案我会标成红色。
T1.说好的不考高精度除法呢?说好的这东西不在NOIP范围之内的呢?
没办法,凭着感觉走吧。。。
我真不会这个所以。。分析不出来。。
第一空是p[0] 第二空是 rest< q 第三空是 rest / q 第四空是 rest % q * 10 + p[i] 第五空是 rest % q (我r我居然又写错了)
T2.惊了,这是拓扑排序。
对BFS了然于心的我很快就把这题一遍做出来了。
第一空的用途是记录入度,方便以后查找入度为0的点。能很快想到degree[b]++。
第二空所在的循环是用来把所有开始时入度为0的点入队的,那这个判定条件肯定是判断某个点是不是入度为0,那么就是 degree[i] == 0 了。
第三空就是拓扑排序的主过程了,是一个裸的bfs。这里第三空所处的环境是程序在扩展节点的时候发现一个合法点,后文也明确表示如果这个点的入度变成0就会入队,那应该不难会想到这个空填的应该是“删边”操作,即让这个点的入度-1,那么就是degree[i]--了。
第四空有人看不出来吗?可能有人真的看不出来,要知道bfs每次都是要弹出队首的,但前面的代码没有写这个操作,那自然第四空是需要做这个操作的,否则bfs就结束了。。
让队首+1不就相当于原来那个数弹出来了么?所以head++。
第五空就是去寻找最长路了。自然程序会把求得的答案放在len[a]里,我们要更新ans以便于输出,所以这里的判断条件应该就是,如果当前求得的这个值比ans大,那就让ans更新为这个值。
所以,len[a] > ans 。
47.5分。。。。。应该。。。。不会。。。。出事。。。。吧。。。。吧。。。。吧。。。。
我。。。很。。。慌。。。张。。。啊。。。。
CCF NOI plus 201(7)6 初赛题 解题报告的更多相关文章
- 2021字节跳动校招秋招算法面试真题解题报告--leetcode19 删除链表的倒数第 n 个结点,内含7种语言答案
2021字节跳动校招秋招算法面试真题解题报告--leetcode19 删除链表的倒数第 n 个结点,内含7种语言答案 1.题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. ...
- 2021字节跳动校招秋招算法面试真题解题报告--leetcode206 反转链表,内含7种语言答案
206.反转链表 1.题目描述 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1-> ...
- Codeforces Round #256 (Div. 2/A)/Codeforces448A_Rewards(水题)解题报告
对于这道水题本人觉得应该应用贪心算法来解这道题: 下面就贴出本人的代码吧: #include<cstdio> #include<iostream> using namespac ...
- 洛谷 P4148 简单题 解题报告
P4148 简单题 题意 维护单点加与矩形求和,强制在线 说明 \(n\le 500000,m\le 200000\),\(4000ms / 20MB\) kd-tree 复杂度我不懂 是一颗平衡树, ...
- 洛谷 P1072 Hankson 的趣味题 解题报告
P1072 \(Hankson\)的趣味题 题目大意:已知有\(n\)组\(a0,a1,b0,b1\),求满足\((x,a0)=a1\),\([x,b0]=b1\)的\(x\)的个数. 数据范围:\( ...
- 雅礼集训 Day5 T3 题 解题报告
题 题目背景 由于出题人赶时间所以没办法编故事来作为背景. 题目描述 一开始有\(n\)个苹果,\(m\)个人依次来吃苹果,第\(i\)个人会尝试吃\(u_i\)或\(v_i\)号苹果,具体来说分三种 ...
- Noip2018普及组初赛试题解题报告
解题思路: 一.单项选择题 (答案:DDDBBAAAABABBBB) 1.除D外,其余均为输入设备. 2.除D外,其余都等于(617)10 ,D选项为(619)10. 3.1MB=1024KB=102 ...
- leetcode 201. 数字范围按位与 解题报告
给定范围 [m, n],其中 0 <= m <= n <= 2147483647,返回此范围内所有数字的按位与(包含 m, n 两端点). 示例 1: 输入: [5,7] 输出: 4 ...
- CCF NOI系列活动
NOI-全国青少年信息学奥林匹克竞赛全国青少年信息学奥林匹克竞赛(NOI)是国内信息学领域内面向中学生的最高水平的大赛,每省派经选拔产生的选手(其中一名是女选手)参加,NOI每年在不同的省市举行. N ...
随机推荐
- HDU_4826
Labyrinth Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 解决vi编辑器不能使用方向键和退格键问题的两种方法
方法1.使用vi命令时,不能正常编辑文件,使用方向键时老是出现很多字母? 在Ubuntu中,进入vi命令的编辑模式,发现按方向键不能移动光标,而是会输出ABCD,以及退格键也不能正常删除字符.这是由于 ...
- SPI、I2C、UART(转)
UART与USART(转) UART需要固定的波特率,就是说两位数据的间隔要相等. UART总线是异步串口,一般由波特率产生器(产生的波特率等于传输波特率的16倍).UART接收器.UART发送器组成 ...
- c++(爬楼梯)
前两天上网的时候看到一个特别有意思的题目,在这里和朋友们分享一下: 有一个人准备开始爬楼梯,假设楼梯有n个,这个人只允许一次爬一个楼梯或者一次爬两个楼梯,请问有多少种爬法? 在揭晓答案之前,朋友们可以 ...
- 了解 Python 语言中的时间处理
python 语言对于时间的处理继承了 C语言的传统,时间值是以秒为单位的浮点数,记录的是从1970年1月1日零点到现在的秒数,这个秒数可以转换成我们日常可阅读形式的日期和时间:我们下面首先来看一下p ...
- Oracle:对表的CREATE、ALTER、INSERT、RENAME、DELETE操作练习以及主外键约束
-创建一个student表,设定表的主键为学号CREATE TABLE student( sno VARCHAR2(10) PRIMARY KEY, --列级约束 sno VARCHAR2(20) C ...
- 用thinkphp开启伪静态,用wamp开启很快搞定;但是用phpstudy总是开启失败,为什么?
https://segmentfault.com/q/1010000005100662 thinkphp应用的根目录下.htaccess中的内容是: <IfModule mod_rewrite. ...
- php switch case语句用法
- dede添加会员功能听语音
http://jingyan.baidu.com/article/363872ec36d33f6e4ba16fb7.html 其实 dede里面的 会员功能就是圈子模版啦 圈子 安装了 基本上有 1, ...
- Angular 4 设置组件样式的几种方式
你用Angular吗? 一.介绍 如何只改动最简单的css代码,呈现完全不一样的视图效果. 第一种:最基本的设置: 图1 代码 图2 界面运行效果图 平常,想给一个label或者p等标签添加样 ...