![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
没分类
杂七杂八
IIIIIIV
这个作者很懒,什么都没留下…
展开
-
CodeForces C. Basketball Exercise
简单dp#include <bits/stdc++.h>using namespace std;typedef long long LL; const int N = 1e5 + 7;LL a[N], b[N], dp[2][N];int main(){ int n; std::cin >> n; for (int i = 1; i <= n; i...原创 2020-02-11 23:29:18 · 177 阅读 · 0 评论 -
牛客寒假集训2 E
添加链接描述简单思维题:题中出现了根号 就想到了平方, 把登时左右平方。得到 i + j + 2sqrt(i * j) = k; 即2 * sqrt(ij) = k - i - j;因为 i,j, k 为正整数 所以2sqrt(ij) 也是正整数, 所以i*j为一个平方数接下来...原创 2020-02-10 11:59:36 · 100 阅读 · 0 评论 -
可持久化数组
洛谷p3919可持久化数组可持久化数组是一种可以回退,访问之前版本的数组是一些其他可持久化数据结构的基石(例如可持久化并查集)#include <stdio.h>#include <algorithm>using namespace std;const int N = 1e6 + 7;int root[N], cnt, arr[N];struct Node...原创 2020-02-05 14:24:15 · 228 阅读 · 0 评论 -
线段树建图+spfa
CodeForces-787D直接暴力的话,边数太多,spfa 会炸掉.由于涉及到区间操作,不妨利用线段树建图,之后再spfa即可.线段树建图需建两棵树 – 出度树 和 入度树.#include <stdio.h>#include <vector>#include <queue>#define ls rt << 1#define rs...原创 2020-02-05 14:19:37 · 102 阅读 · 0 评论 -
莫队 D. Little Elephant and Array
莫队是什么:莫队是由莫涛大神提出的,一种玄学毒瘤暴力骗分区间操 作算法,它以简短的框架、简单易记的板子和优秀的复杂 度闻名于世莫队算法 前置技能:1. 分块2. STL中的sort3. 数值离散化4. D. Little Elephant and Array题意 给你一个数组 和一些区间 找出这些区间中某个数的个数恰好为该数的数值思路:莫队+离散化在这里插入代码片...原创 2020-02-05 12:24:26 · 140 阅读 · 0 评论 -
分块简单了解
分块的基本思想是通过适当的划分,预处理一部分信息并保存下来,用空间换取时间,达到时同平衡。分块和线段树的区别在于,分块算法可以维护一些线段树维护不了的东西;例如单调队列等,线段树能维护的东西必须能够进行信息合并,而分块则不需要。不过,它们也有共同点,分块和线段树一样,分块需要支持类似标记合并的东西。 简单来说,分块算法就是优化过后的暴力。简单,直观,注意细节。Poj3468 htt...原创 2020-01-05 09:20:19 · 250 阅读 · 0 评论 -
可持久化并查集
可持久化数组可持久化数组是一种可以回退,访问之前版本的数组是一些其他可持久化数据结构的基石例如可持久化并查集)与普通并查集不同的是 这里用到了 按秩合并不了解可以百度一下添加链接描述#include <stdio.h>const int N = 2e5 + 7;int rootfa[N], rootdep[N], cnt, tot;struct Node { ...原创 2019-12-28 22:15:52 · 98 阅读 · 0 评论 -
扫描线
洛谷5490与普通线段树不同点:如果正常的线段树区间是1~5 子节点:1~3 4~5但是这里就会少算3~4区间里的东西所以是1~3 3~5然后叶子结点的l、r : l+1 == r添加链接描述具体看代码 差不多都有解释不懂的地方可以@一下#include <stdio.h>#include <string.h>#include <vector...原创 2019-12-28 22:00:50 · 155 阅读 · 1 评论 -
初次理解A*stra
A* star 算法第K短路问题链接A* star 特征:点数特别多。 此算法前置技能: Dijkstra 最短路该算法与Dijkstra算法不同:Dijkstra按照dist[s]排序,而该算法按照dist[s] + f(s) 排序。f(s) 为估价函数,只要 f(s) <= g(s) (g(s)为真实距离 ,即从s到目标点的真实距离), 就可以保证, 当某个状态s,第一...原创 2019-11-14 21:24:53 · 172 阅读 · 0 评论 -
acwing114.国王游戏
高精度乘除法的应用添加链接描述高精度乘法vector<int> mul(vector<int> a, int b) { vector<int> c; int t = 0; for (int i = 0; i < a.size(); i ++) { t += a[i] * b; c....原创 2019-11-10 09:15:33 · 131 阅读 · 0 评论