模板
HHeyanjie
抱怨没有用,一切靠自己
展开
-
字典树(查找树)入门
字典树树状结构保存字符串,查找快,判断前缀快。又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。代码#include <iostream>#include <cstdio>#include <map>#include <set>#include <cmath>#include <queue>#include <stack>// #include <unordered_set>原创 2020-12-06 16:31:23 · 456 阅读 · 0 评论 -
欧拉函数
欧拉函数:就是对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,记作φ(n) 。欧拉函数的通式:φ(n)=n*(1-1/p1)(1-1/p2)(1-1/p3)*(1-1/p4)……(1-1/pn)其中p1, p2…pn为n的所有质因数。φ(1)=1(唯一和1互质的数就是1本身)。我也不知道通式怎么来的,记住吧。单个欧拉函数代码ll oula(ll n){ ll ans = n; for(int i=2; i*i <= n; ++i) { i原创 2020-11-01 18:03:45 · 365 阅读 · 2 评论 -
离散化
#include <iostream>#include <cstdio>#include <map>#include <set>#include <cmath>#include <queue>#include <stack>#include <vector>#include <cstring>#include <algorithm>using namespace std原创 2020-10-28 14:08:56 · 101 阅读 · 0 评论 -
最小费用最大流
模板题.最大流模板题——传送门.听名字就可以看出,要在满足最大流的同时找到达成最大流的最小费用。我们用每条边单位流量的花费作为边权,假如一条合法路径上每条边的花费分别为 cost[1],cost[2],…c[k] , 并且这条边上的最小流量为flow,那么这条路径上的花费为 : c[1] * flow + c[2] * flow + … + c[k] * flow = (c1+ c2 + c3 + … + ck)* flow = dis [ci] * flow所以dis[ci]最小就是相当于最短路原创 2020-08-07 15:50:29 · 326 阅读 · 1 评论 -
线段树维护区间Sum Max Min
#include <bits/stdc++.h> //线段树维护区间和#define ll long longusing namespace std;const int maxn = 1e5+7;ll sum[maxn<<2],add[maxn<<2]; ll a[maxn<<1],n;void PushDown(int cnt, int num_l, int num_r){ //下推标记 num_l num_r 左右子树儿子数量 if(ad原创 2020-08-02 11:26:54 · 332 阅读 · 1 评论