当前位置: 首页 > news >正文

2025/7/28 总结

上午在 xmoj 上打了场模拟赛

A

用时:20min

看到数据范围很小想到可以枚举不是回文串的串,然后判断后缀是否是回文串,如果是则加上前缀分为两个回文串的方案,显然是可以预处理的,判断回文串正反两边哈希即可。

但貌似出题人卡了自然溢出?想到的时候已经结束了。

总结:写哈希不要偷懒用自然溢出,最好能写双哈希,防止卡哈希出题人。

B

用时:10min

数学题,被薄纱了。

总结:要多加强数学。

C

用时:1h30min

首先离他最近点的可以直接多源 Bfs,卡了大概 30min 左右。

而确定顶点特别麻烦,至少需要 \(O(n^2)\),发现只要确定一行中两个点就能确定正三角形的顶点,双指针一下即可,快速统计和可以斜着做一遍前缀和,反斜做一遍即可。

总结:做题要有举一反三的能力,不要遇到这种换皮题就看不出来,对于这种数据范围不大的看似是数学的题,可以想一下不是数学的解法。

D

用时:30min

想着枚举往左做几步,右走几步,但中途可能超出 \(-n\)\(n\),顺序可能影响答案,想到 DP,但有后效性,想起之前一道 AT 的套路把步数拿出来做属性,这样就没有后效性了。

考试时开了 5000 * 5000 的 long long 数组,成功的 MLE 了。

总结:写完代码看到一些比较大的数组要计算空间复杂度,例如 1e7 的数组,5000 * 5000 的二维数组,尤其是 long long 类型的。

Sleeping Schedule

用时:20min

简单 DP,设计状态 \(f_{i,j}\) 表示睡第 \(i\) 次觉在 \(j\) 开始,转移也很朴素。

Ezzat and Grid

用时:1h

反过来考虑,选择最多保留几个,相邻保留条件可以看成区间有交集。

然后类似 LIS 的状态设计,\(f_i\) 表示保留 \(i\) 前面最多保留几个,转移就是找到前面最大的 \(f_j\)\(i,j\) 有交。

用一个线段树优化即可,而发现取值其实是单调递增的,区间取 max 可以变成区间覆盖。

总结:正难则反,很多题都可以这样思考,尤其是保留与去除,添加与删除。

http://www.sczhlp.com/news/689.html

相关文章:

  • 7.27 周总结
  • 存贮电解液配方的二进制格式与解析它的010 Editor的模板
  • 读《大道至简——软件工程实践者的思想》有感
  • 动态规划
  • Wireshark入门指南:网络流量分析利器
  • 量子计算先驱David Schuster的二十年探索之路
  • SpringBoot中使用TOTP实现MFA(多因素认证) - Tom
  • 上拉电阻和下拉电阻
  • 蓝桥杯2024省赛A组题解
  • 春训#2题解
  • 国内AI编码工具哪家强CodeBuddy+通义灵码+Trae
  • js基础第二天
  • [PaperReading] Stable Video Diffusion: Scaling Latent Video Diffusion Models to Large Datasets
  • 蓝桥杯2025省赛A组游记题解
  • 7.28 闲话
  • FM2023利兹联崛起之路#1
  • 暑训#1补题
  • 07.08 论文精读 人像线稿生成模型
  • 7/28
  • 【LeetCode 141】算法:环形链表
  • 暑训#3补题
  • 关于跨域的一点新理解
  • js基础第三天
  • 龙哥量化:股票期货- 精华资料目录
  • 2025省选组合数学笔记
  • 字符串
  • js基础第四天
  • 同时点亮LED、数码管以及点阵
  • 今日总结
  • docker安装