HAJX[2024] 游记
· 谨以此记,记录我们共同热爱的OI!
洛谷食用
博客食用
简介:这是一个正在学习C++的OIer(很蒻很蒻)的日常记录。
(注:2024.7.5-7.20集训日更)
放在前面:
本贴只是记录一下本蒟蒻的生活,(太菜了),佬们轻喷谢谢~
浏览次数:(由于网站原因可能无法显示,属于正常现象)
Day 0
期待集训ing 。
0-上午
在来的路上听歌(摆摆摆
中午到了 JZYZ 。
午饭:黑椒肉拌面+冰镇石榴水,好吃,好喝,好评。
0-下午
班里好多去年 HAJX[2023] 的同学,zzy大佬居然也在,膜拜
0-开幕仪式
好多厉害的人物和教练还有学生代表讲话。
膜拜D组(省队)的五位dalao。
晚上
晚饭:螺蛳粉+有椰奶茶 好吃 !
(另:又迷路了…食堂还是lcx带我去的
晚上都是自习,只说了说注意事项,做了做模拟和动态规划的题
动规:A掉一道线性dp绿题,区间dp写挂了
模拟:写到最后也是 \(20pts\) ,炸了……
(班里好多高中生,膜拜dalao)
Day 1
上午
早餐:肉夹馍+烤肠+大米汤
早自习写了点背包dp。
今天讲“贪心和堆”
啊啊啊,好难QAQ
讲的也好快,仨小时过了十几道题 还都挺难的
本蒟蒻表示非常崩溃
不过中午又推了一中午过了两道题好多了)
中午饭:忘了名字的面+柠檬水
ps:虽然忘了名字,但是好吃!
(中招可以查分了,但人太多网站被挤出来了qaq)
下午
下午起来,查分网站还是查不到)
下午讲的二分和倍增,同上午,好快!好难!好崩溃!两个多小时又过了十几道题,剩下时间就慢慢写了。
记录:
T1:上课听懂了,过得很顺
T2:卡了半天49pts,最后发现题目的数据范围给小了,题目写2e5,实际上2e6,浪费将近1h(怒
T3:栈不能为空!!!要第一特判!!!气死了,又卡我0.5h
T4:挺有意思的一道题P4801 [CCO2015] 饥饿的狐狸 · 链接,洛谷评的难度在
[提高+/省选-]也就是蓝题,这也是我在洛谷上A掉的第一道蓝题嘿嘿。大概梳理一下思路,本题若不考虑水温,就是一道经典的贪心问题(其实加上也是贪心,不过复杂好多),因为没有顺序,我们先对温度进行sort排序。对于最小值,只需按顺序逐个计算即可,形式化地:
因为数列有序,所以可以化简为
化简得 \(ans_{min} = T_n -T_1\)
然后考虑加上水温,有三种情况:(水温为 \(w\) )
1. 当 \(t[1]<=w and w<=t[n]\) 时,我们会发现喝不喝水不会影响最小值,加上的 w 最终都会被抵消,故答案为 \(ans_{min} = T_n -T_1\) .
2. 当 \(w<t[1]\) 时,第一次喝水会影响结果,对结果多加上一个 \(T_1-w\) ,故答案为
\(ans_{min} = T_n -T_1+T_1-w = T_n - w\)
3. 当 \(w>t[n]\) 时, 同上
答案加上 \(w-T_n\),即:
$ans_{min} = T_n -T_1+w-T_n = w-T_1 $
至此,对于 最小值 讨论结束
再来看 最大值
我们要得到最大美味值,第一反应是对应经典模型,应该先交错吃温度最大的和最小的饼干,其中如果能喝水可以让答案变大,就尽量喝水。
因为要先喝一口水注意左右端点谁先开始,可能得到两个答案,分两步计算,再取个 max即可。
例如这个,是从左开始的部分代码(模板),主要是注意细节问题
// 从左开始 (左右交替)
int lst,ansl = 0,ansr = 0,t1 = 1,t2 = n;
/*lst储存上一个食物的温度,第一次要喝水,中间二者分别对应左右两端的答案,最后取max后二者是两个指针,方便左右交替 */
ansl+=abs(w-t[t1]);
lst = t[t1++]; // 从a[1]开始
for(int i = 2;i<=n;i++)
{
if(i%2 == 0)//比较喝不水和喝水的价值,取max ↓
ansl+=max(abs(lst-t[t2]),abs(w-t[t2])),lst = t[t2--];
else
ansl+=max(abs(lst-t[t1]),abs(w-t[t1])),lst = t[t1++];
}
最后输出 $max(ansl,ansr) $即为最大值。
到这里,本题两问都已解决, 华丽结束 !!!
感觉挺有意思的
晚上
晚饭:兰州牛肉面+有椰奶茶
打了Atcoder(外国优质OJ)的 abc(高质量比赛)
但由于语言只有英文和日文 没有中文题面
只看懂了第一题,(也就是A题)A了,
记录,一百昏!!!
Day 2
今天讲hash(哈希)和KMP
上午
早饭:(由于高中部的放假了,食堂好多地方都关门了QAQ)
鸡肉卷+烧麦+米酒蛋花汤(没汤圆版)
早自习做了做昨天的题,加油
ps:今天换老师了
今天的老师虽然比昨天讲的慢,但讲的好模糊,表示没听懂……
(没太理解讲的到底是什么,概念好像理解了,但一看题还是不知道怎么用……
午饭:墨西哥什么饭(米做的)+啥来着(好像是喝的)
下午
下午讲了一会 \(KMP\) 自动机,彻底放弃(烦
学不会一点……
做其他题去了,做了点 \(hash 和 KMP\) 的模板就去做dp和模拟了
晚饭:麻辣烫+忘了不知名的西瓜汁
晚上做了点杂事,补了补之前没过的模拟题,各种水题,可恶啊被一个鸡兔同笼卡成 \(80pts\),死活调不对(大悲),最后无奈放弃,明天讲 \(dfs\) ,后天 \(bfs\) ,终于来点可以做的题了(希望是这样),期待ing。
关于字符串:
hash 和 KMP 先放一放,结训或者有时间再看,因为有前置知识哈希表没学过,所以现在很难学后面的。
打了个洛谷上的比赛,难度在提高组+左右(好像),做了30min,只打了 T1:20pts (暴力打的),(暴力超时记录)满分 400,希望能加 rated(做梦)
(ps·2024.7.11:居然真的加分了)
好累
今天就先这样了,明天加油!
Day 3
今天讲DFS(深度优先搜索算法/回溯算法)
上午
早饭:饼+椰果奶茶(热热的,好喝!)
上午ZZWGY的杨老师,讲题目DFS的图论遍历方法,讲了如何剪枝,从爆搜一步步改为正解(挺难的,但貌似听懂了几道
总结 一下:(搜索的优化方法)
- 优化搜索顺序(如提前排序/倒置等,如小木棍P1120,预处理从大到小排序,省好多时间)
- 排除等效冗杂(如小木棍P1120,虽然我是卡这时限 \(260ms\) 过的…同等长度木棍只需判断一次即可)
- 可行性剪枝(如贪心优化)
- 最优性剪枝(如若搜索答案已经劣于现已知最优答案,果断回溯)
- 记忆化搜索(把答案记录下来,避免重复减少时间)
午饭:牛肉面+茉莉绿茶(纯茶,但好喝)
下午
又讲了一点搜索和拓展,没太听懂,是和位运算结合的,基本不怎么考,不管了。
晚饭:肉夹馍+关东煮+茉莉绿茶(纯茶,好喝)
下午打了点搜索的题,写了篇 题解 P10490
晚上写了几道模拟,顺手把上次没过的模拟调过了
Day4
今天讲BFS(广度优先搜索算法/宽度优先算法)
上午
早饭:饼+石榴汁
讲了双向搜索,\(deque队列\)
还讲了道搜索用 康托展开 优化,没一个人做出来,所以老师说那道题用 map<string,string>
也可以,我俩都不会%%%
午饭:蛋包饭(米)+可乐鸡肉+土豆咖喱+鸡米花(三掺)+茉莉绿茶
下午
先把上午的deque双向搜索调过了
几乎没讲课,只点了几句话,都在自己做题,这会在自学 map
晚饭:麻辣烫+茉莉绿茶(纯茶好喝)
战果: map
概念懂了,看题还是不会,明天应该是讲图论,有空的话看看 (如果有时间的话),
做了三道搜索,写了点模拟
加油加油加油
Day 5
今天是学习图论的第一天……
上午
早餐:鸡肉卷+小米粥
一上来就讲稍微进阶一点的图论了 (对于我这个0图论基础的蒟蒻很不友好)
不会
没听懂
又看了看 洛谷kkksc03的《深入浅出》 和 oi-wiki 上写的非常好的解释,基础稍微懂一点了
午餐:红烧肉米饭+茉莉绿茶(纯茶好喝)
下午
接着讲图论,差分约束好像有点懂的意思,思路大概理解了
晚饭:鸡蛋卷烤肠(就是煎鸡蛋裹着的烤肠啦) + 黑米粥 + 酱香饼(不是太饿)
刷题ing,没了
Day 6
今天是学习图论的第二天……
上午
早餐:鸡肉卷+小米南瓜粥
一如既往地听不懂,就没听,自己去看图论基础了
午餐:红烧肉拌饭 + 茉莉绿茶
下午
学了 链式前向星 见最后笔记
学了SPFA(求图最短路的算法)
容我吐槽一下这个算法:
引用自 fstqwq 大佬
2018 年 7 月 19 日,某位同学在 NOI Day 1 T1 归程 一题里非常熟练地使用了一个广为人知的算法求最短路。//PS:即SPFA算法
然后呢?
100→60(pts)
Ag→Cu (ps:银→铜)
最终,他因此没能与理想的大学达成契约。
小 F 衷心祝愿大家不再重蹈覆辙。
出题人在NOI上卡了SPFA算法,会让SPFA超时,那一年好多选手因此挂分
(以为SPFA实质是贪心,针对这一方法出一些极端的大数据会被卡掉)
例如洛谷 P4779,就卡了 SPFA 算法
100→32pts
-SPFA已死-
模板见最后笔记
对于求图最短路的算法,还有一个算法——
叫做 dijkstra
【模板】见最后笔记
下午是杂题选讲,听懂了一点
晚饭:关东煮+米汤
晚安啦,明天IOI赛制提高组模拟赛加油!
Day 7
上午:
早餐:同昨天早
IOI欢乐赛
今天上午有IOI赛制的模拟赛
(时间:8:00-11:30,分值:6x100 = 600pts)
T1:开始太急导致没看懂题,还以为是字符串hash,直接跳到T2了
T2:还是不会,一眼字符串,转T3
T3:开始以为贪心,不会策略,转T1
T1:仔细看了一下,看懂了。交了一发,喜提0pts,(吐槽一下样例给的好水 输入1,输出1,赛后听老师说故意的。。。)又想了一下,列了几个,交,90pts,再调,交,100pts,看了眼表: 8:19 转T2
T2:看了半天才理解,暴力调到 10:06,80pts,有两个点T了(即超时TLE),时间给太多了,就这样了 ,转T3
T3:打了个爆搜,喜提0pts,突然想到组合数学,加上乘法原理,感觉很适合,演草纸上列了一些式子,挂惨了,没找出来规律,放弃,转T4 (T3思路是对的,详情见后 ‘补’ )
T4:感觉像搜索(实测类似BFS),没思路,然后想了个非正解贪心,交,60pts!!!(数据好水)
T5,6:一个动规(不会的),一个图论,T6图论差一点就做出来了(做出来能拿40左右)
总体来说,提高组难度能这样还行(吧) (毕竟我这么菜)
(省集训队排名%%%) :蒟蒻大佬勿喷
# | 姓名 | 总分数 | A | B | C | D | E | F |
---|---|---|---|---|---|---|---|---|
通过率(%) | / | / | 31.62 | 21.05 | 0.80 | 7.03 | 0 | 0 |
18 | Adorable_(化) | 240 | 100 | 80 | 0 | 60 | 0 | 0 |
补:关于T3,考完之后发现乘法原理我写成加法了(改成加法能90左右),啊啊啊 (太菜了) (大悲)
午饭:牛肉面 (没牛肉) +椰奶(热)
下午:
讲了一下比赛题,发了奖(前十五才有QAQ),还有参与奖用随机数生成了6个(没随到QAQ)
晚饭:关东煮+烤冷面+黑米粥
下午补了补题,背了背板子,摆摆摆
Day8
今天学DP
上午:
早餐:照烧鸡腿饼+南瓜小米粥
写了道图论模板题
讲了DP,陈老师讲课好评! dp从最基础的原理讲起的,虽然不算慢,但至少听懂了,今天做了好多DP,
午餐:热干面+柠檬水
下午:
讲了dp的优化
懂了一部分
还好
好累,
晚饭:照烧鸡腿饼+绿豆汤+柠檬水
晚饭前had nosebleed了,(大悲
Day9
计数dp
上午
早饭:照烧鸡腿饼+南瓜小米粥
上午讲了数学的基础数论和计数原理:组合数,费马小定理,同余定理,欧几里得,加法原理,乘法原理等等
好难,在证明一个玩意的时候,我 脑子一抽 非常自信去黑板上 当着各个dalao面前 写了一堆证明过程,结果被老师推翻了(寄了好尴尬hhhh)终于理解了什么叫一次的主动换来一辈子的自卑(bushi)
然后讲了计数dp,感觉就三个字——
听不懂 (没太弄清dp和计数的关系)
下课又看了看,A了几道练习,感觉好多了
午饭:黑椒鸡肉拌饭
下午
接着讲题,没太听懂
晚饭:肉夹馍+绿豆汤
晚上写了一点区间dp和背包dp
Day10
树状dp
上午
非常炸裂一个事,
早上在宿舍刚醒来,迷迷糊糊看了眼表,瞬间清醒了。
已经起床1h了,我居然刚醒,吃饭时间已经过了,而且还有20min就上课了!!!
以最快速度穿衣服拿东西,刚准备跑出去想起来没时间吃饭了,就随手在柜子里抓了两包零食装进包里就冲到了教室。
觉至少有 800m 吧,上下楼共7层,到教室刚刚点完名,看眼表从醒来到教室居然才5min!!!
体测都没冲这么快)
早饭:无
上午讲了一点点树,然后讲了树形dp,听懂了一点
午饭:炸酱面+百香果凤梨果茶
下午
写了点树形dp,补了补前两天的背包和计数
面基大佬%%%
下午大课间去见了 \(\color{9D3DCF}zhiyangfan\) 大佬
好激动好激动,大佬今年高考701,膜拜orz%%,(还有lcx也来了)
仨社恐 (bushi社交恐怖分子)见面,沉默的至少有3min,好紧张好紧张,后来 虽然还是好紧张 聊了很多,收获很大,还加了大佬微信(开心.jpg)
晚饭:照烧鸡腿饼+凤梨百香果茶
晚:写题
Day11
数位dp+状压dp(状态压缩dp)
上午
早餐:肉夹馍+黑米粥
数位dp好难,听不懂一点,难度全是{提高+——省选——NOI-}
下午加油,尽量理解
午餐:米饭+肉+葡萄汁
下午
讲了状压dp (我状压都不会)
基本班里都没听懂,全是蓝题紫题。。。
晚饭:饼夹菜(其实是肉)+ 黑米粥(去食堂晚了,5分钟速通晚饭)
Day12
树状树组
上午
早饭:饼+小米粥
上午开了树状数组,没听懂,课下自己整了点笔记,在网上找的解释看懂了(笔记见文章最后)
午饭:炸酱面+烤肠+葡萄汁
下午
生地中招出等级了,双A,开心
又整了笔记,上课还是没听懂
晚饭:饼夹菜(或者肉)+ 小米粥
晚上水了几道题
Day13
今天是NOI 的 Day1祝各位参赛的哥哥姐姐们取得好成绩!RP++!
今日内容:基础数论
话说集训过得好快,就剩两天了……
(暑假也好快,whk一点没动,烦)
上午
早餐:肉夹馍+黑米粥
讲了数论,素数定理,费马小定理,欧几里得(辗转相除)等等
难度还好,前面的基础听懂了,后面的拓展关于 \(
phi\) 之类的没理解。
午餐:西红柿鸡蛋面+香肠+芭乐柠檬茶
下午
接着数论,等结训了有时间一定把笔记整整
晚餐:照烧鸡腿饼+芝士热狗肠+小米粥+葡萄汁 (买多了吃撑了鹅鹅)
晚上做题,写板子,模拟,明天IOI赛制欢乐赛加油!
done:更新了图论笔记
Day14
IOI赛制欢乐赛
上午
早饭:照烧鸡腿+黑米粥
比赛:8:00——11:30
(共3.5h,七道题,7x100 = 700pts)
IOI赛制欢乐赛
开始比赛:
先开T1,发现像贪心,打了一下,假了(大悲),60pts
考虑爆搜,33pts和68pts
优化,分数不变,仔细又看了一遍题,想到一个很扯的做法,直接一个ifelse判断奇偶输出答案(很容易证明这个是错的),10行交上去,82!!(因为这道题是输出YES or NO,考完发现有同学打随机数90pts)被这道题恶心到了,拿着82直接看T2。
T2一眼过去没太看懂性质,随便打了个贪心30pts,其他WA了,又看了看题,调了调,几个小样例都过了,交上去,WA了,65pts,改了又改,还是65,崩了,看T3,随便糊了个暴力,0了。由于不服气(感觉65pts会是大众分),又回来看T2,造了个大数据,错了,一个一个分析,hhh发现自己if,else连用没加大括号,类似这样
if(...)
if(...)
else if(...)//从这里有歧义,程序直接接上了内层的if
...
else if(...)
...
(终究还是太菜了)
调回来之后直接A了,
再看T3,读完题有点晕,去洗了把脸清醒多了,想到了char转int储存再打上前缀和预处理好像可做,实现,A了,看眼时间才119min,还剩90min,已经82+100+100 = 282了,有点激动,看T4,打了暴力,0,优化,0,优化,0,再优化,0,换思路,0,爆搜,0,优化,0,再优化,0……
崩了,花了1h,T4:从0→0(悲
(赛后讲题T4正解是分组背包dp)
扫了扫 T5,6,7,
发现T5有个输出0的分,打了,喜提5分,感觉分数250还是太大众,又接着看题。
最后15min,T4依旧爆0,T5想到了组合数学+枚举好像可做,打了,(因为我不会线性的 \(C_n^m\) 组合数,导致超时)喜提5→20pts,完美结束。
最终得分:
整体还行,T4居然不给暴力分!!!(怒)
排名竟然还挺靠前。
午饭:同昨天(少了根肠)
下午:
赛后讲评,老师30min速通了5道题,后面俩没讲,好像 (我也没听,在看其他题) 太难了,下午写了写dp笔记,摆摆摆。。。
晚上下了好大好大的雨,有伞去吃饭也被淋湿了(悲)
晚饭:三个肉包+南瓜小米粥(不贵,好吃,好评)
晚上打了打洛谷月赛,感觉分数好大众%%%,膜拜AK大佬。
明天CSP-S全真模拟加油,集训好快, whk好烦,明天晚上还有考试
Day 15
NOIP提高级(CSP-S难度)模拟赛(OI赛制)
祝参加NOI的哥哥姐姐们加油!
上午
早餐:饼+粥
看了看板子(实测没什么用)
开始比赛,8:00-11:30(3.5h,共四题,总分=4×100=400pts)
看T1,一想到难度是提高组的(毕竟我还是个蒟蒻),就没想过要拿满,比赛前想的把四题的暴力打了够100pts就直接摆烂的。。。
不过看了T1后发现打个差分好像可以拿前40pts,但数组开不了太大会被后面的数据卡(后来测试只有20pts)
当时感觉40很高了 ,于是转向T2,一看题, 好诶,图论 不会图论,开摆,看T3
T3一眼数学题!关于 \(Σ\) 的,直接上超级大暴力,预计30pts,但我看不到分(确实是30pts)
开T4,此时才过了47min,T4是类似字符串的(至少我这么觉得),瞎糊了一个20pts的特殊情况,此时55min,看了看估的分:40+30+20 = 90pts,才开始一小时,好像很高。
想了想感觉就T1还有希望拿分,就当场立了个flag,拿下T1,就有150pts了,然后摆烂
自己造了一些数据,一直没过,最后发现抛开每一天,根据输入数据枚举好像可以直接上大模拟,时间复杂度为 \(O(3×10^5)\),可以直接过掉,理论可行,上实践,加上调试最后T1过大样例的时候是109min,时间还剩101min,非常充裕,于是决定 zuosi 去看T2。
重看T2,发现虽然不会图论,但我打了个非常离谱的假做法,本来就不会,想着随便糊一个万一拿分了呢 (竟然真的有分)
很炸裂的,我当时,发现,T3,可以,打表,于是,就写了个程序写打表,结果,答案对了,但是,测评机崩了,于是,0分了,但是我当时不知道啊啊啊啊!!!!OI赛制不出分啊啊啊,最后检查了检查格式就结束了。
预计:
实际:
啊啊啊啊T3挂了30pts,不过提高组难度这样还行吧,就当一个教训,让今年正式比赛上别失误吧。
午餐:忘了
下午
速通了题解。。
结训啦,加油!
回家,路上听歌睡觉(摆摆摆
怎么说呢,这次集训收获很多,15天也如一瞬,又要回归whk了,希望接下来8月份的学校集训能更进一步,有空了再回来写一篇总结。
utd:2024.7.23:把笔记压缩了,去除了长篇大论
utd:2024.8.5:重读,修改了格式问题和错别字
ps:膜拜大佬今年这个小破省出了两个金牌!!!%%%