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

My Tricks

tricks 和注意事项

【数据删除】构造题!!!

杂项

  • 多测未清空
  • 没开 long long
  • 如果正面处理不方便,可以考虑拆单个的贡献然后用差分
  • 跳来跳去的或要操作很多次的考虑倍增
  • 判断等比数列时考虑正负性,并用比例的性质来判断公比是否相同
  • 小心 double 的精度误差
  • 明确数组的定义,避免开小 RE
  • 对于求解回文串的题目,可以考虑异或
  • 遇到一些范围很小的东西且存在两种不同的状态时可以考虑二进制状压
  • 能尽量使用低维数组就尽量用(题目同上)
  • 随机摆放的题目其实判断合法只需要判断个数(题目)
  • 多测一定要等输入完后再 return!!!!!!!!!
  • 在使用二分之前一定要证明单调性
  • 多次询问且不带修,何不离线?
  • 单峰直接三分即可(题目)

思维题

  • 考虑探寻规律(正向可以,反向也可以)(题目)
  • 可以通过前缀和来快速计算区间的贡献(题目)
  • 在判断 \(x\) 是否为中位数时可以将 \(\ge x\) 的数赋值为 \(1\),将 \(\le x\) 的数赋值为 \(-1\),最后判断 sum 是否 \(\ge 0\) 即可(题目)
  • 考虑状态压缩,转换成二进制(题目)
  • 分治,对于小范围的询问可以直接预处理,而大范围的考虑在什么情况下会变成小范围的(题目)
  • 二维平面直角坐标系上的题可以考虑将 \(x\)\(y\) 坐标分开考虑(题目)
  • 奇偶性相关可考虑黑白染色(题目)
  • \(\min(a, b)=\frac{a+b}{2}-\frac{|a-b|}{2}\)(题目)
  • 对于合法括号串的判定,可以和判断中位数一样(题目)
  • 注意对题意的转化,这通常会有很大的作用(题目)

贪心系列

  • 对于线段覆盖问题,考虑按右端点排序
  • 如果数据范围十分大,不好 dp,那考虑反悔贪心。一种常见的方法是采用堆进行优化。

dp 系列

文章

  • 状态和转移不够明确,导致贡献计算不到位
  • 如果发现原问题的逆问题可以使用 dp 解决,不妨先推一下逆问题 dp 的式子,然后逆向思维反推出原问题的方程(题目)
  • 转移需要前缀的话可以考虑树状数组优化(题目)
  • 填表计数问题可以考虑用一维表示前 \(i\) 行,大概率不用把列存进状态里(题目1、题目2)
  • 如果题目要求可行性,可以考虑 dp(题目)
  • 如果涉及到每长度为 \(L\) 的子串都模 \(m\) 同余,那么必然有结论每个 \(a_{i\bmod m}\) 都相等。此时直接 dp 即可(题目1,题目2)
  • 类似于过河卒的 dp 问题,可以考虑记录一下是从列转移的还是从行转移的(题目)
  • 拆转移方程里的绝对值可以按从小到大或从大到小的顺序进行转移(题目)

图论系列

  • 使用 queue 还是 prioirty_queue要分清
  • 松弛的式子推对了吗
  • 拆点,对每个点都创一个超级源点(题目)
  • 考虑建超级源点以及虚点
  • 在 bfs 时可以在入队前判断是否找到答案,这样可以省去很多冗余的操作,减少时间(题目)
  • 遇到和环有关的问题,可能是生成树(题目)
  • 遇到多次询问判断两点能否到达题目,如果不带修,考虑离线排序然后双指针加并查集(题目)
  • 发现题目中有类似“很多天”的描述,可以考虑类似分层图的思想(题目)

树论系列

  • 关于树上的链的问题,想一下能否长链剖分(题目)
  • 可以考虑维护从 \(u\) 到根的信息,然后直接异或合并(由异或的性质得)
  • 感觉像树形 dp 但又不好做的或树上查询但离线的可以考虑 dsu on tree(题目,上一个同)
  • 基环树上的问题可以考虑把唯一的环断开然后转成树上问题。不过把环拆成树的那条边的两个端点都要进行操作(题目)
  • \(n\) 个节点的无根树,一共有 \(n^{n-2}\) 中构造方案(题目)
  • 树上路径问题需要想到树的直径(题目)

数论系列

  • 发现要求的数的范围很大比如 \(n\le 10^{12}\) 时,想一想是不是可以用整除分块根号过(题目)
  • 区间内最远互质点对可以直接枚举(题目)
  • 上指标求和:\(\sum_{k=r}^{n}C^r_k=C_{n+1}^{r+1}\)(题目)

字符串系列

  • 其实我们是可以在 \(O(n)\) 的时间内判断能否通过删除一些数使原串变成回文串的(题目)
  • 在进行解题之前其实可以把两边合法的字符串先去掉(题目)
http://www.hskmm.com/?act=detail&tid=14906

相关文章:

  • 完整教程:机器学习入门,支持向量机
  • 谈谈对软件工程的理解
  • firewalld 端口流量转发
  • [PaperReading] Qwen2-VL: Enhancing Vision-Language Model’s Perception of the World at Any Resolution
  • [PaperReading] MemGPT: Towards LLMs as Operating Systems
  • 总线的性能指标
  • VoxCPM:新一代高拟真语音生成模型
  • Day20封装的初步认识
  • 完整教程:数据结构与算法-树和二叉树-二叉树的存储结构(Binary Tree)
  • 工业相机与镜头靶面尺寸的关系:从原理到选型的避坑指南 - 教程
  • Security Onion Solution
  • 时序数据库 TimechoDB V2.0.6 发布 | 新增查询写回、黑白名单等功能
  • Python精品任务-基于python的个性化音乐推荐架构的设计与实现(源码+LW+部署文档+全bao+远程调试+代码讲解等)
  • 第二篇
  • 实用指南:网站抓包怎么做?(网站抓包教程 HTTPS 抓包 浏览器抓包 服务器端流量分析 网站安全与调试)
  • EasyDSS “进度条预览”黑科技,如何重塑视频点播的交互体验?
  • 2025 年在线 Excel 协作工具:纯前端架构引领协作范式革新
  • AI重塑招聘:从筛简历到做决策,HR如何借技术提效35%?
  • 大屏适配不同分辨率
  • 直播点播之外,EasyDSS如何开辟“实时协作”第三极?它的会议功能,远比你想象的强大
  • 抖音视频关键词批量下载工具分享|分享痛点|
  • HarmonyOS动态照片,简易环境助力高效开发
  • 二叉树专题
  • IT项目管理主要做什么?-ManageEngine卓豪
  • 9.22学习笔记
  • Django 视图层
  • Kettle: pentaho-server-9.4登录问题
  • Win11/Win10/Office 永久激活
  • 列表
  • springboot~获取原注解的方法findMergedAnnotation使用场景