文章目录
前言
高一的时光转瞬即逝,一眨眼就步入到了高中三年最重要的时期,也是拉开差距的最关键的时期——高二!追溯知道自己中考过线的欣喜,直到现在,我在二中已经结束了一年的繁忙学业。所以这篇文章将以我屑一般的成绩为主线,回忆在二中的高一生活。2021.7,在电影院看电影的我们一家人,收到了衢州市教育局发来的中考成绩短信,569,分不高,而且数学也炸成了105分,但是有着信息特长生的优惠政策,我过线了!正因为我是信息竞赛的学生,假期对于我来说就是奢侈,所以过了一个星期在学校的恢复之后,我乘着大巴到了义务中学,开始了为期15天的暑假第一次训练。在义乌中学回来之后,紧接着的就是在学校里面的第二次训练,清晰地记得那个对于所以人都没有作业和放松的初升高假期,我放了8天,而且在这8天里面,我为了准备期初考试,所以从早到晚得刷网课,也就是说,这个假期是真的“假”期。然后随之而来的就是高一的新生军训,由于竞赛的原因,我也是只参加了两天的军训就到机房进行整天的训练,再此期间也很遗憾地错过了高一新生军训会操,班干部选举和自我介绍,因此,我在高二这个新阶段的开始会弥补这个遗憾。然后随之而来的就是开学的期初考试,清楚地记得,在期初考试的前一个晚上,我们寝室的空调因为欠费停电了,在那个炎热的8月份,没有空调让人怎么睡?因此整个寝室都在第二天都十分无精打采,再加上我假期没有怎么去看文化课,期初考试的崩盘也是必然的,我也没有怎么放在心上。因为随之而来的是计算机全国联赛。为了准备联赛,我会在每天的晚自习到机房,刷题。甚至在这样的情况我们进行了停课,而且因为时间凑的很好,我们的停课时间刚好覆盖了学校的运动会,这也是我在高一缺失的记忆。并且在准备联赛的时间里,进行了9+1联盟的期中考试,结果很显然,成绩不理想。2021.11.20,联赛结束,没有拿到一等奖,只有普通的二等。所以下半个学期回归到了文化课的学习,也是这样一直到了期末,只在周二,四,日的下午(晚自习)去进行竞赛训练。就这样过了半个学期,迎来了期末考试,令人痛心的是,这次的期末考试竟然比期中考试还要差!!!我进行了深刻的反思,写了一篇长文来总结和反思自己的错误,以及在这个寒假,在面对没有什么时间的竞赛寒假之下,我应该做什么,我应该怎么做来提高自己的文化课成绩?于是在我的计划坚持一下,我在第二个学期开始的期初考试中取得了我在二中的大考第一次进步。也是因为开学考的进步,我对文化课的学习变得更加有动力了,因此我又主动地提出了将我的位置换到讲台边上,这样可以提高我的听课效率,坐在老师眼皮子底下,也可以防止让我分心。就当我满怀期望得去参加期中考试的时候,命运又给了我当头一棒,我再一次走了下坡路。但是我仍不会被挫折打到,这么艰难的竞赛我都挺过来了,这点东西算什么!!!不甘心的时候就是在进步,痛苦的时候就是在成长!于是,在剩下的半个学期内,我立志发奋,坚持早起。为了更好的备战期末,我甚至停止了每周规定时间的竞赛,留在班里搞文化课。身为一个竞赛生,成绩却是十分地拉垮,这一直是我背负的包袱,所以我一定要在期末的市统测中去证明自己!证明我身为一个竞赛生,我能够把文化课成绩搞好,在我的不断努力和坚持之下,最后功夫不负有心人,我在期末的市统测中取得了很大的进步,虽然政史地的拉分很大,并且技术也没有考好,但是结果还是让人挺满意的。期末市统测之后随之而来的就是学考,学考考得也不怎么样,地理很炸裂,希望不要太差。剩下就是对暑假的期望了,仍然竞赛为重,空的时候做一做文化课作业!毕竟总有人为梦想负重前行!希望能在下一个学期有一个好的开端,能把一等奖拿下,并且能在文化课方面有突破性的进展!比你优秀的人还比你努力。这不是内卷和内耗,而是提醒和砥砺,选择决定未来,用奋斗塑造自我,人生将更为开阔。韬光养晦,厚积薄发!年轻没有失败,坚持成就梦想
总有人为梦想负重前行!
Day1(7.4)
早上
想想昨天的地理学考真是自闭了,要是不过就寄了 ,只能说富贵险中求了…
八点半准时到机房,顺序开题
T1签到题,把公式拆开直接搞
T2 想到
O
(
n
)
O(n)
O(n)处理之后,中间ST刷,但是没有实现,最后60分
T3 贪心乱搞+两个特殊部分分,但是挂了
T4 我看到的题目错的??,少了五十暴力原题
下午
线段树分裂 咕了
晚上
摆了
Day2(7.5)
早上
没打模拟赛,8:30到班里将桌子复原之后就开始聊天,恭喜hjj喜提了joker同物化地,没想到班里面6个选物化技,5个人在同一个班里面。高一一年的时间特别地短暂,很快就到了分别的时候,Z10班,X9班,R15班,留下的不仅仅是美好的回忆,更是对未来的无限憧憬。新的班级,新的同学,愿有新的气象
下午
主要在推理早上的T1的矩阵
线段树合并和分治 咕了
晚上
订正
Day3(7.6)
早上
6:30 running man
T1 拿到十分钟之后,觉得必然就是把所以的条数全部加在一起,因为必然可以拼出来,但是没有考虑到最大值大于所有的一半的问题,导致直接挂掉了75分
T2 拿到后第一件事情就是写了一个
O
(
n
∗
m
∗
d
e
l
t
a
)
O(n*m*delta)
O(n∗m∗delta)然后就先放着了
T3写了一个20分的暴力,然后用了倍增LCA和计算每个点的LCA的贡献,优化到了40pts,然后再想20分的额外贡献,考虑每一个的dfs序之后对其子树的贡献,发现搞不出来,就把第四的暴力打了
最后45分钟回到T2,发现可以用单调队列优化到
O
(
n
m
)
O(nm)
O(nm),然后就马上开始码,码完之后直接小样例,想想都不用调试了,结果大样例322???,然后就一直调试,等到最后5分钟的时候,又想到了
O
(
s
u
m
2
)
O(sum^2)
O(sum2),但是为时以晚。最后只有t1挂的分,t2,t3,t4暴力,t4暴力还写挂了…
下午
讲题+斜率优化dp+zkw线段树
晚上
将下午的斜率优化DP的题目切了,并且完成了Heath plan 中第一个4km
Day4(7.7)
早上
6:30 running man+relaxing
8:30-12:00 T1人
想了5min 出来了一个
k
∗
(
k
−
1
)
n
−
2
∗
(
k
∗
2
)
k*(k-1)^{n-2}*(k*2)
k∗(k−1)n−2∗(k∗2)
但是和暴力算出来的正确答案比较少了?
手动模拟样例发现,如果第1个和第n-2个是一样的话,那么在第n-1还是可以有k-1种选择方法,然后就一直想办法计算,期间推出好几个错误公式,比如
k
∗
(
k
−
1
)
n
−
3
∗
(
k
−
2
)
k*(k-1)^{n-3}*(k-2)
k∗(k−1)n−3∗(k−2) 都是这里错或者是那里错,一直不过!最后心态崩了,直接摆了。没想到可以直接
f
[
i
]
=
f
[
i
−
1
]
∗
(
k
−
1
)
+
f
[
i
−
2
]
∗
(
k
−
2
)
f[i]=f[i-1]*(k-1)+f[i-2]*(k-2)
f[i]=f[i−1]∗(k−1)+f[i−2]∗(k−2),然后就无脑矩阵优化递推,我是sb…
下午
回顾了树剖+kmp,日常4km
晚上
补题+blog
Day5(7.8)
早上
6:30 running man+relaxing
8:30-12:00 模拟赛
开T1,一眼前缀和优化,然后就直接开始码,码到一半,发现题目看错了?只要存在字串合法就可以,然后20多分钟没有思路,先放下了。看T2的特殊value1,简单的单调队列优化即可,而gcd的搞了一个暴力统计,看T3,一眼贪心,然后再思考去取石头的顺序,发现可以按着左端点的大小排序,放完左边,然后搞右边,但是没有去实现,就去看了T4,一开始直接想10+20+20的做法,发现历史最大值不可以直接维护,又花了一点时间去想了线段数组维护最小值,最后只有10分暴力。最后测 的时候放在linux上面20分,window系统下100分????????少了80??!!掉大分,
下午+晚上
咕了
Day6(7.9)
早上
还是没有在状态,T1一开始想把实数和整数给分开了,但是搞假了。然后想到把一个实数乘上1e9,那么这个数必定变为了一个整数,然后判断,二的倍数是不是大于18,五的倍数是不是大于18,这样子就可以凑成整数了,但是没有实现出来
T2先打了一个爆搜,然后发现了n,m为偶数的性质,之后就直接特判加爆搜50pts,T3考虑了第一档部分分,T4打了最短路班里跑路了。。
90pts
下午+晚上
分块咕了,然后回顾了一下字典树
Day7(7.10)
早上
rank 7打的还可以
T1这里可以证明
对于一个1的位置,它可以一直消掉它左边的所有0,以及一直到右边的第一个1,然后把这个1改为0,也就是说删一次要耗费2个1,所以在最后把0消完就是要奇数个1
T2,可以发现完全平方数有传递的性质,所以只需要判断一个就好了,然后注意0的情况
T3 暴力挂了?
T4 骗分!!
下午+晚上
分块咕了,然后做了蓝书第一章课后练习
Day8(7.11)
早上
打了大众分,不说了,T1因为一个地方少判断,挂了10,T2没有开拓思维去想
下午+晚上
P1429 平面最近点对(加强版)+ 订正了T2
Day9(7.12)
早上
T1送分,简单贪心一下就好了。T2 也是挺简单的,简单手玩一下就可以发现可能有k个数,要么不取,要么全取,然后剩下来的数就可以直接往正了取。T4码了个暴力跑路。剩下2h,全在肝T3,但是发现一点思路都没有,赛后才发现代码和思路,以及暴力都挺简单的,只要往边上放就好了,统计每个向下放的贡献
下午+晚上
两道普通线段树 ,然后开了一道二分+前缀和+离散化的题目
Day10(7.13)
早上
第一题times,简单贪心,考虑把两个大的放在一起肯定更优秀
solution :
想方设法把一行全部更新为#,这样之后再用这一行去更新所有的j列
证明:
显然答案必然0-2n-1内,如果第i行有一个空没有被填上,那必定有第i列有一个被填上,才可以把这一行的这一个填上,或者如果第i列没有,那么花费一次代价填上然后考虑第i列有很多合法的答案,是不是贡献不同?因为那一个合法位置所在行是没有被填满的,所以不会对答案造成影响,于是如果第i行少了,而且第i列有数,那么就可以花代价为n-k(第i行合法的数目)把第 i 行 填满,之后用第i行去搞第j列的时候,要判断这一列是不是已经合法了,如果合法了,那么必然不用,否则要花费一次代价。再考虑在填第i行的时候会不会对第j列的合法性造成影响,这里分类讨论1.如果转移的那一行已经是合法了,那么确实 会影响答案,但是显然用那一行是更优的。2.如果转移那一行不合法,那么转移完成之后还是不合法
所以此算法应该正确
证毕
下午+晚上
补掉了昨天的那一道题目,然后开了糖果传递
Day11(7.14)
早上
T1 直接判断就好
1
6
\frac{1}{6}
61
1
2
\frac{1}{2}
21的不同
T2 什么jb
T3T4咕了 ,看solution
下午+晚上
基本开完了第一章的题目,还有一道题目
Day12(7.15)
早上
T1打开题目到看完,马上就出来了两个思路,1.对于一个点有两个状态,一种是可以转换,一种是不可以转化,然后对于这两种不同的状态进行Dij堆优化版 2.将所有的边都加上t[i]先,然后在跑
最短路更新沿线最大的t[i],之后算的时候把它减去 但是都没有跑出来。然后就扔到一边不管,换了一个方法去建立n个超级源点,打完之后发现一个超级源点可以跳回普通的点,然后平普通的点
又可以跳回到超级源点,这样子就不符合题目的意思了。之后又突然想到了分层图最短路,然后意识到这不就是分两层的分层图最短路吗?然后码完,很顺利地过了大数据。然后看T2 ,一眼70分的
完全背包,写完暴力之后没有去拿100分,就开T3,一眼70部分分?30+10+30,然后到模拟赛最后几分钟发现链写挂了,测完又发现B=1先挂了,只有30pts,T4直接大力15pts,
rank 21 掉分 ,主要还是完全背包的转移出现了问题,以及T3挂了,
下午+晚上
Day13(7.16)
早上
开T1,发现是一道A过的题目,但是上次做的时候就分类讨论了几个小时,并且调试了一个晚上才过,所以今天在做的时候还是十分的困难,调试了一个多小时,到十点的时候才过了大数据以及自己造的小样例,T2开的时候想到了 O ( n 4 ) O(n^4) O(n4)的暴力dp,但是打出来之后发现自己假了,反复改动之后还是打了暴力。T3 50pts,搞了暴力,但是我已经发现了所有的答案都是唯一的,并且答案还都是前缀,但是没有直接 O ( n 2 ) O(n^2) O(n2)打表,我是个屑
下午+晚上
听课+吃饭
Day14(7.17)
早上
挂完了!!!,T1看到最短路 ,有看到了那么多的边,那肯定不能都建起来,那么肯定就会超时。所以考虑吧建边的数目变少,在考场上想的是直接对于源点建立到所有地方的边然后跑最短路,但是显然假了,对于每个点,它另外一个点的代价就是把它们中有几个不同的1,给改成一样的代价,所以我们只需要考虑对于每一个点,有一个一和它不一样的代价就可以直接跑最短路,这样子就把所有的状态都考虑进去了,并且把边数降到了
O
(
l
o
g
n
)
O(logn)
O(logn)级别,然后就可以过了
树
因为每种颜色的点数不超过 20,我们枚举每对颜色相同的点 x,y,考虑它们对答案的限制。
首先,如果 x,y 不是祖先关系,那么它们对答案的限制即为:x 子树内的点和 y 子树内的
点不能同时选取。反应到 dfs 序上即为:存在两个区间,如果一个端点在其中一个区间内,
第二个端点就不能在另一个区间内。
如果 x,y 是祖先关系,不妨设 x 为 y 的祖先。设 u 为 x 的某个儿子,满足 u 在 x 到 y
的路径上。那么它们对答案的限制即为:选择了 y 子树内的点,就不能选择 u 子树外的点。
同样可以将它拆成 2 个 dfs 序上的区间限制。
由此我们得到了若干区间限制,现在需要求有多少对满足条件的端点。我们可以利用扫描线
的思想。假设每个位置有一个标记,先从左到右枚举一个端点,如果它跨入了一个限制的区
间,那么就在线段树上把另一个区间的标记加一;如果它跨出了一个限制的区间,就把另一
个区间的标记减一。此时,可以选择的另一个端点的位置的标记必须是 0,因此只需要用线
段树维护区间最小值以及最小值的数量即可。
下午+晚上
听课
Day15(7.18)
早上
T1直接枚举答案,T2权值并查集的板子
• 有了上面的做法, 我们不难想到从小到大或从大到小进行加边权,
然后状压DP了( 因为此时前面填数的位置不具有后效性, 只有一条
边填没填有后效性) 了, 对于每一种状态, 我们枚举接下来把下一
个数填到哪个位置, 再ܱ(ܰ)计算假设把一条边放在那个位置会产生
的贡献, 即可进行转移。
• 菊花是为了让有些情况变得简单。
下午+晚上
订正+打莫队
Day16(7.19)
早上
T1想了很久到,才发现是差分数组的值交换,我太菜了,T2可以想正解但是没有时间了,T3暴力
下午+晚上
ACM + CQD 分治