上一页 1 2 3 4 5 6 ··· 8 下一页
摘要: 什么是矢?这就是矢 Easy problem I HDU - 7284 思路 没有任何思维,如果你想简单点做这个题,那么你还是止步吧,这个题目直接用最简单的思路,分类讨论,按照绝对值内正负分别建立线段树,由于 x 不减,所以从一个树跳到另一个树最多一次,总时间复杂度 \(O((n + m)logn)\) 由于思路太短了 阅读全文
posted @ 2025-08-13 16:16 yabnto 阅读(40) 评论(0) 推荐(0)
摘要: Minimum OR Path 由于是位运算,我们最常见的思路就是从高到低枚举答案位(01 trie),在这题中,枚举答案可以限制 A 的选法,限制后用那些可用的 A 判断是否可以到达 N 即可(将 \(i\) 到 \(i + A_i - 1\) 视做线段,进行全覆盖),注意在一开始要将限制放开,然 阅读全文
posted @ 2025-07-23 22:16 yabnto 阅读(19) 评论(0) 推荐(0)
摘要: Restore Permutation 这是一个思维题,注意到 1 是不会被任何数产生贡献的,那么对于最后一个 0 必然是 1,当我们去掉 1 对于往后的所有贡献时,2 就必然不会被任何数产生贡献,因此最后一个 0 必然是 2 以此类推即可 Count the Trains 一开始想的是线段树,但是 阅读全文
posted @ 2025-07-23 22:01 yabnto 阅读(9) 评论(0) 推荐(0)
摘要: CF1638E Colorful Operations 从这个题目开始,提取关键词:颜色、操作序列,我们很快就能想到建立颜色个数个线段树,但当颜色个数比较大时,我们不可能建立那么多线段树,考虑到区间覆盖,我们可以思考的是,是否可以用一个规则来概括整个区间,那么在这里,我们就认为整个区间都是一个颜色。 阅读全文
posted @ 2025-07-23 20:58 yabnto 阅读(15) 评论(0) 推荐(0)
摘要: A. LIS 考虑每个点如何产生贡献(对于多个区间的总和且与节点有关的问题,我们可以思考,每个点如何产生贡献): 当它作为一个可以被转移的点时 当它作为数列开头时 第二个很好处理,我们看第一个如何做,考虑到题目描述中讲到是第一个最小的(题目描述如下) 对于 \(i < j \le R\),选取最小的 阅读全文
posted @ 2025-07-22 21:48 yabnto 阅读(29) 评论(0) 推荐(0)
摘要: 开个坑 不难很矢 感觉很吃剪剪枝 P3710 方方方的数据结构 为了不写分块新学一个数据结构不亏 code #include <iostream> #include <algorithm> #define int long long using namespace std; const int Ma 阅读全文
posted @ 2025-03-21 12:33 yabnto 阅读(35) 评论(0) 推荐(0)
摘要: #include <iostream> #include <algorithm> using namespace std; const int MaxN = 1e5 + 10; struct Node { int ch[2], fa, w, x, tag; } a[MaxN]; int n, m; 阅读全文
posted @ 2025-03-08 17:39 yabnto 阅读(15) 评论(1) 推荐(0)
摘要: 维什戴尔本色出演 阅读全文
posted @ 2025-02-25 14:38 yabnto 阅读(58) 评论(0) 推荐(0)
摘要: 首先得承认伊德利拉美貌盖世无双将数列改成数后处理起来更舒服 什么是平衡树 更广泛的定义:左右子树高度不超过 1 的 如果将这东西和二叉搜索树结合,便是平衡树搜索树 平衡树分类: treap 随机 splay 贪心 fhq 合并 分裂 fhq 实现 合并 给出两个树,根分别为 a、b,如果我们将 a 阅读全文
posted @ 2025-02-22 14:49 yabnto 阅读(45) 评论(0) 推荐(0)
摘要: 集合 考虑枚举子集和,统计有多少个子集的和为当前枚举的子集和,然后我们记个结论:\(x^y=x^{y \mod (p - 1)}\),然后就过了 P3488 一眼二分图(网络流启动),但是考虑到图很大,所以我们考虑直接判断是否是二分图,考虑一个区间,如果总数比这个区间所能承载的人都要大,那么肯定会寄 阅读全文
posted @ 2024-09-24 15:11 yabnto 阅读(44) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 ··· 8 下一页