Loading

摘要: 代码 #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; typedef unsigned int ui; #define rep(i, l, r) fo 阅读全文
posted @ 2025-08-27 11:45 lajishift 阅读(25) 评论(0) 推荐(0)
摘要: P4027 [NOI2007] 货币兑换 题意 你有一些钱,有两种金券(A, B)。 第 \(i\) 天,你可以如下操作: 按照当天价格卖出 A, B 金券各 \(k%\)。 按照当天价格花 \(k\) 元买金券,A, B 分别买到 \(p, q\) 个,满足 \(\frac p q = \text 阅读全文
posted @ 2026-01-07 14:52 lajishift 阅读(2) 评论(0) 推荐(0)
摘要: QOJ 4802 Ternary Search QOJ 4802 Ternary Search 题意 给你一个长度为 \(n\) 的序列 \(a\),对每一个前缀查询: 任意交换相邻两项,把序列变成单峰或单谷的最小操作次数。 \(n \le 2 \times 10 ^ 5, a_i \le 10 ^ 阅读全文
posted @ 2025-12-18 22:46 lajishift 阅读(37) 评论(0) 推荐(0)
摘要: 概述 虚树是针对一种特定的树上问题的做法。 虚树研究的问题中一般有 \(k\) 个特殊点,除此之外的点一般可以方便地合并考虑。 一个很经典的(也可能是主要的)用途是用来研究关键点之间的路径问题。 定义 虚树需要满足以下性质: 保留原树的祖先后代结构,对于均在虚树上出现的 \(u, v\),「虚树上 阅读全文
posted @ 2025-12-16 17:24 lajishift 阅读(8) 评论(0) 推荐(0)
摘要: 概述 Kruskal 重构树是基于 Kruskal 求最小生成树算法的。 将 Kruskal 过程中选出的边作为新点,连接两个连通块,将其点权设为边的边权,这就是 Kruskal 重构树建树过程。 易知, Kruskal 重构树有 \(2 \times n - 1\) 个点。 Kruskal 重构树 阅读全文
posted @ 2025-12-06 15:34 lajishift 阅读(21) 评论(1) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2025-12-02 15:32 lajishift 阅读(11) 评论(1) 推荐(0)
摘要: QOJ 5437 Graph Completing link 题意 给你一个 \(n\) 个点 \(m\) 条边的图,求多少种加边方案,使得该图变为一个边双联通图。必须保证该图始终为简单图,初始给出的图保证是简单图。 \(n \le 5000, m \le 10000\)。 思路 首先可以想到要边双 阅读全文
posted @ 2025-11-25 22:05 lajishift 阅读(12) 评论(0) 推荐(0)
摘要: 在最优解问题中,支配对指的是两个方案之间的偏序关系。 其思想为:如果方案 \(s_1\) 永远劣于 \(s_2\),则可以不考虑,以此减少方案数,达到减小复杂度的目的。 可以认为支配对就是调整法的一种。 如方案 \(s_1, s_2\): \(s_1\) 合法是 \(s_2\) 合法的充分条件。 \ 阅读全文
posted @ 2025-11-23 07:57 lajishift 阅读(14) 评论(0) 推荐(0)
摘要: 串串 原题:[CEOI 2010] pin 题意 给定 \(n\) 个长度为 4 的字符串,你需要找出有多少对字符串满足恰好 \(d\) 个对应位置的字符不同。 \(n \le 5 \times 10 ^ 4, d \le 4\)。 思路 前面忘了。 注意到恰好。 注意到容易钦定若干位置相同。 注意 阅读全文
posted @ 2025-11-22 22:34 lajishift 阅读(18) 评论(1) 推荐(1)
摘要: OJ 传送门 原题: QOJ 5500 题意 有 \(n\) 个屋子排成一列,每个屋子里一个人,每个屋子可以开酒吧。 每个人会去自己左右两侧最近的(分别)酒吧消费。 一个方案的价值为 \(\sum _ {酒吧} 来这个酒吧的人数 \times p_i\),其中 \(p_i\) 给定,求最大价值。 思 阅读全文
posted @ 2025-10-26 23:39 lajishift 阅读(18) 评论(0) 推荐(0)
摘要: 很拗口的名字,其情景是这样的: 我们有一个点 \(B(n,m)\),需要求原点 \(A\) 到这个点的路径条数(限制只能向右、上走)。 平凡的题目做法很简单,我们一共走 \(n+m\) 步,其中 \(n\) 步向右,方案数 \(\binom {n + m} n\)。 但是进阶版的题目会给出一些限制, 阅读全文
posted @ 2025-10-21 00:09 lajishift 阅读(19) 评论(0) 推荐(1)