11 2020 档案

摘要:题目大意 给出一棵 \(n\) 个节点的树,删去其中两条边 使得分出的三个子树大小中最大与最小的差最小 分析 先一边 \(dfs\) 预处理出以 $1$ 为根每个点的 \(size\) 然后按 \(dfs\) 的顺序枚举一个点,表示删去这个点返回父亲的边 记这个点为 \(x\) 分类讨论 第一种情况 阅读全文
posted @ 2020-11-30 17:08 leiyuanze 阅读(99) 评论(0) 推荐(0)
摘要:总结与反思 很不幸,估分 $170$,可惜 \(T2\) 暴力 $50pts$ 全掉了 \(T1\) 结论题,如果想到了,\(O(n)\) 过,只有十几行代码 感觉不好想,不过还是 \(A\) 了 \(T2\) 差不多想到正解,但是没弄出来 于是打了 $50$ 分暴力 但是,因为想时有分类讨论,打时 阅读全文
posted @ 2020-11-30 16:01 leiyuanze 阅读(105) 评论(0) 推荐(0)
摘要:题目 \(m\) 次区间翻转操作,$1 \leq n,m \leq 100000$ 分析 平衡树模板 于是放上 \(fhq-treap\) 的板子 \(Code\) #include<cstdio> #include<algorithm> #include<ctime> using namespac 阅读全文
posted @ 2020-11-30 12:49 leiyuanze 阅读(151) 评论(0) 推荐(0)
摘要:题目 你有一棵 \(n\) 节点的树 ,回答 \(m\) 个询问,每次询问给你两个整数 \(l,r\) ,问存在多少个整数 \(k\) 使得从 \(l\) 沿着 \(l \to r\) 的简单路径走 \(k\) 步恰好到达 \(k\) 。 分析 考虑离线后按链记贡献 从 \(l\) 到 \(lca( 阅读全文
posted @ 2020-11-29 18:14 leiyuanze 阅读(254) 评论(0) 推荐(1)
摘要:题目 数轴上有很多单位线段,一开始时所有单位线段的权值都是 $1$。有两种操作,第一种操作将某一区间内的单位线段权值乘以 \(w\),第二种操作将某一区间内的单位线段权值取 \(w\) 次幂。并且你还需要回答一些询问,每个询问需要求出某一区间的单位线段权值之积。由于答案可能很大,你只需要求出答案 \ 阅读全文
posted @ 2020-11-27 19:25 leiyuanze 阅读(237) 评论(0) 推荐(0)
摘要:题目大意 给出 $n,W,ct$ 表示有 $ct$ 个 $n$ 的约数,每个大小为 $d_i$ 且有 $a_i$ 个相同的 现将其放入 $W$ 大的空间中,问最多能装满多少空间 对于 $100%$ 的数据,$1\leq n\leq 10^4,1\leq a_i,W\leq 10^{15}$ 分析 显 阅读全文
posted @ 2020-11-25 11:48 leiyuanze 阅读(249) 评论(0) 推荐(0)
摘要:题目大意 对于 \(m = [1,\lfloor \frac n 2 \rfloor]\) 要求在一个序列中恰好选出 \(m\) 个不相邻的数使得权值和最大 其中 $1$ 的左边是 \(n\),\(n\) 的右边是 $1$ 分析 比较经典的贪心 做法 链表记录一个点的前驱后继 然后每次选权值最大的点 阅读全文
posted @ 2020-11-22 11:08 leiyuanze 阅读(80) 评论(0) 推荐(0)
摘要:题目 \(\texttt{[USACO06NOV] Round Numbers S}\) 分析 数位 \(dp\) 入门题 一般我们需要当前位置 \(pos\),有无前导零 \(lead\),高位标记 \(limit\) 然后就依题弄 \(Code\) #include<cstdio> #inclu 阅读全文
posted @ 2020-11-20 13:30 leiyuanze 阅读(89) 评论(0) 推荐(0)
摘要:题目链接 无聊的序列 题目大意 给某个区间加上等差数列 解析 给原序列差分 然后加的操作只需要 在 \(l\) 出加上 \(k\) 在 \([l+1,r]\) 处加上 \(d\) 在 \(r+1\) 出加上 \(-[k+d*(r-l)]\) 消去影响 查询及查 \([1,p]\) 的和 \(Code 阅读全文
posted @ 2020-11-19 13:26 leiyuanze 阅读(122) 评论(0) 推荐(0)
摘要:题目 见洛谷 \(Code\) #include<cstdio> #include<iostream> using namespace std; const int N = 1e5 + 5; int n , m , fa[N]; struct Lheap{ int ls , rs , val , b 阅读全文
posted @ 2020-11-17 12:56 leiyuanze 阅读(107) 评论(0) 推荐(0)
摘要:题目描述 如题,主席树求区间内不同数字的个数 \(Code\) #include<cstdio> #include<cstring> using namespace std; const int N = 1e6 + 5; int n , m , a[N] , la[N] , rt[N] , size 阅读全文
posted @ 2020-11-12 13:19 leiyuanze 阅读(119) 评论(0) 推荐(0)
摘要:显然,下面的代码是求 \([l..r]\) 中不同颜色的种数 其中 \(block = \frac{n}{\sqrt{\frac 2 3 m}}\) 且奇数块中按 \(a.r > b.r\) 排(首块为偶数块) \(Code\) #include<cstdio> #include<cmath> #i 阅读全文
posted @ 2020-11-12 12:33 leiyuanze 阅读(79) 评论(0) 推荐(0)
摘要:题目 [\(SCOI2016\)]美味 分析 我们需要 \([l,r]\) 中的 \(a_i + x\) 满足它异或 \(b\) 最大 那么我们贪心的考虑 \(ans = a_i + x\) 对于 \(b\) 的第 \(i\),如果是 $1$,那么我们希望能找到一个 \(a_i + x\) 使得它的 阅读全文
posted @ 2020-11-06 20:32 leiyuanze 阅读(110) 评论(0) 推荐(0)
摘要:题目 给定一棵 \(n\) 个节点的树,根节点为 1。每个节点上有一个颜色 \(c_i\)。 \(m\) 次操作。操作有一种:\(u\) \(k:\) 询问在以 \(u\) 为根的子树中,出现次数 \(\ge k\) 的颜色有多少种。 $2 \le n \le 105 , 1 \le m \le 1 阅读全文
posted @ 2020-11-05 19:42 leiyuanze 阅读(62) 评论(0) 推荐(0)
摘要:题目 给定一棵以 1 为根的树,每个节点有颜色。问以每个节点为根的子树中,出现次数最多的颜色的编号之和。(次数最多的可能有多个颜色) 分析 考虑暴力做 于是为了优化复杂度,使用树上启发式合并(静态链分治) 对于一个节点的子树,除重儿子外,遍历完都要清空数据 遍历完重儿子不清空数据,直接和父亲节点及其 阅读全文
posted @ 2020-11-02 13:19 leiyuanze 阅读(56) 评论(0) 推荐(0)