2023牛客寒假算法基础集训营1





赛前吐槽:今年的算法基础集训营学校甚至都没报销,自己花钱买的,虽然不贵。整个学校只有我和一个22大佬在打这个比赛。赛后查了省内的高校发现几乎都是十几个人。(哭)
以下题目编写顺序按过题顺序编写。
L 本题主要考察了运气
数学(或许是运气)
数学对我来说一直是弱项,其实这个题目一开始读的时候挺懵的,不知道是期望数学,于是就想着一个一个试试吧,再开始的时候还采取着前面猜10个,后面猜10个,但是猜到20的时候觉得这个数字应该不是一个小数,于是就从80一直试到32。数学不会的痛
赛后也没找到比较清晰的解释,决定先不去想过程了。(明天补过程)
AC代码
C 现在是,学术时间 (I)
思维, 贪心
赛时读完题脑子是比较懵的,心想:“什么题面...”,虽然一边吐槽着题面但是也按照题面上的写,想着把引用次数往多的上面去放,然后再去算别的,其实到最后结果和标程是一样的,都是不去算0的数量(赛时怎么没想到的...)
只用算引用量为0的文章就好,拿人数减去就是答案。
AC代码
H 本题主要考察了DFS
思维
写完上面两题之后,发现 H 过的人也挺多的,于是就决定开 H ,读完题心中还闪过一个念头:“不会真的去深搜找他的位置吧” 。 但是想了想感觉实现过程比较困难立即转换思路,发现一个拼图的花费肯定是一个矩形的长 * 宽 * 10,不会有其他可能,于是就想到解题思路。
只有拼图有一个突出就有一个凹陷。
已知完整的拼图花费和剩下的拼图花费,求未知的那个拼图花费就是把总 - 多余的就好。
AC代码
K 本题主要考察了dp
思维,贪心
说着是dp其实还是诈骗,认真观察就能找到坏区间最少的情况,就是1001001.....这样就明确了解题思路。
先去构造一个1和两个0,多余的1或者放到后面。
然后去暴力整个序列有多少个子序列是符合1的数量>0的数量即可。
AC代码
A World Final? World Cup! (I)
字符串 模拟
好吧,这个题并不是我过掉的,签完到之后发现A题过的数量贼多然后赶忙过来开A,看完题还觉得A挺简单的,但是写完就发现情况还挺多,于是就跳了。写完K之后,此时刚好同级退役大佬过来说他也想写顺手过来帮我过了(学校不给报销比赛,******)(确信)。
AC代码
D现在是,学术时间 (II)
思维,码力题
题面确实有点难读,读了半天才反应过来就是一个求交集面积和并集面积的商的最大值。其实在演草纸上画下来就一目了然啦。
找第二点与已知矩形距离最远的定点,这样可以保证交集最大。
数据类型需要double,不然可能会被卡精度。
AC代码

罚坐分界线
G 鸡格线
赛时:本来是想开 H 的当时,但是鼠标点到了G自己还没发现,于是就傻乎乎的读题去了,题面特短特简单,读完之后没看数据范围直接按照题目意思写了,写完也没看数据范围直接交了,然后看了一眼数据范围发现 时间复杂度最大可能是 , 然后果不其然的TLE,然后想了一会儿也没想到什么优化方法,点出去一看开错题了,直接吐血。
赛后:看到大佬写的 tag 是树状数组,那直接摆了没学过,寒假开学之前至少学一学。(确信一定会学)
M 本题主要考察了找规律
赛时:这个题是我和同级大佬一起写的,一直没信过标题的我,想着有贪心解决,但是很遗憾到最后,也没能过掉这个题,我写的贪心也是过了一半的测试数据。最后大佬又随便整了个公式,交上去还是错,于是放弃治疗。

赛后:竟然是dp,是dp!(果然dp是我学不会的东西)看着别人的代码觉得是区间dp,也没认真看,等睡醒了再认真补一补吧。
剩下的几题,构造,位运算,图论,还有一题没看出用的是什么算法,剩下一个半小时直接坐牢到晚饭......
