北大集训2019 游记

赶在2019年最后一天补了这篇游记。

Day -1

跟dcx坐飞机到了北京,不知道第几次到首都国际机场了,不过听说南航要搬到大兴机场,所以可能是最后一次到这了?
当地一个家长来接机,带我们去日料店,不过我们热情不太高,选择了一些主食(我是拉面)。
酒店还是熟悉的中关新园9号楼。怎么说呢?那个楼层有一股旧时招待所的气息,不过房间倒是还好,住起来舒服。
稍微安顿下来,看看b站就睡了。

Day 0

晚上睡得一般般,不过确是这次睡得最好的一天了。
早上意外发现北京昨晚下了雪,起床之后还有小雪,对南方人来说是见不到的美景。略带兴奋地跟dcx在外面闲逛,顺便去报到了。街上随处可见积雪,鞋子踩在雪地上陷了进去,意外得带感。
中午换到了1号楼,看起来楼层和房间漂亮了很多,唯一不太满意的是暖气没法调温度(不会关暖气)。
下午的试机用的是去年的两个签到题以及一个去年试机的交互,写了写跑路了。
晚上本来想写点题,最后咕掉了,继续颓b站。

Day 1

晚上睡得不太好,暖气很闷热,大概睡了5小时。
早上起来涂了点风油精,吃了很少的早餐上场了。
因为是第一场,稍微有点兴奋,过了一会才冷静下来看题。
稍微审了一下题。T1是个树上计数,看到 n ≤ 80 n\leq 80 n80感觉并不会太难,T2是个奇怪的字符串,T3看起来有点怪。
感觉T1比较签到,想了一下容斥就会了,没认真算复杂度,不过是个多项式算法应该都能过?
感觉对字符串比较有信心,于是没有急着写T1,去认真想了一下T2。感觉有点像SAM+LCT,再感觉一下过于不能写,顿时思路卡住了。认真思考一下,这题要求最大值最小,显然的做法是先二分一个答案,然后每次贪心扩展最长的距离,这一步是瓶颈。不知怎么想到一个模拟赛见过的trick,就是先倍增再二分,于是只需要 O ( l e n ) \mathcal O(len) O(len)用SAM计算一个区间的权值即可做到 O ( n log ⁡ 2 n ) \mathcal O(n\log^2 n) O(nlog2n),看起来很正确。
花了点时间码了T1的容斥背包DP,9点左右交上去过了,旁边的老哥不知道发生了什么,一直在莫名TLE。然后开始写T2,考虑了一下,发现如果写出了 O ( l e n ) O(len) O(len)算区间权值的代码,改一下就是正解了,于是先码了个暴力,写的时候稍微有点慌,不过还是很快调出来了。然后改了个二分,自信一交,喜提60, n = 5 ∗ 1 0 4 n=5*10^4 n=

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值