牛客小白月赛53总结
2022/7/8 23:52:55
本文主要是介绍牛客小白月赛53总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
比赛地址
比赛情况
排名:20 / 1321
AC:5 / 6
总结
A
简单if
B
简单式子,可以发现相邻之间的 \(i^2\) 和 \((i+1)^2\) 可以互相抵消,最终式子为 \((n+1)^2-2\times n(n+1)+1\)
C
结构体排序
先判断长度,长度相等循环一遍寻找相同字母个数,那个什么 \(\times \frac{1}{|b|}\) 不用管,拿来迷惑人的
当时做题时在字典序那里卡了一下,字符数组转string直等就行
D
可以发现,每个 \(a_i\) 不是取1就是取 \(b_i\),中间那些数是没有意义的,然后dp.
\(dp_{i,0}\) 代表 \(a_i=1\),\(dp_{i,1}\) 代表 \(a_i=b_i\),转移直接从 \(dp_{i-1, 0}\) 和 \(dp_{i-1, 1}\) 转移过来,也就是 \(a_{i-1}\) 取1或 \(b_{i-1}\)
有个细节就是例如一个数取1,后面是 \(b_i\),差是 \(b_i-1\) 而不是 \(b_i\).
E
小模拟+分类讨论
从大往小考虑:
- 边长为6显然需要一整个
- 边长为5也需要一整个,但有11个格子剩下,留给边长为1
- 边长为4也需要一整个,剩下空可以给5个边长为2
- 边长为3的4个一棋盘,如果有多,多三个,边长为2多1,边长为1多5;多两个,边长为2多3,边长为1多6;多三个,边长为2多5,边长为1多7
- 考虑边长为2,先前有多的空间占了,如果还有多余空间化为边长为1的空间,如果少,9个边长为2一棋盘,最后还有多化为边长为1
- 边长为1的先占了之前的,然后如果不够36个一棋盘,向上取整
注意多测清空
F
没做出。
考场想法
先暴力dp,显然 \(dp_i=\sum_{j<i} dp_j+1(a_j\vee a_i=0)\)
然后 \(O(n^2)\),显然超时,暴力二进制容斥,然后不知为什么过不了
这篇关于牛客小白月赛53总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南