ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

THUSC2021游记

2021-05-17 09:30:25  阅读:197  来源: 互联网

标签:没有 30 C++ RE THUSC2021 CE 然后 游记


THUSC2021游记

  • 期待已久的THUSC它来了,它带着OIer的期盼来了。
  • 作为一个菜逼,高二了还没有1=,这次来THUSC“体验”来了。
  • 今年是在学军中学,分成紫金港和西溪两个校区,而PKUSC在余姚。

Day0

  • 提前了一天到,早上9:00出发,10:30到了机场,11:30的飞机,然而飞机延误了,直到1:30才终于起飞。。。
  • 到了之后吃个晚饭就回酒店摸鱼了(复习什么的不存在的)。
  • 酒店很大很舒服,就是费用比较高。

Day1

  • 早上9:30才报到,结果发现自己在紫金港校区,暂时并没有试机这个环节。

  • 然后摆渡到紫金港校区,才意识到这里距离主考场有40min的车程,四舍五入一下就是作为人下人被发配到了边疆(郊区)。

  • 午饭还不错,比jz饭堂好吃一些,管饱,还有饮料水果,好评。

  • 之后就去考场了,提前了40min进去,问了问监考人员结果并不会清空,所以这不把模板整上?实际上THU的新版Ubuntu实在是太折磨了。

  • 有些恶心的地方,一个是Ctrl+n出来的是新的GEDIT,而Ctrl+t才是新标签页,导致我开了很多次新界面;另一个是任务栏在左边,并且我并没有找到桌面图标,每一次都要把所有界面缩小。。。

  • 然后随便打了一个FFT(虽然并没有用),稍微发一会儿呆,比赛就开始了。

  • T1

    • n个物品,一个大小m的背包,每一个物品有一个大小 a i a_i ai​,每一轮装最多的物品,如果有多种选择物品编号从小到大排字典序最大的那种,问要装多少轮。
    • 想了一下分块,然后发现每一次对于当前开头字典序进行二分,然后询问后面前K个数的和,这不就是带修主席树裸题?一看数据50000就直接上了。第一次打带修主席树,代码很短,调一调就用了1h了。
  • T2

    • 树上每一个点有一个权值 a i a_i ai​,求树上所有路径上的最长上升子序列的最大值。
    • 点分治或启发式合并裸题。
  • T3

    • 有 n n n个人, m m m道菜,第 i i i个人对于一道菜 j j j有一个喜爱度 a i , j ( ≥ − 1 ) a_{i,j}(\ge-1) ai,j​(≥−1),如果 a i , j = − 1 a_{i,j}=-1 ai,j​=−1,那么第 j j j道菜出现之后第 i i i个人就会离开,你需要给出一个 m m m道菜的子集,使得没有离开的人对于场面上的菜的喜爱度之和最大,求这个最大值, n ≤ 20 , m ≤ 1 e 6 n\le20,m\le1e6 n≤20,m≤1e6
    • 一看就是高维前缀和。求出每一道菜哪些人可以吃,假设集合为 S S S,那么直接将 S S S统计到它的子集即可。考虑高维前缀和,但是当某一个菜取消的时候会减去一些贡献,因此不能直接加,还要减去某道菜的总和,因此多记一下这个总和即可,实际上这个也可以高维前缀和,因此空间 O ( n 2 n ) O(n2^n) O(n2n),时间 O ( n 2 2 n ) O(n^22^n) O(n22n)
  • T4

    • 通信括号序, l e n ≤ 69 ∗ 2 len\le 69*2 len≤69∗2
    • 前段时间做JOISC研究了两天的通信题,这题就是最简单的通信模型,做过通信的都会吧。只需要从小到大给括号序编码并解码即可。类似线段树二分,只需要记卡特兰数即可。实际上INT_128刚好能够存下。
  • 实际上Day1就是4道裸题,并没有什么思维难度。。。

  • 然而事情并不妙,我T4最后原本剩下2h去搞的,然后剩下1h去调,一开始用的namespace将过程包了起来,没有测试grader直接交结果CE了,思考了一下才发现using ***无效了,然后将它复制了一份新的文件夹,并把它拆了出来(埋下伏笔)。

  • 结果本机上测的都是测试组数小的数据,然而交上去WA了,然后去对拍,结果测试组数很多的时候才炸,然后一直在进行无效的调试,包括但不限于将那个数据单独拉出来,以及转换交互的格式,以及格物致知。

  • 然后非常戏剧性的是我在最后5min的时候进行了有效的调试,发现我会在第一次运行的时候跑的卡特兰数,实际上在每一次运行的时候都会跑(没有修改标记数组),结果那个DP就爆了(没有清空)。然后我一看时间只剩下1min了,想都没有想,立马找到第一版的程序将标记打上,但是我并没有注意那个是用namespace的程序,然后紧张的交了3发就回来肉查了。结果快结束的时候一刷新发现CE了,再一看程序发现改错了,立马去改不用namespace的程序,然后尝试去交,结果比赛结束了。。。。。。

  • 所以AK没了Orz,我是sb。

  • 现在回想就是非常后悔,以后对于一定没有用的程序还是删了为妙,容易干扰自己。。。

  • 一出来发现好像AK的人不多?

  • “要是我最后编译过了,那我岂不是不用比明天都有1=?”——flag

  • 然后很晚才回去,虽然8:00才吃上饭,但是一点都不饿。

