NOIP Camp #1 比赛记录

 


NOIP Camp #1

某机构举办的noip/csp冲刺营。

题意&题解

A

定义函数 f(a1,a2...an) 为:

{a1(n=1)f(a1a2,a2a3...an1an)(n>1)

其中 表示二进制按位异或运算。

(注意仔细看题,并不是 a1...an 的异或和!)

多组询问。每次给定 L,R,求 max{f(al,al+1...ar), LlrR}

n1000,m106

题解:注意到 n1000,考虑处理每对 F(l,r) 表示 [l,r] 区间的答案。

f(l,r) 表示 f(al...ar)。注意到它等于 f(l,r1)f(l+1,r)

然后两维求个前缀max就可以得到 F

复杂度是 O(n2)O(1) 的。

B

给定 n,m,求有多少 x 满足:

  • x[0,n]
  • k,xmod10kmmod10k

n,m1050

题解:很明显它说的就是每一位都 m 对应的那一位。

然后类似数位dp,处理一下卡界就行了。

C

n 盏灯排成一列,初始所有灯均为熄灭状态。

你需要对这 n 盏灯进行 n 次操作。

对于第 i 次操作,选取 i 的所有质数倍标号的灯,将它们的状态取反(点亮变为熄灭,熄灭变为点亮)。

你需要回答最终有多少盏灯为开启状态。

90pts: n5e7

时限2s。

题解:这题我只会90pts

首先线性筛出所有质数,然后模拟它的过程,直接就是 nloglogn 的,可以获得 1e6 的部分分。然而,过 1e7 需要少量的乱搞。尽管是乱搞,它对思路的启发也很有意义。

分析一波, 它其实求的是 [1,n] 种有多少个数有奇数 质因数。

对于 5e7 的范围,线性筛写好看点是能很快跑出来的。只是 loglogn 有点卡而已,甚至把它常数卡一卡也就过了。

考虑 >n 的那些质因数,只会出现一种, 且次数为 1。可以从筛好的质数种枚举,设它为 p。那剩下的部分就 n/p,要求由偶数种质因数构成 (注意到我们先选了一个,所以剩下那些就是偶数个)。这个可以预处理出来,设 g(n,0/1) 表示由偶数/奇数个质因数构成的方案数,可以用原题筛出来的那个东西求前缀和轻松得到。

然后就解决了包含一个 >sqrtn 的质因数的情况,复杂度 O(n)。接下来考虑那些 sqrtn 的质因数。

我们发现它们很少,由这些小质因子构成的数,也在 0.75n 左右。于是我们考虑用 DFS,就可以精确枚举到所有剩下的数,略小于 n。这个DFS写出来可以发现,它显然是O(答案)的,于是它是 O(n) 的,且常数小。

然后就可以卡过 5e7 了。

据说剩下10pts是留给出题人切的,n1013。目测需要min-25,或者是powerful number等神秘筛法来做。

D

根本不会。再见~

总结

A题看错题意,分数-100

B题没看清范围,1e50用的long long,分数-50

C,D算是正常发挥了。

暴露的一个问题是,做题过于求快,而不稳,导致题意读错了。也许是受 CF/AT 比赛的影响,也有我个人的原因。

对于NOIP/CSP赛制的比赛,考场策略与节奏还需要不断摸索和练习。

posted @   Flandre-Zhu  阅读(64)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示