![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
启发合并
文章平均质量分 66
ccsu_zhaobo
这个作者很懒,什么都没留下…
展开
-
数据结构专题1.0
文章目录数据结构专题其它数据结构st表单调栈滑动窗口笛卡尔树Dsu on the tree并查集带权并查集扩展域并查集可持久化并查集可撤销并查集线段树普通线段树兔队线段树树链剖分线段树合并线段树分治字典树异或最小生成树kd_tree可持久化数据结构可持久化线段树树上可持久化线段树分治点分治点分树数据结构专题其它数据结构st表模板:ll ans[N], maxn[N][20], minn[N]211[20], Log[N];void init(){ Log[1] = 0;//预处理log函数原创 2021-05-31 15:29:27 · 170 阅读 · 0 评论 -
Codeforces Round #695
Codeforces Round #695 (Div. 2)B. Hills And Valley题解:模拟改变每个数, 对于a[i]a[i]a[i]计算 变成 a[i−1]a[i - 1]a[i−1]的贡献, 和 a[i+1]a[i + 1]a[i+1]的贡献,枚举每个数, 最后取最优的就好了。#include<bits/stdc++.h>using namespace std;const int N = 3e5 + 7;int a[N], n;int cal(int pos原创 2021-01-12 21:52:32 · 99 阅读 · 0 评论 -
武汉大学2020年新生程序设计竞赛
武汉大学2020年新生程序设计竞赛E 仓鼠与珂朵莉主席树 + 启发式合并思想题意:给你一个长度为n的数组, 每次操作选择一个区间 [l,r][l, r][l,r] 然后问 选择一个数 kkk 然就出 kkk 再这个区间的次数的乘积。题解:如果给你一个区间[l,r][l, r][l,r] 对于暴力的求法一般是枚举每个数, 再去查找这个数出现了几次,然后算出最大的贡献。这样对于每次询问都是 o(n)o(n)o(n) 的复杂度。如果我们每次只找 出现一次 且最大的数, 出现两次且最大的数, 出现三原创 2020-11-23 13:13:30 · 827 阅读 · 0 评论 -
AtCoder Beginner Contest 183
AtCoder Beginner Contest 183E - Queen on Grid题意:再一个矩阵中从1,号点到(n,m)(n, m)(n,m)号点你的总共步数。题解:前缀和优化dp 记得dp从(1,1)(1, 1)(1,1)赋值, 先把三维的dp先出来然后看看怎么用前缀和优化代码:#include<bits/stdc++.h>using namespace std;const int N = 2007;typedef long long ll;ll dp[N][原创 2020-11-16 16:27:30 · 138 阅读 · 0 评论