[NOI蓝图杯] 八月月赛-全真模拟赛初赛

Done OI Start at: 2023-8-4 12:00 2 hour(s) Host: 67

整体评价:难度适中

原文链接

选择题

  1. 推荐访问 noi官网
  2. 常识题,选C
  3. 显然题面在教我们怎么求gcd,选A
  4. 既然A,B两个小朋友必须相邻,我们就把他们粘在一块,这样总方案数就是 25!=2402*5!=240 种。再求出C,D小朋友必须相邻的方案数,一共有 44!=964*4!=96 种(为什么乘 44 呢?读者可以想一想),最后相减,24096=144240-96=144
  5. 先每个电脑各买2台,还剩16000元,再使用隔板法,答案为 C(7,3)=35C(7,3)=35
  6. 为什么B是错的?因为我们可以 push(x),pop(x),push(y),pop(y)。答案选C
  7. 正数的补码=原码!!选D!!
  8. 推荐做一下这道题:放苹果 。答案选B
  9. 模拟递归过程,选D
  10. 基础题,选A
  11. 暴力计算发现选D
  12. n/2+n/4+n/8+...+1 = n,所以选C
  13. 二叉排序树要求左子树小于根节点, 右子树大于根节点, 根据后序遍历, 可构造下图,故选D image
  14. C是不可能的,因为不符合bfs的原理
  15. 2022年处于八运,那么2002年就肯定处于七运,1922年处于三运,选B

程序题

Task1

可以看出程序的功能就是输入年月日,输出这一天是星期几。在主函数里计算的 ansans 表示 从Y年12月31日到输入日期经过了多少天,由此可见 basebase 表示 Y年12月31日是星期base。知道了这些,后面的题就都不难啦~

  • 16~21参考答案:ABABCC

Task2

可以看出程序维护了一个双向链表,每一次操作会给一个数 xx,如果 xx 未被删除,就删除 xx,并输出未被删除的元素里小于 xx 的最大值与大于 xx 的最小值,如果无法输出就不输出。下面是难题讲解:

23题:执行完第14行后,a[0] = b[0]

24题:当 n=1n=1 时可能会输出空行

27题:互换20与21行效果不变,因为链表删除操作不用考虑删除顺序。

  • 22~27参考答案:BBBABC

Task3

暴力算出 aa 数组和 cc 数组,模拟即可。

33题:当 m=n1m=n-1 时,循环只会执行一次,a[n][1]*c[n-2][0]=a[n][1]*1=n

  • 28~33参考答案:ABACBA

Task4

这是一个大型模拟程序,只需要根据题意慢慢分析即可。注意这个程序的下标是从 00 开始的,所以要谨慎一些(被奇怪下标绕晕的我

  • 34~38参考答案:CADBA

Task5

尺取法模板。根据程序猜出,cnt[i] 表示还有 cnt[i]ii 没有取到。而且根据 if(check()) ans += ...; 确定下来 check() 函数是用来检查当前区间是否合法的函数,所以39题选C。接下来是一个枚举左端点,调整右端点的尺取法模板,仅需注意 cnt[i] 的特殊含义即可。

  • 39~43参考答案:CABAC

OK!恭喜你解决了一场CSP-J的初赛!

The contest is a flexible time contest. You need to complete the contest within a specified time after you attended.

Status
Done
Rule
OI
Problem
1
Start at
2023-8-4 12:00
End at
2023-8-6 22:00
Duration
2 hour(s)
Host
Partic.
67