04 2024 档案

摘要:01 背包的 trick。 Link. 做法 1 暴力背包。超时。 做法 2 一个显然的性质就是,按 ci 归类,先用价值大的。 如果无法更新背包,直接退出循环即可。 亲测能获得 85pts 的好成绩。 时间复杂度同暴力背包。(理论) 做法 3 如果你认真打 阅读全文
posted @ 2024-04-30 14:45 g1ove 阅读(23) 评论(0) 推荐(0) 编辑
摘要:学到了一类题的通用方法。 我们考虑位置贡献。令原来的数为 (A,B) ,新数为 C 。 有状态: (A,B),(B,A),(A,C),(C,A),(B,C),(C,B),(C,C) 转移是 \(\begin{bmatrix} 1 & n-2 & 0 & 0 & n-2 & 0 阅读全文
posted @ 2024-04-30 11:53 g1ove 阅读(9) 评论(0) 推荐(0) 编辑
摘要:这场 abc F、G 质量堪忧。怎么能扔板子上来呢? 板子:P4719 【模板】"动态 DP"&动态树分治 Solution 这种每次修改对后面询问有影响,又每次都要输出答案的,离线就基本做不了了,这时候就往动态算法想,其实做过几道 ddp 的题就看出来这是个板子。 由于题目中的式子性质优良,我们很 阅读全文
posted @ 2024-04-28 15:08 g1ove 阅读(28) 评论(0) 推荐(0) 编辑
摘要:Updata 7.10 文章重构。 参考了网上许多 blog 什么是期望 我们小学学过概率和平均数。 把事件 A 发生的概率表示为 P(A)。 把随机变量 X 的取值期望值记作 E(X)=iP(X=i)×i 简单点就是成立概率乘上成立贡献。 简单 阅读全文
posted @ 2024-04-26 11:10 g1ove 阅读(14) 评论(0) 推荐(0) 编辑
摘要:复健 SOSdp(sum over subsets dynamic programming)。 引入 令 F(x)=uxA(u) 其中 A 为给定数组,求出 x,F(x) 。 思路一 暴力枚举子集,时间复杂度 阅读全文
posted @ 2024-04-24 08:25 g1ove 阅读(143) 评论(0) 推荐(0) 编辑
摘要:被数论虐爆了(悲) 威尔逊定理 pprime,(p1)!1(modp) 为什么啊? 对于 2 很显然。 对于 p ,我们知道 inv(p1)=p1=1,然后 inv(1)=1 然后因为 \(p\in 阅读全文
posted @ 2024-04-22 21:50 g1ove 阅读(16) 评论(0) 推荐(0) 编辑
摘要:线段树做法,拿下你谷最劣解。 题意翻译很形象,就不说了。 思路 最大化最小值,我们很容易想到二分答案。很容易发现,答案具有单调性。 我们二分一个答案 x ,强制每次使用的区间长度都不小于 x ,然后判断可行性。 现在问题转化为怎么判断一个答案 x 是否可行。 我们发现,如果枚 阅读全文
posted @ 2024-04-20 10:18 g1ove 阅读(10) 评论(0) 推荐(0) 编辑
摘要:天才算法! 国外叫 Aliens trick (外星人 trick) ,真的太强了。 其实是因为 IOI2016 Aliens 这道题考了这个算法才开始普及。 解决问题 wqs 二分一般用来解决如下问题。 给定 n 个数,求强制选 m 个的价值最大。 如果不是强制选 m 个, 阅读全文
posted @ 2024-04-18 21:01 g1ove 阅读(46) 评论(0) 推荐(1) 编辑
摘要:我要急眼了,看了一个破博客写错的浪费我两个小时 Task 1 先讲讲最简单的类型。 通常,都是一类类似 fi=minj=1iw(i,j) 决策单调,字面意思,就是每次取的点都是右移的。 先声明一下,四边形不等式是决策单调性的充分不必要条件。 只证明充分条件。 令 w阅读全文
posted @ 2024-04-16 10:51 g1ove 阅读(24) 评论(0) 推荐(0) 编辑
摘要:我都自闭了,赛后一分钟调出来。 题意 给定一个长度为 n 的序列,现在从原序列中取一个子序列,使得子序列中元素的最小公倍数为 m。求有多少个子序列满足条件,mod9982443531n2×105 \(1\le A_i,m\le 1 阅读全文
posted @ 2024-04-13 22:28 g1ove 阅读(95) 评论(0) 推荐(0) 编辑
摘要:概念 什么是虚树? 通俗的来说,虚树是原树的一些点集组成的树,这些点是一些关键点。 在树形 dp 遍历中,如果每次都遍历整棵树会很浪费时间,这时候虚树就派上用场了。 简介 虚树的节点有哪些? 在 dp 中,我们建立虚树包含着关键节点和关键节点的任意二者的 lca 。 到这里,你 阅读全文
posted @ 2024-04-12 19:49 g1ove 阅读(18) 评论(0) 推荐(0) 编辑
摘要:来介绍一下整体二分。 整体二分需要满足一下条件: 问题之间独立 可以离线 具有单调性答案 贡献可合并 我们通过几个例子,通俗的理解这个算法。 问题 1 给定 n 个数,求第 k 小。 我们思考这个问题怎么做。 不用排序,显然,答案具有单调性。 那么,我们可以二分一个答案,判断 阅读全文
posted @ 2024-04-12 11:22 g1ove 阅读(14) 评论(0) 推荐(0) 编辑
摘要:点分树是一个处理树上距离的优秀 DS。 它可以快速处理关于一些树上距离问题。 引入 我们知道,我们在做点分治的时候,每次找到中心,然后将重心所有的相连的边断开,处理子问题。时间复杂度是 O(nlogn) 的。 但是有些题目让我们搞强制在线,又要求距离为 k 的所有和,这时候点分树 阅读全文
posted @ 2024-04-10 19:49 g1ove 阅读(29) 评论(0) 推荐(0) 编辑
摘要:洛谷题解区那个题解马蜂让我读到自闭,这篇文章,详细的讲一讲这个算法。 一种基于预处理的快速 LCA 算法。 预处理需要 O(nlogn) 查询 ,O(1),空间复杂度 O(nlogn)。 根据 dfn 序的性质,若 uv 的祖先,那么 $dfn_ 阅读全文
posted @ 2024-04-10 15:09 g1ove 阅读(65) 评论(0) 推荐(0) 编辑
摘要:引入 现在你有很多棵二叉树。 二叉树的节点总和是 n 。 现在,你要把它们合并。 怎么做呢? 实际上,写的好是可以 O(n) 完成的。 前置题目 1 给出 2 棵二叉树,合并两棵二叉树。 怎么做呢? 很容易的暴力,遍历每个点,合并即可。 合并我们进行以下分类讨论: 如果现在 阅读全文
posted @ 2024-04-08 16:57 g1ove 阅读(12) 评论(0) 推荐(0) 编辑
摘要:很简单的一个小 trick 。就看能不能想出来。 思考 我们学过 CDQ 分治。 CDQ 分治的思想是把时间切割,询问截断点后面的问题,预处理截断点前面的贡献。 这是把问题和修改放在一起的。 那么,假设修改很难撤销怎么办? 这时候就可以用线段树分治做到只增不删。有点类似回滚莫队。 算法 直接给时间轴 阅读全文
posted @ 2024-04-07 21:20 g1ove 阅读(15) 评论(0) 推荐(0) 编辑
摘要:笔者很菜,只会最简单的树状数组套权值线段树。 不是,这玩意不就套娃吗,真 ex 啊 题目简要: 求 x 排名 求排名为 x 的数 求 x 前驱后继 我们学了权值动态开点线段树就知道这些问题乱写就行了。 但是套上 [l,r] 区间呢,无修呢? 我们会主席树这些乱写就行了 阅读全文
posted @ 2024-04-07 11:18 g1ove 阅读(12) 评论(0) 推荐(0) 编辑
摘要:前言 大家好啊,今天讲的是 LCT (李超 Tree)(bushi 错了错了。这两不是一个东西。 概念 李超树能干什么。 插入一条直线/线段 单点查询当前点的峰值 (最大最小均可) 你会说: OI 中有什么是和斜率相关的吗? 有,那就是斜率优化。 关于斜率优化可以看这个。 你会说: 你说的对,静态的 阅读全文
posted @ 2024-04-06 19:09 g1ove 阅读(18) 评论(1) 推荐(0) 编辑
摘要:这是我在这次 LG 月赛中领悟到的。 关于 T4 T4 让我们构造一个东西,在 mod998244353 的情况下。 然后你就很像把 0 给搞进去,发现不合理。 这时候怎么办? 可以把 0 变成 998244353 !这样就行了。 很厉害,给我上了一课。 关于 T 阅读全文
posted @ 2024-04-06 18:47 g1ove 阅读(14) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示