上一页 1 2 3 4 5 6 7 8 9 10 ··· 14 下一页
摘要: #include <iostream> #include <algorithm> #include <cstdio> using namespace std; const int N = 2e5 * 20; int a[N], b[N], root[N]; struct President_Tree 阅读全文
posted @ 2021-04-26 21:27 u_yan 阅读(32) 评论(0) 推荐(0)
摘要: 原题链接 题意:就是给了一棵树,然后求任意两个点之间的距离异或和最大值是多少。 题解:很显然的是,随便定义数根,然后就是发现,如果计算 \(u\) 和 \(v\) 的边权异或和,那么就是可以是计算出 \(u->root\) 和 \(v->root\),因为如果重叠的话,\(lca->root \op 阅读全文
posted @ 2021-04-26 16:01 u_yan 阅读(60) 评论(0) 推荐(0)
摘要: 原题链接 题意:线段树经典问题,多组询问,问区间内,最大连续字段和。 题解:难的地方在于询问时候的处理,就是返回的是一个结构体,然后里面有 \(Lmax\) 即前缀最大连续子段和, \(Rmax\) 后缀最大连续子段和还有 \(datamax\) 即最大连续子段和,还有 \(sum\) 即区间内的和 阅读全文
posted @ 2021-04-26 11:18 u_yan 阅读(56) 评论(0) 推荐(0)
摘要: 原题链接 题意:就是多组询问,和多组操作,操作只有一种,就是在 \(l\) 到 \(r\) 加上新的地雷,询问是问在 \(l\) 到 \(r\) 一共有多少种地雷。 题解:这题应该是数据结构的一个经典套路,就是记录 \(l\) 和 \(r\) 的位置,在单点 \(l\) 和 \(r\) 上 \(a_ 阅读全文
posted @ 2021-04-23 14:49 u_yan 阅读(45) 评论(0) 推荐(0)
摘要: 原题链接 题解:二维树状数组,第一次遇见,就是快速的计算出前缀和。 代码: #include <cstdio> #include <iostream> #include <queue> #include <cstring> #include <vector> #include <algorithm> 阅读全文
posted @ 2021-04-23 13:41 u_yan 阅读(39) 评论(0) 推荐(0)
摘要: const ll N = 1333; int n; struct BIT { int tag[MAXN], t[MAXN], Tag; void reset() { ++Tag; } void add(int k, int v) { while (k <= n) { if (tag[k] != Ta 阅读全文
posted @ 2021-04-23 13:38 u_yan 阅读(38) 评论(0) 推荐(0)
摘要: 原题链接 题解:手推一下就知道了是要维护一个平方和的序列,然后就大力码码码。 代码: #include <cstdio> #include <iostream> #include <queue> #include <cstring> #include <vector> #include <algor 阅读全文
posted @ 2021-04-23 11:19 u_yan 阅读(56) 评论(0) 推荐(0)
摘要: #include<iostream> #include<cstdio> #include<cmath> #include <cstring> #include <queue> #include <stack> #include <set> #include <map> #include <vecto 阅读全文
posted @ 2021-04-22 17:50 u_yan 阅读(23) 评论(0) 推荐(0)
摘要: 原题链接 题意:给出 \(n <= 1e5\) 个网格图点位置,然后让求所有点连起来的最小花费,即特殊的最小生成树,两个点之间相连的花费是 \(min(|x_a - x_b|, |y_a - y_b|)\) 题解:好像和之前做过一道dij的cf题类似。首先 \(n^2\) 建边不可取,那就是先按横坐 阅读全文
posted @ 2021-04-22 12:06 u_yan 阅读(62) 评论(0) 推荐(0)
摘要: 原题链接 题意和思路:挺有意思的一道题,就是两个操作,第一个操作是在 \(l\) 到 \(r\) 的区间上加上首项为 \(k\),公比为 \(d\) 的等差序列。第二个操作是询问第 \(x\) 个数是多少。其实就是区间修改 \(+\) 区间查询,操作一就是在 \(l\) 上加上 \(k\),然后在 阅读全文
posted @ 2021-04-22 10:35 u_yan 阅读(73) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 10 ··· 14 下一页