Day2

  • 早起,冒雨,打的,乘车,由于某种原因原定8:30开始变成9:00了。

  • 光线追踪?看了看pdf,感觉比较简单,一开始还以为要计算几何,结果发现库里什么都有。

  • 然后看T1,T2,感觉就是大模拟。

  • 然后啊,一打开cpp和一堆执行文件,我人傻了。笑死,完全不会操作。

  • 为了完成工程题的目标实现上是一堆include套来套去,里面有详细地注释,还算贴心。

  • 然后开始实现T2,一开始不知道指针怎么用。。。然后试了出来。然后不管怎么都是黑图片。。。然后就瞪啊瞪,然后调也没法调是吧。。。也不知道是哪里出了问题,然后从CE开始折磨,然后RE,然后WA,然后就没办法了。。。

  • 然后实现T1,把逆程序的fread改成fwrite,然后又是CE,又是RE,RE…RE…RE…一直是段错误,好久之后发现前面没有写wb,好不容易不CE了,结果本地好家伙,连个图片都没有,也没有错误信息,我去翻交互的实现,然后压根就没有搞明白在哪里输出的文件。

  • 而且里面还有class,union,pragma…等等骚操作,从来没有用过,也从来不知道怎么用。然而我连fread和fwrite,fopen等等带f的也从来没有用过。。。结果到最后都在纠结C++的一些代码的实现和编译细节,然而并没有在下发的C++ reference中找到,吐了。

  • “我看不懂,但我大受震撼。”

  • 喜提0分,回收flag,结果今天果然“没有考”。

  • 赛后总结一下这道工业题吧,我对于C++还是不够熟悉,算是比语言把我比下去了吧。不过平心而论,这些东西确实是实现一个简洁的工业代码的最佳手段,只能说是出题人对于不太熟悉这些东西的人不太友好,但本身并没有大问题,但是比起上一次THUWC2020传统方式模拟Cache在一个OIer熟悉的环境下实现,这次将运行环境封装了起来,对于调试和修改非诚不友好,对于我这种没有接触过工程代码的人来说更加不友好。

  • 只能说希望以后THUWC/SC能够让选手有更好的调试方法,更加贴近OIer常规的运行方式;也希望看到这篇博客的同学能够多学习一些C++平时用不到的实现方法,不要再以这个有什么用来忽视它们,毕竟C++的路还很长,以后总是要学习的,并且万一阴间出题人将它使用到了grader或你要填的程序中,没有了解就会很痛苦了。

  • 不过这也是我OI生涯最后一次THU营了,之后也没有机会体验这种与文件操作与C++斗智斗勇4h最后成功爆零的有趣经历了。

  • 结营在下午,大家吐槽都好踊跃,好像工业题出现了很多奇怪的问题(指选手)。

  • 然后煎熬等纸。等到最后也没有。。。。

  • 果然还是太菜了吗,空手而归.jpg。

  • 学校3个1=,1个2=,不过没有3=,实际上换成优秀和良好两个级别了(听说PKU还有优异、优秀和优良),不过3=其实也没有用。

  • 哦对了,最后教练说:“其实你都已经有1=了,这次出来就是历练一下。”

  • 果然是一篇游记。

  • 然后由于天气飞机取消改明天高铁了,摸鱼时间++。

小结

  • 这次比赛我深刻地认识到了我在非传统题上的薄弱,以惨痛的教训深刻体验了工业题的实现,开阔了眼界,也算是一种提升吧,之后对于C++的更加非传统的实现还是要好好学习一下,而不限于交互题。
  • 另一方面自然是对强基计划在THU的待遇有了更加详细地了解,也更加憧憬了。

标签:没有,30,C++,RE,THUSC2021,CE,然后,游记
来源: https://blog.csdn.net/qq_43649416/article/details/116914401

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有