牛客小白月赛53总结

比赛地址

比赛情况

排名:20 / 1321
AC:5 / 6

总结

A

简单if

B

简单式子,可以发现相邻之间的 i2(i+1)2 可以互相抵消,最终式子为 (n+1)22×n(n+1)+1

C

结构体排序

先判断长度,长度相等循环一遍寻找相同字母个数,那个什么 ×1|b| 不用管,拿来迷惑人的

当时做题时在字典序那里卡了一下,字符数组转string直等就行

D

可以发现,每个 ai 不是取1就是取 bi,中间那些数是没有意义的,然后dp.

dpi,0 代表 ai=1dpi,1 代表 ai=bi,转移直接从 dpi1,0dpi1,1 转移过来,也就是 ai1 取1或 bi1

有个细节就是例如一个数取1,后面是 bi,差是 bi1 而不是 bi.

E

小模拟+分类讨论

从大往小考虑:

  1. 边长为6显然需要一整个
  2. 边长为5也需要一整个,但有11个格子剩下,留给边长为1
  3. 边长为4也需要一整个,剩下空可以给5个边长为2
  4. 边长为3的4个一棋盘,如果有多,多三个,边长为2多1,边长为1多5;多两个,边长为2多3,边长为1多6;多三个,边长为2多5,边长为1多7
  5. 考虑边长为2,先前有多的空间占了,如果还有多余空间化为边长为1的空间,如果少,9个边长为2一棋盘,最后还有多化为边长为1
  6. 边长为1的先占了之前的,然后如果不够36个一棋盘,向上取整

注意多测清空

F

没做出。

考场想法

先暴力dp,显然 dpi=j<idpj+1(ajai=0)

然后 O(n2),显然超时,暴力二进制容斥,然后不知为什么过不了

答案做法

运用类似折半搜索的思想。

dpx,y 代表假设现在结尾为 ai,高8位为x,低8位与上 ai 后八位为0的方案数。

假设 ai 的高8位为 hi,低8位为 li

那么以 ai 结尾的方案数为 dphi,j(jli=0),记为 s

ai 的贡献在于所有的 dpj,li(jhi=0)

答案为 s

posted @   zhangtingxi  阅读(42)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示