符号与约定
:按位与
:按位或
:按位异或
:整除
:组合数
:
的正因数个数
Day1
T1
题意:设 ,其中
是满足
的最小正整数,若
,则
。求
。
看了30min,感觉有一点像倍增,写了10min顺利通过,得分:100
T2
题意:称数组 能够碰瓷数组
当且仅当能通过操作任意次以下操作,使数组
变换为
。
- 选择下标
和一个整数
,然后在
后插入
。
求数组 能碰瓷数组
中多少个子数组。
刚开始想到的想法如下:
对于数组 中
的子序列,设
为
在
中对应的下标,若任意
都满足
到
之间没有连续相同的数,则可以碰瓷。
感觉很像dp,写了发现不对,手玩大样例,发现判断可以碰瓷的条件错了。
正确的条件如下:设 是
中一个可以被
碰瓷的子数组,则
-
是
的子序列
-
存在
满足
且存在
满足
可以证明这是充要条件。
最终写了一个贪心过了,总用时2h,得分:100
T3
题意:字符串 被称为
的旋律当且仅当
是通过
复制多次并连接后得到的字符串的前缀。最初
是空串,进行
次操作,每次操作会在
的开头或结尾插入一个字符,问每次操作后
有多少个旋律。
的做法可以获得70,于是开始写KMP,然后因为不知道什么神秘原因无法通过大样例,调了一整场,得分:0
正解是二分 + 字符串哈希。
T4
题意:有一个长度为 的数组
,有
次操作:
:修改
为
:在
中找出最长的子序列
使对于任意一个
都满足
且
,输出长度。
赛时没看,得分:0
正解是结论题,答案为区间长度 + 区间和 - 最大字子段和,线段树维护即可。
最终得分:100 + 100 + 0 + 0 = 200
进步空间
T2用时过长,可以先把思路理清并简单证明后在开始写。
T3的70分做法假了之后可以考虑写低一档的部分分或写T4,尽可能拿分。
Day2
T1
题意:求 的最大值。
10min秒了,枚举 ,左右两边分别求最大子段和,得分:100
T2
题意:有 种玩偶,第
种玩偶的大小为
,扔掉一个玩偶的损失为
,数量为
。需要扔掉一些玩偶,使得剩下的玩偶中,最大的玩偶的数量之和严格大于扔完后剩下玩偶总数的一半,求最小损失。
贪心地从小到大做,用树状数组 + 二分维护,码量较大,用时1h20min,得分:100
T3
题面
http://oj.daimayuan.top/contest/366/problem/3241
时间比较充裕,准备写正解,写了一坨4个关键字的dijkstra,无法通过大样例,调了一整场,得分:0
T4
题意:有 条线段,第
条线段左端点为
,右端点为
,一组线段的价值为该组所有线段的交集长度,每一组的价值都至少为
,求把
条线段分成
组的最大价值和,无解输出
。
写完T2后先来写的T4,发现35分的暴力非常简单,用时20min,得分:35
正解是单调队列优化dp。
最终得分:100 + 100 + 0 + 35 = 235
挂分分析
实际上并没有挂分,最终得分和预期一样。
T3的dijkstra写复杂了,改成从 号点和
号点分别跑一次就可以了。
进步空间
T3的正解做法假了之后可以考虑写部分分,尽可能拿分。
Day3
T1
题意:定义 ,求
,
。
先观察性质,注意到,若
,
,否则
。
所以只要统计 的个数即可,因为
很小,所以直接容斥。
用时50min,得分:100
T2
题意:有一个字符串 ,
,一次操作选择
,翻转
,问
是否能通过最多一次操作使 最长相同连续子串
。
想正解想了1h+没有想出来,于是写了一个 做法,写了一个线段树维护最长相同连续子串,然后枚举
看是否符合条件。
预期得分:55,实际得分:0
正解是大分讨
T3
题意:定义 为第
种字母的所有连续段的最长长度,有一个字符串
,其中每个字符是前
个小写字母或 '?',问用前
个小写字母替换
中所有 '?' 后
的最大值。
没怎么见过这种套路,想了45min,先去写T4了,最后只剩半个小时了,匆匆写了一个 的做法,用时15min。得分:10分。
正解是二分 + 状压dp
T4
题面
http://oj.daimayuan.top/contest/367/problem/3246
写子任务1(15分),发现居然写不出来,写子任务2(25分),发现居然还是写不出来,写子任务3(25分),可做,写了一个树状数组,用时45min。
预期得分:25,实际得分:0
预期最终得分:100 + 55 + 10 + 25 = 190,实际最终得分:100 + 0 + 10 + 0 = 110
挂分分析
T2挂了15分,原因是枚举 时
应该从
开始枚举,而我从
开始枚举。
T4挂了25分,原因是从 到
的用时应为
,而我写成了
。
进步空间
养成对拍的好习惯。
Day4
T1
题意:有 个建筑,把第
个建筑升到
级可以获得
,如果所有建筑都在
级以上,可以额外货获得
分,问最多能得多少分。
想到 dp。
表示 前
个建筑 每个建筑都在
级以上 是否有建筑刚好是
级 的最大分数。
转移:
写了40min通过,得分:100
T2
题意:定义 ,求
。
观察了很久性质。
设
先考虑 的情况,此时
不妨设
可以推出如下转移
则 。
或
的情况同理。
最后
做了1h30min,负数的情况没有处理好,结束前3min发现,最后极限通过,得分:100
T3
题意:有一个长度为 的数组
,一次操作可以让一个子数组中的每个数字加上任意整数,问使数组中所有数字互不相同最少要进行多少次操作。
打了子任务1(对于 ,
)。
注意到 一定能使数组中所有数字互不相同。
预期得分:9,实际得分:0
T4
题意:有 个货物,第
个货物重
,货物会被按顺序放上卡车,只要不超过卡车的承重,这个货物就会被放上卡车。问如果要装
个货物,卡车的承重至少需要多少,对于
输出答案。
想了很久如何用线段树实现正解,感觉很难写,放弃了。
打了子任务1(8分)和子任务4(8分),用时20min,得分:16
预期最终得分:100 + 100 + 9 + 16 = 225,实际最终得分:100 + 100 + 0 + 16 = 216
广告:正解
挂分分析
T3挂了9分,原因是 写成了
。不要直接根据样例猜结论。
进步空间
T3要多思考,可以拿下子任务2或更多。
T4思路其实和正解差不多,要勇敢尝试去实现。
Day5
T1
题面
http://oj.daimayuan.top/contest/369/problem/3251
一眼看上去很像二分,但仔细看发现没有单调性,直接懵逼。仔细想发现暴力的复杂度是对的,1h写完,得分:100
T2
题面
http://oj.daimayuan.top/contest/369/problem/3252
分讨 + 贪心题,写了1h,得分:100
T3
题意:有一个 个点
条边的带权无向图,有
次询问,每次询问查询满足以下条件的
个数:
- 存在一条从
到
的路径,路径上每一条边的边权
赛时想正解发现想不出来,打了 的暴力,用时1h。
预期得分:20,实际得分:0
T4
题意:有一个仅由 和
组成的字符串
,有两种操作:
- 花费
的代价在
的任意位置插入
- 花费
的代价在
的任意位置插入
问把 变成
的最小代价,无解输出
想写 的部分分,但没写明白,得分:0
预期最终得分:100 + 100 + 20 + 0 = 220,实际最终得分:100 + 100 + 0 + 0 = 200
挂分分析
T3挂了20分,原因是 以为写的是 的做法,但实际上是
的。
Day6
T1
题意:他有 种颜色的宝石,每种颜色有
颗宝石,宝石展览方案的华丽值为
,其中
为第
种颜色的宝石展览的个数,问不同展览方式华丽值的总和。
注意到每种颜色的宝石可以分开算贡献,第 种宝石的贡献为
,由二项式定理得原式为
,
进行求和即可。
用时30min,得分:100
T2
题意:求有多少个长度为 的序列
满足
且
。
写了一个 的 dfs 做法,用时15min
预期得分:40,实际得分:20
正解:注意到满足 的个数与满足
的个数相同,所以只需要统计总个数和满足
的个数即可。
T3
题面
http://oj.daimayuan.top/contest/370/problem/3257写了一个 的做法,用时20min,得分:25
T4
题意:有一个 个点
条边的无向图,第
条边连接
和
,长度为
,问有多少条边满足在被删除之后
到
的最短路长度恰好加
从 和
分别跑
,算出
和
,将
到
最短路径上的边记录在
中,接着记
为
经过的边中属于
的边数,
为
经过的边中属于
的边数。枚举不属于
中的边
,若
,则
中前
个边之后,后
个边之前的边都是可以被删除的,将满足条件的边统计一下即可。
用时1h40min,预期得分:100,实际得分:20
预期最终得分:100 + 40 + 25 + 100 = 265,实际最终得分:100 + 20 + 25 + 20 = 165
挂分分析
T2挂了20分,原因是虽然 在 int 范围内,但在 dfs 的过程中会爆 int
T4挂了80分,原因是求 和
时的复杂度不对,TLE了,简单优化即可。
1万+

被折叠的 条评论
为什么被折叠?



