2022 CSP-J 游记

Day − ∞ -\infty

在家里跟父母约定

只要csp-j一等奖,手机随你挑!

对于一个没有手机的初中生废物,这个约定显然勾引了我

刷题!

刷题!

再刷!

刷废……

Day − ∞ + ? -\infty + ? +?

发现每次刷初赛,分数都是 60 60 60多,玄!(我爱初赛

算了,不刷了(似乎不太好),看小说吧

但是 U n l u c k Unluck Unluck,被发现了……(挺痛的

刷题!

刷题!

再刷!

刷飞~~

Day 9.17

初赛前一天,肯定是留在学校的啦(我的作业……)

因为每次模拟测试基本都是 80 + 80+ 80+的我,一点都慌(虽然我对着我们学校的大佬考试的桌子拜了10多分钟)

好好地 s l e e p sleep sleep,准备明天的比赛

Day 9.18

初赛当天,我们回了机房,拿了东西,顺便打了会 g a m e game game

这是,国豪跑进来,把我们赶了出来

于是,我和同学来到了考场,第一次见到金属探测的我感觉高级

一会休整,比赛就开始了(老师带小学生去厕所了,晚发了卷……)

前面做的很顺,来到第一道程序题(被卡住了),老样子不管它,坐后面的

发现宝藏!,最后程序填空题,第一道质因数分解,第二道, B f s Bfs Bfs模板?

不管这么多,直接火速填完去检查

考完之后感觉分数线会很高,但是不管这么多,开网的电脑诱惑比这个大多了

Day 9.?

分数出来前一天,我还在吊着个心

不过总算好了点: 78 78 78! 分数线才 68.5 68.5 68.5?,有点小水

嘚瑟了几天的我,重新回到了复赛的备赛

刷了 N O I P NOIP NOIP普及的题,有蓝题?(自闭

模拟赛也不是很理想(虽然没认真做

感觉我要 d i e die die

但是我转念一想,不就是绿题和黄题嘛,有什么难得

于是我就保持着这样的心态到考试那一天

Day 10.?

2010 C S P − J CSP-J CSPJ第三题表达式的值 A C AC AC

Day 0

好消息,封校了,该开心还是伤心呢?

前一天,国豪开了网

我拼命复习 R M Q RMQ RMQ, L C A LCA LCA, 状压 d p 状压dp 状压dp, 树状数组和线段树 树状数组和线段树 树状数组和线段树

事实证明这些普及都不会考……

6:20到学校门口集合”,有病吧,8:30考试,7:00到?留着看风景吗?

不管他了,睡觉先!

Day 1

于是我跟我们宿友说:“ 6 : 00 6:00 6:00钟叫我”

于是我 6 : 18 6:18 6:18起……

“我以为你们开玩笑·,我就没叫你们”

好家伙,你宿友有考试了你不知道?

算了,我粗糙的整理一番,直接跑下楼,眼睛在冷风中半睁半闭,难受

到了那里,成为最后一名的感觉不错

但是 7 : 00 7:00 7:00才走的大巴让我很无语

在车上,平分了零食

我吃了4根绿肠,祝我考高点

在考场门前,和大家聊了会,就进入了考场(我旁边的认识!

T1:乘方

真的水,开个 l o n g   l o n g long\ long long long

如果超过了1e9,那就输出-1,否则输出就行(没想到有个点竟然是 1 1 0 9 1^{10^9} 1109,把我卡了一个点)

T2:解密

应该是我想的最久的一道题了

首先又题意得,可以得出一个方程组
{ n i = p i ∗ q i 1 式 e i ∗ d i = ( p i − 1 ) ( q i − 1 ) + 1 2 式 \left\{\begin{aligned} n_i &= p_i*q_i &&1式\\ e_i*d_i&=(p_i-1)(q_i-1)+1&&2式 \end{aligned}\right. {nieidi=piqi=(pi1)(qi1)+112

我们将二式拆一下

e i ∗ d i = p i ∗ q i − p i − q i + 2 3 式 \begin{aligned} e_i*d_i=p_i*q_i-p_i-q_i+2&&3式 \end{aligned} eidi=piqipiqi+23
发现一式和三式都有而二次项的 p i ∗ q i p_i*q_i piqi,我们不希望有二次项,于是我们用一式减三式


n − e i ∗ d i = p − i + q i − 2 n − e i ∗ d − i + 2 = p i + q i p i + q i = m \begin{aligned} n-e_i*d_i&=p-i+q_i-2\\ n-e_i*d-i+2&=p_i+q_i\\ p_i+q_i&=m \end{aligned} neidineidi+2pi+qi=pi+qi2=pi+qi=m
于是我们就可以得到一个方程组
{ p i + q i = m p i ∗ q i = n \left\{\begin{aligned} p_i+q_i = m\\ p_i*q_i=n \end{aligned}\right. {pi+qi=mpiqi=n
于是我们就可以枚举了,枚举加法会好一点

需要枚举 m 2 \frac{m}{2} 2m次,总共时间复杂度是 O ( Q m 2 ) O(Q\frac{m}{2}) O(Q2m),显然时间复杂度承受不住

m 2 \frac{m}{2} 2m次的枚举次数显然太多,我们要优化下

很容易想到二分,于是我们就要证单调性

设有两个数 a , b a,b a,b,显然我们要证明 a ∗ b < ( a + 1 ) ∗ ( b − 1 ) a*b<(a+1)*(b-1) ab<(a+1)(b1)什么时候成立

我们拆一下右边
( a + 1 ) ∗ ( b − 1 ) = a ∗ b − a + b − 1 = a ∗ b − ( a − b + 1 ) \begin{aligned} &(a+1)*(b-1)\\ &=a*b-a+b-1\\ &=a*b-(a-b+1) \end{aligned} (a+1)(b1)=aba+b1=ab(ab+1)
于是只要
a − b + 1 < = 0 a + 1 < = b \begin{aligned} a-b+1<=0\\ a+1<=b \end{aligned} ab+1<=0a+1<=b
单调性成立

于是我们只要将 a a a的枚举范围限制在 m 2 \frac{m}{2} 2m二分即可

总时间复杂度是 O ( Q l o g m 2 ) O(Qlog\frac{m}{2}) O(Qlog2m),可以 A C AC AC这题

T3:逻辑表达式

考场上看到这题开心的不得了,从而看错了几次题目

为什么?

这不是和 C S P 2020 T 3 CSP2020T3 CSP2020T3差不多一样吗?

于是我就将他转后缀,建树,然后一通乱过了大样例(我考试前一周才做过……)

T4:上升点列

考场上过了第三题,高兴过度,导致没有看对题

直接打了个暴搜(还搜错了),就去检查了(睡梦中检查的?

这里说下正解吧(我考场想出来了,没时间写了,第三题看错题耽误好久

显然是 d p dp dp

我们定义 d p dp dp数组含义为
d p i j : 前 i 个点用了 j 个点的最大点数(排了序) dp_{ij}:前i个点用了j个点的最大点数(排了序) dpij:i个点用了j个点的最大点数(排了序)
状态转移方程为
d p i j = max ⁡ d p k m + m + 1 , d p i j ( m = d i s ( i , j ) − 1 ) dp{ij}=\max{dp_{km}+m+1,dp_{ij}}(m=dis(i,j)-1) dpij=maxdpkm+m+1,dpij(m=dis(i,j)1)
最后统计答案的时候加上 k − j k-j kj就可

期望得分

100 + 100 + 100 + 0 = 300 \mathcal{100+100+100+0=300} 100+100+100+0=300

各大平台估分

100 + 70 + 100 + 5 = 275 \mathcal{100+70+100+5=275} 100+70+100+5=275基本是稳的了

D a y   ? Day\ ? Day ?

数据出来了,教练说有个同学 270 270 270分的变成了 200 200 200分,我从那个时候心就跳了,说那个同学第二题 0 0 0

我等不及了,直接找了台开网的电脑,测了我第二题

0 0 0分?

f a c k fack fack!!!

我对比了一下我满分的代码,将二分边界的 m / 2 − 1 m/2-1 m/21改成 m / 2 + 1 m/2+1 m/2+1

100 100 100分?

f a c k fack fack!!!

毫无疑问,一等奖没了

我哭了好几天

我爱死这二分,爱死 C S P CSP CSP出的数据(每个数据都有 p = q p=q p=q的点?一分都不给?)

真实成绩: 100 + 0 + 100 + 10 = 210 \mathcal{100+0+100+10=210} 100+0+100+10=210

反思

换个角度想,这次出的问题明显是心态问题,不应该高兴过度,我应该想够用就行

因为你不知道你前几题到底是不是全对

第一次 C S P CSP CSP之旅,没了

不管他了,争取明年 J 组满分 J组满分 J组满分 S 进复赛! S进复赛! S进复赛!

D a y Day Day + ∞ +\infty +

不去想了,奋力战斗!

惜哉!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值