模板
文章平均质量分 92
Leo Bliss
尊重每一个参与你生命中的人。
展开
-
用不同的姿势求逆序对(复习篇)
用不同的姿势求逆序对(复习篇)文章目录用不同的姿势求逆序对(复习篇)前言讲解归并排序树状数组线段树题目思路代码归并排序求逆序对树状数组求逆序对线段树求逆序对历届试题 小朋友排队解题代码前言最近忙于小项目,感觉很久没刷题了!今天在蓝桥上做了一个逆序对的题目(小朋友排队 ),之前只用过归并排序求解这类问题。现在以现在的知识水平,新加了两种解题姿势。目前我比较喜欢以多种姿势来解一道题,因...原创 2020-05-05 14:39:00 · 566 阅读 · 0 评论 -
三分法+秦九昭算法
三分法知识点:三分法秦九昭算法三分法模板0x00 题目:洛谷p3382:https://www.luogu.com.cn/problem/P33820x01 三分法问题:值序列构成的图像具有凸性或凹性时 求解最值解释:在[l,r]区间中找一个值x,使得f(x) = max。可以用三分法来求解这个x。基本思想是:将[l,r]区间分成三段不断逼近。区间分成三段所以需要...原创 2020-04-02 23:05:57 · 411 阅读 · 0 评论 -
树的重心
树的重心说明:下面的定义等都是按照个人的理解所表述的,如有错误欢迎批评指出。1.定义:去掉该节点,最大的连通块(子树)的节点数目最少,则该节点点称作该树的重心。2.性质:去掉一个重心后,生成的每个连通块的节点数 <= 总节点数/2。重心可能不止一个,一棵树最多有两个重心,且相邻。树中所有点到重心的距离和最小。两棵树通过一条边相连,新树的重心一定在原来两棵树重心的连线上(...原创 2020-03-01 12:59:44 · 261 阅读 · 0 评论 -
堆(模板)
小顶堆:根节点比左右孩子都小大顶堆:根节点比左右儿子都大小顶堆代码:#include <bits/stdc++.h>using namespace std;const int N = 1e6+5;template <typename T>class Heap{private: int heap[N]; int sz; //heap si...原创 2019-10-04 23:47:03 · 134 阅读 · 0 评论 -
P3373 【模板】线段树 2
题目描述如题,已知一个数列,你需要进行下面三种操作:1.将某区间每一个数乘上x2.将某区间每一个数加上x3.求出某区间每一个数的和输入格式第一行包含三个整数N、M、P,分别表示该数列数字的个数、操作的总个数和模数。第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。接下来M行每行包含3或4个整数,表示一个操作,具体如下:操作1: 格式:1 x y k 含义:将区...原创 2019-09-21 14:40:41 · 147 阅读 · 0 评论 -
Galahad(板子:区间不重复数字的和,树状数组/线段树)
链接:https://ac.nowcoder.com/acm/contest/1084/B来源:牛客网Galahad时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 131072K,其他语言262144K64bit IO Format: %lld题目描述本题推荐BGM:Galahad and Scientific Witchery魔女要测试骑士的能力,要求他维护一个长度...原创 2019-09-19 22:41:08 · 294 阅读 · 0 评论 -
素数相关模板
线性筛素数:#include <bits/stdc++.h>using namespace std;const int N = 1e7+5;bool mp[N];int prime[N];void getPrime(int n){ int cnt = 0; for(int i = 2; i <= n; i++) { if(!p...原创 2019-09-08 16:27:11 · 134 阅读 · 0 评论 -
1470: 区间求最值(RMQ问题,ST算法模板)
1470: 区间求最值Time Limit: 1 Sec Memory Limit: 128 MB[Submit][Status][Web Board]Description给定一个长度为N 的数组,有q个询问,每个询问是求在数组的一段区间内那个元素的因子的个数最大,比如24的因子的个数就是8。Input首先是一个整数t,表示有t组测试数据,每组测试数据的第一行是一个整数N(1<...原创 2019-02-08 23:27:16 · 243 阅读 · 0 评论 -
快速幂(取余)模板
板子:不取余#include <iostream>#define LL long longusing namespace std;LL quickPow(LL a,LL b){ LL res = 1; while(b) { if(b&1) res = res * a; a = a * a; b ...原创 2019-04-27 00:15:33 · 809 阅读 · 3 评论 -
并查集(浓缩的精华模版!!!!)
常规模板对比入口:并查集常规模板下面是精华模板:#include <iostream>const int MAXN = 1e6+10;using namespace std;int pre[MAXN];int height[MAXN];int sum; /*递归写法精华版find: 省掉初始化自己的上级是自己,直接用0表示是自己若用其他数字表示上级是自己,比如-...原创 2019-03-17 16:51:42 · 174 阅读 · 0 评论