【笔记迁移】基本思路小记

news/2024/10/6 5:37:08/文章来源:https://www.cnblogs.com/Kan-kiz/p/18289147

严格递增 \(\xrightarrow{将a_i减去i}\) 非严格递增

有一些看似复杂的序列修改,考虑一个数的变动对答案的影响。有时候会化成区间覆盖,区间加这类的(例如求 \(mex\),Yazid 的新生舞会)

说到 Yazid 的新生舞会 就想到把值分成01的做法。这题是 \(b_i=[a_i=x]\),之前还遇到过 \(b_i=[a_i\geq x]\)。区间排序喵喵题(TJOI 排序),通过二分答案把序列转成 01,然后就能线段树做区间排序了。

求恰好等于某个值的xx计数:可以考虑多步容斥,或者二分答案。

求中位数:二分答案。\(<x\) 设为 -1, \(>=x\) 设为1,和为非负则true。
原理类似的还有求第 \(k\) 小/大。问题转化为二分数值 \(x\),求 \(\leq x\) 的数的个数,当个数 \(\geq k\) 即为 true。

难以求方案之类的时候,考虑单步容斥,多步容斥,增加状态维度,增加正反状态。(地震后的幻想乡)

关于多步容斥,可以求并集。求交集可以转化为补集的并集的补集,有可能会变得好写。

不好找答案的时候可以考虑枚举答案,从check下手。当然,可能可以二分答案(?)

HH的项链,没想到的树状数组做法。区间查询不同元素个数,可以离线询问。把原本不可前缀和相减变成可减的方法是:只考虑某个值最后出现的位置。

试试交换操作顺序是否会影响结果?

优化dp的时候,可以考虑在转移上节省,在状态上节省,在枚举顺序上节省

括号序列可以当成 1 -1 序列来处理啦...其实也属于一种所有前缀和要求为非负数。(Raney 引理)

求一个序列满足 \(0\leq a_1\leq a_2 \leq \cdots \leq a_n\leq m\) 可以转化成其差分数组 \(b\) 满足 \(\sum b_i \leq m\)

最小划分下降子序列数=最长上升子序列长度。dilworth 定理,好像可以一般化为DAG,但是我不会。

建图的优化:如果是区间到区间的点相连可以线段树优化建图。如果是某个集合的点两两相连可以建虚点。

多点 LCA,为 dfs 序最大和最小的两个点的 LCA 。深度最大的一对 LCA 在 最相邻 dfs 序节点对的 LCA 中。

\((x,y)\) 之间的切比雪夫距离等价点 \(((x+y)/2,(x−y)/2)\) 之间的曼哈顿距离;
\((x,y)\) 之间的曼哈顿距离距离等价点 \((x+y,x−y)\) 之间的曼哈顿距离。

偏序关系(可传递的某种关系)可以映射到 \(\text{DAG}\) 上。

查询区间xx问题,尝试做出前缀和,尝试化出对称不等式(二维偏序)解决(

有结合律考虑倍增/线段树/矩阵加速,有交换律(或者某关键字不同时的交换律)考虑排序操作后再看结合律之类的性质。

位运算,可以利用其不进位性质拆位。异或与不等式相关套在 01trie 上可以看看之前写的那道cf

加法运算对 max 运算有分配率,我超

某种排列问题()我莫名执念于对每个元素选定位置,其实也可以考虑如何插入这个元素。全排列问题也是一个道理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/740035.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

7.7-DPday1

动态规划理论基础什么是动态规划 动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的 在关于贪心…

gitlab私有仓库搭建

安全:关闭防火墙,selinux 1.安装GItlab所需的依赖包 yum install curl policycoreutils-python openssh-server postfix wget -y安装gitlab 获取gitlab源码包 选择各种yum源去安装 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.0.3-ce.0.el7.x86_64…

[LeetCode] 134. Gas Station

想到了提前判断和小于0的情况,懒得写,果然被阴间用例10万个加油站坑了。 class Solution:def canCompleteCircuit(self, gas: List[int], cost: List[int]) -> int:#1n = len(gas)if n ==1:if gas[0] >= cost[0]:return 0else:return -1#-1startpoint =[gas[x] - cost[…

算法金 | 推导式、生成器、向量化、map、filter、reduce、itertools,再见 for 循环

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」不要轻易使用 For 循环 For 循环,老铁们在编程中经常用到的一个基本结构,特别是在处理列表、字典这类数据结构时。但是,这东西真的是个双刃剑。虽然看起来挺直白,一…

(三)变分自动编码器

过去虽然没有细看,但印象里一直觉得变分自编码器(Variational Auto-Encoder,VAE)是个好东西。于是趁着最近看概率图模型的三分钟热度,我决定也争取把VAE搞懂。于是乎照样翻了网上很多资料,无一例外发现都很含糊,主要的感觉是公式写了一大通,还是迷迷糊糊的,最后好不容…

大气热力学(8)——热力学图的应用之一

本篇文章源自我在 2021 年暑假自学大气物理相关知识时手写的笔记,现转化为电子版本以作存档。相较于手写笔记,电子版的部分内容有补充和修改。笔记内容大部分为公式的推导过程。 目录8.1 复习斜 T-lnP 图上的几种线8.1.1 等温线和等压线8.1.2 干绝热线8.1.3 湿绝热线8.1.4 等…

(二)变分贝叶斯

变分 对于普通的函数f(x),我们可以认为f是一个关于x的一个实数算子,其作用是将实数x映射到实数f(x)。那么类比这种模式,假设存在函数算子F,它是关于f(x)的函数算子,可以将f(x)映射成实数F(f(x)) 。对于f(x)我们是通过改变x来求出f(x)的极值,而在变分中这个x会被替换成一个…

03-码出高效:Java开发手册.pdf

03-码出高效:Java开发手册.pdf 03-码出高效:Java开发手册.pdf ​​ ​​ ‍ ​​ ‍ ‍

Franka Emika Datasheet(技术参数)

任何人均可随时随地实现自动化。 Franka Emika 是德国慕尼黑的一家深科技公司,该公司致力于创造全新的机器人平台技术,提高性能,改善每个人的访问便捷 性,从而克服现代社会面临的最大难题之一,让整整一代人摆脱枯燥乏味、存在潜在危险且极其耗时的劳动和工作。为了实现高 …

Ubuntu 22.04搭建MC原版服务端

首先下载 JAVA 版服务器 https://www.minecraft.net/zh-hans/download/server服务器下载java 21。这里我看了需求,如果你开mc服务器从1.20.5(24w14a)开始,运行Minecraft的最低要求是Java 21,且操作系统要求为64位。 apt install openjdk-21-jdk 运行就行。java -Xmx1G -Xm…

小学期第一周(7.1-7.7)

7.1 周一 为啥被人学校都放假了我们还有小学期【微笑] 开玩笑其实我高兴得很,毕竟我是如此热爱学习 今天小学期一人分了四道题我把每道题都看了看答案最后选了四道代码比较少的,这样验收的时候还简单点 什么?问我为什么从网上 找答案不自己写?那我也得会写才行啊,我的基础…

大气热力学(7)——湿度参数

本篇文章源自我在 2021 年暑假自学大气物理相关知识时手写的笔记,现转化为电子版本以作存档。相较于手写笔记,电子版的部分内容有补充和修改。笔记内容大部分为公式的推导过程。 目录7.1 大气湿度的概念7.2 水汽压7.2.1 水汽压7.2.2 饱和水汽压7.2.3 饱和差7.3 混合比与比湿7…