上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 26 下一页
摘要: \(\text{Problem}\) 有一个有向完全图,所有的 \(u\) 到 \(v\) 的边权为 \(a_u\) 修改 \(m\) 此有向边边权,求最终图上两两点对的最短路之和 \(1\le n \le 10^5,1\le m \le 3000,1\le a_u \le 10^6\) \(\te 阅读全文
posted @ 2021-11-13 14:19 leiyuanze 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 简要题解 这套题比较 \(H_2O\) 建议题目背景美文共赏 \(\text{T1}\) 显然一个 \(O(n^3)\) 不能过的 \(dp\) 然而过了?! 用心在该卡时间的地方卡一卡 \(\text{Code}\) #include <cstdio> #include <algorithm> # 阅读全文
posted @ 2021-11-10 17:08 leiyuanze 阅读(65) 评论(0) 推荐(0) 编辑
摘要: \(\text{Solution}\) 树上主席树板子 \(\text{Code}\) #include <cstdio> #include <algorithm> #define re register using namespace std; const int N = 1e5 + 5; int 阅读全文
posted @ 2021-11-09 21:19 leiyuanze 阅读(12) 评论(0) 推荐(0) 编辑
摘要: \(\text{Solution}\) 又忘了线段树分治!! 显然维护一个上凸包 发现加点和删点可以变成限制存在时间 然后把点放在线段树上,线段树下标表示时间 加点时先把点按横坐标排序,然后就可以单调队列维护每个线段树节点的上凸包 询问再按斜率排序,这样可以弹点而不需要二分了 \(O(n \log 阅读全文
posted @ 2021-11-05 13:48 leiyuanze 阅读(25) 评论(0) 推荐(0) 编辑
摘要: \(\text{Solution}\) 很容易想到 \(dp\) \[ f_i = f_j + (h_i-h_j)^2 + \sum_{k=i+1}^{j-1}w_k \] 令 \(s_i = \sum_{k=1}^i w_i\) 则 \[ f_i = s_{i-1} + h_i^2 -2h_j \ 阅读全文
posted @ 2021-11-05 13:28 leiyuanze 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 简陋的拉格朗日插值法学习过程 题目 已知 $n$ 个点,确定了一个 $n-1$ 次多项式 $f$,求 $f(x)$ 拉格朗日插值法 $$ f(x)=\sum_{i=1}^ny_i\prod_{j \ne i}\frac{x-x_j}{x_i-x_j} $$ 即可 $O(n^2)$ 计算 模板 直接套 阅读全文
posted @ 2021-10-29 13:25 leiyuanze 阅读(219) 评论(1) 推荐(0) 编辑
摘要: #include <cstdio> #include <iostream> #define re register using namespace std; typedef long long LL; const int N = 3e5 + 5, P = 998244353, g = 3; int 阅读全文
posted @ 2021-10-22 20:55 leiyuanze 阅读(41) 评论(0) 推荐(0) 编辑
摘要: \(\text{Solution}\) 发现题目就是求 \(\sum[\prod_{i=1}^k x_i \le n]\) \(k \le 10^9\) 太可怕了 然而发现如果限定 \(x_i > 1\) 那么 \(i \le \log n\) 于是我们可以愉快地统计了 设 \(f_i(n)\) 表 阅读全文
posted @ 2021-10-15 20:52 leiyuanze 阅读(26) 评论(0) 推荐(0) 编辑
摘要: \(\text{Problem}\) 大意就是优化这样一个 \(dp\) \(f_{i}=\max f[j]+(i-j) \cdot (i-j-1)\) \(L[i] \le j < i,n\le 5 \times 10^6\) \(L[i]\) 给出且满足 \(L[x] \le L[x+1]\) 阅读全文
posted @ 2021-10-15 20:35 leiyuanze 阅读(32) 评论(0) 推荐(0) 编辑
摘要: \(\text{Solution}\) 第一部分参考 \(\text{LNOI2014 LCA}\) 在 \(k=1\) 时完全可行 因为对于每个 \(i\), 根到 \(y\) 的路径之和恰好是 \(dep[lca]\) 但当 \(k>1\) 呢? 此时我们要想办法弄出一个加数的方式,使根到 \( 阅读全文
posted @ 2021-10-08 13:17 leiyuanze 阅读(38) 评论(0) 推荐(0) 编辑
摘要: \(\text{Solution}\) 发现一个事情 把 \(i\) 到根的路径都加 \(1\),然后让 \(z\) 往上跳,跳到第一个加了数的点就是他们的 \(lca\) 废话 如果把 \(z\) 到根的值加起来,那么就是 \(\text{dep[lca]}\) 废话 如果把所有的 \(i\) 到 阅读全文
posted @ 2021-10-08 13:06 leiyuanze 阅读(29) 评论(0) 推荐(0) 编辑
摘要: \(\text{Problem}\) 维护一个序列 支持插入一个数,区间加,询问区间平方和 \(\text{Solution}\) 平衡树很模板的题了 考场打 \(fhq-treap\) 毫无悬念过了 读入有负数,快读注意! 打完之后发现有模数? 狂改代码,无脑乱加模,代码直接丑了 \(\text{ 阅读全文
posted @ 2021-10-06 14:25 leiyuanze 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 权值线段树套线段树模板 区间每个可重集插入一个数 把权值放外边,内部维护区间 在权值线段树上二分,内部查询数量 \(\text{Code}\) #include <cstdio> #include <iostream> #define LL long long using namespace std 阅读全文
posted @ 2021-10-05 20:28 leiyuanze 阅读(40) 评论(0) 推荐(0) 编辑
摘要: \(\text{Problem}\) 给出一个字符串,求经过重新排列的另一个字典序最小的字符串,满足:相同的位置上 原串与结果串的字符不同。不存在则输出空串。 \(\text{Solution}\) 考虑从第一位开始枚举匹配 如果这位匹配(即两个都不相同)某个字符后可以判断出剩下的字符能否合法匹配 阅读全文
posted @ 2021-10-05 16:30 leiyuanze 阅读(30) 评论(0) 推荐(0) 编辑
摘要: #【模板】笛卡尔树 \(\text{Code}\) #include <cstdio> #include <iostream> #define re register #define LL long long using namespace std; const int N = 1e7 + 5; i 阅读全文
posted @ 2021-09-10 13:13 leiyuanze 阅读(42) 评论(0) 推荐(2) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 26 下一页