尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

基本的方法

基本的方法
📅 发布时间:2026/6/20 22:03:09

定一移一

很多双变量情况,可以先固定一个,然后变化另一起,防止双变换带来的不确定,与时间上的复杂。

二分答案

这也是固定双变量问题的好方法,而时间复杂度只增加的一个 \(\operatorname O(\log n)\)。没事就想想二分答案。

二分答案可以固定一层限制,如选的点等等。大小的限制等等。对于难求的值也可以使用。可以使代码更简洁明了。

P2370 yyy2015c01 的 U 盘 - 洛谷

统一恒定

对统一的值进行标记、赋值,可以减少错误增加效果

整体移动

即跳过全部的,剩下的就是空的。

如:一组标记为 \(-1,-2,\dots,-n\) 的数,和一组标记为 \(1, 2, 3,\dots, n\) 同时存储。只需把负数取正然后统一加 \(n\),即可(即跳过正数组的下标区间)。

进制式转换(二维坐标一维化)

按照进制模式生成不重复的下标,如一个点 \((x,y)\),假设这个矩阵大小为 \(n \times m\) 那么就可以用 \(k = max(n, m)\) 进制在第一位存 \(y\),第二位存 \(x\)。

如 \(5\) 进制中,第一位权值为 \(1\),第二位权值为 \(5\),每位可以存下 \(5\) 个数字 \([0,4]\),可以将横纵坐标放入对应位中构成 \(5\) 进制数字,如点 \((3,4)\) 可化为 \(5\) 进制下的 \(34 (5)\) 即十进制下的 \(19 (10)\),用这个 \(19\) 作为下标进行储存。因为在 \(k\) 进制下,下标不会重复,所以在十进制下的下标也不会重复。

即点 \((x,y)\) 的一维化下标为 \(x \times k + y\)。

按位分离

即将一个数字按每一位分离的方法。一般是通过取余 10,再除 10,不断得到最后一位数
一般代码为:

vector<int> res;
while (x)
{res.push_back(x % 10);x /= 10;
}

时间、空间与实现

一般来说,用空间换时间,用时间换代码的实现难度。

在空间允许下,用空间换时间是一种非常好的方法,而用时间换实现难度,是为了方便维护,减少思考成本。从而更快得解题

背包的条件限制

如果把体积当成价值来看的话,那么我们做一个限制大小为 \(j\) 的背包,就相当于,找出不超过 \(j\) 的最大值,那么正反都做一遍,那得到的就是最接近 \(j\) 的值。这是一种很牛的趋向找法。

如这题的 01 背包做法:P2392 kkksc03考前临时抱佛脚 - 洛谷

本质上,背包就是求在有限制情况下的最值或方案数。

数据的精准分析

对于时间,进行精准分析判断是否可行。

292. 炮兵阵地 - AcWing题库

数值标记

我们往往可以用一个数来标记一个点的存在,最后统计就直接求数的和就可以了。

利用一些可以互相消去的数值,进行统计,会有意想不到的效果。

如,求区间覆盖次数:我们可以给一个区间的左端点 \(l\) 标记为 \(1\),右端点 \(r\) 的下一位标记为 \(-1\),那么只要在 \([l,r]\) 内,求 \([1, x]\) 的和就能算出有多少区间覆盖。

如这题:P14239 [CCPC 2024 Shandong I] 多彩的线段 2 - 洛谷 就可以这样操作。

数值标记,使用前 \(n\) 个和的方法,化区间修改,单点查询,为单点修改,区间查询。

目的效应

对于动态处理的东西,我们可以尝试去预处理,使其在某一点直接处理完毕。无论什么事情我们只讲求目的,比如,我们要把特定物体在特定是时间消失,那么每次找出特定石头,可能需要遍历所有物体,而我们可以提前找出每个石头应该在哪里消失,然后在到那一次的时候直接处理结果就行。简单说,我们可以 “求” 出目的,即正着推出,也可以找出每个目的的归宿,直接效应。

相关新闻

  • 2025.11.4模拟赛总结
  • 初始three.js
  • 2025 年 11 月财税合规服务厂家推荐排行榜,电商/跨境电商/出口退税/股权设计/平台报送/亚马逊/Temu/1039/海外公司/审计报告全案解决方案

最新新闻

  • GoB插件实践手册:打造Blender与ZBrush高效协同工作流
  • 2026武汉市家里卫生间漏水、阳台漏水、楼顶漏水、阳台漏水、地下室渗水、阳光房漏水各种房屋漏水情况不用愁!本地防水补漏公司为您排忧解难!精准推荐附近专业防水团队 - 伶鹿到家
  • Fortinet高危SQL注入漏洞深度剖析:从原理到防御实战
  • 嵌入式开发实战:从技术文档到工业级系统构建全流程解析
  • 心电信号处理算法:从噪声滤波到精准诊断的工程实践
  • 卖家精灵AI全链路选品运营工具,2026卖家精灵优惠折扣码开通更新了 - 跨境电商卖家出海

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号