随笔分类 -  模板

摘要:链接 直线上有n座山峰,第i座的高度为hi。从某座山峰上放飞一架纸飞机,它可以从左往右依次经过一系列高度严格递减的山头。 假设五座山峰的高度依次是3,4,3,2,1。从第一座山峰上放飞的纸飞机可以依次经过第一、四、五座山峰,但不能经过第二、三座山峰。 对于每座山峰,求出要经过除这座山峰外的每座山峰, 阅读全文
posted @ 2020-12-19 23:10 肆之月 阅读(197) 评论(0) 推荐(0)
摘要:将树压缩成若干个有用的点 for(int i=0;i<k;++i){ int f=lca(stk[r],h[i]); while(r&&id[f]<id[stk[r-1]]){ g1.add(stk[r-1],stk[r],get(stk[r],stk[r-1])); --r; } if(f^stk 阅读全文
posted @ 2020-12-19 23:08 肆之月 阅读(109) 评论(0) 推荐(0)
摘要:#include<bits/stdc++.h> using namespace std; char buf[1<<20],*_=buf,*__=buf; #define gc() (_==__&&(__=(_=buf)+fread(buf,1,1<<20,stdin),_==__)?EOF:*_++ 阅读全文
posted @ 2020-12-19 22:59 肆之月 阅读(114) 评论(0) 推荐(0)
摘要:可求解多维偏序问题 三维偏序(陌上花开) 有 nn 个元素,第 ii 个元素有 \(a_i\)、\(b_i\) 、\(c_i\) 三个属性,设 $f(i)$表示满足$a_j \leq a_i$且 \(b_j \leq b_i\) 且 $c_j \leq c_i$的 j 的数量。 对于 \(d \in 阅读全文
posted @ 2020-12-19 22:54 肆之月 阅读(59) 评论(0) 推荐(0)
摘要:伸展树 多值版 #include<bits/stdc++.h> using namespace std; template<class T> inline bool read(T &x){ x=0;register char c=getchar();register bool f=0; while( 阅读全文
posted @ 2020-12-19 22:48 肆之月 阅读(109) 评论(0) 推荐(0)
摘要:树剖版lca 树剖自带lca #include<bits/stdc++.h> using namespace std; template<class T>inline bool read(T &x){ x=0;register char c=getchar(); while(!isdigit(c)) 阅读全文
posted @ 2020-12-19 22:47 肆之月 阅读(69) 评论(0) 推荐(0)
摘要:树链剖分(点) 解决: 将两个节点之间的简单路径上的点的权值加上v 求两个节点之间的简单路径上的点的权值之和 以某一节点为根节点的子树内所有的点的权值加上v 求某一节点为根节点的子树内所有的点的权值之和 思想: 将数划分成若干链,用线段树或者树状数组对这些链进行操作 重儿子:对于非叶子节点x,以x的 阅读全文
posted @ 2020-12-19 22:45 肆之月 阅读(85) 评论(0) 推荐(0)
摘要:解决图中: 任意两节点(可以不连通)找到x<->y路径中边权的最小的最大值,反之亦然(也可以用树剖写) 给定起点,经过的路径边权有某限制下的(如小于等于某值)点权第k小(大),需要主席树。 对于1: 看着像二分。。 对原图边权排序,生成树是直接并查集merge x,y两个节点,重构树的话会新生成一个 阅读全文
posted @ 2020-12-19 22:39 肆之月 阅读(72) 评论(0) 推荐(0)
摘要:高斯消元 时间复杂度:\(O(n^3)\) /* n行:[0,n) m列:[0,m) m=2n时,右侧矩阵是左侧矩阵的逆 m=n+1时,右侧一列是左侧方程组的解 */ //double double a[][]; bool gauss(int n,int m){ for(int i=0,r=0;i< 阅读全文
posted @ 2020-12-18 17:03 肆之月 阅读(157) 评论(0) 推荐(0)
摘要:莫比乌斯函数定义: 设 \(n = p_1 ^ {k_1} \cdot p_2 ^ {k_2} \cdot\cdots\cdot p_m ^ {k_m}\),其中 p 为素数,则定义如下: \(\mu(n) = \begin{cases} 1 & n = 1 \\ (-1) ^ m & \prod\ 阅读全文
posted @ 2020-12-16 17:29 肆之月 阅读(141) 评论(0) 推荐(0)
摘要:欧拉函数:\(\varphi (n)\) 小于等于n的数中与n互质的数的个数 \(\varphi (1)=1\)(小于等于1的正整数中唯一和1互质的数就是1本身)。 若n是质数p的k次幂, \(\varphi (n)=\varphi (p^{k})=p^{k}-p^{k-1}=(p-1)p^{k-1 阅读全文
posted @ 2020-12-16 17:27 肆之月 阅读(387) 评论(0) 推荐(0)
摘要:const int MAXN=1e4+10; int m,n,s,cnt,head[MAXN],dist[MAXN]; struct Edge { int to,val,next; } e[500010]; inline void add(int x,int y,int val) { e[++cnt 阅读全文
posted @ 2020-12-16 17:22 肆之月 阅读(121) 评论(0) 推荐(0)
摘要://归并排序求逆序数对 #include<bits/stdc++.h> using namespace std; char buf[1<<20],*P1=buf,*P2=buf; #define gc() (P1==P2&&(P2=(P1=buf)+fread(buf,1,1<<20,stdin), 阅读全文
posted @ 2020-12-16 17:21 肆之月 阅读(87) 评论(0) 推荐(0)
摘要:1.单点修改 区间查询 const int MAXN=1e5+8; typedef long long ll; int n; ll a[MAXN]; inline int lowbit(int x){return x&(-x);} inline void add(int x,ll val){//单点 阅读全文
posted @ 2020-12-16 17:19 肆之月 阅读(38) 评论(0) 推荐(0)
摘要:对于n次多项式 \[ \Gamma(k) = \sum_{i=0}^{n}y_i\prod_{j=0,{j}\neq {i} }^{n}\frac{k-x_j}{x_i-x_j} \] const int mod=1e9+7; template<class T> T qpow(T x,int k){ 阅读全文
posted @ 2020-12-16 17:13 肆之月 阅读(103) 评论(0) 推荐(0)
摘要:Atlantis Problem Description There are several ancient Greek texts that contain descriptions of the fabled island Atlantis. Some of these texts even i 阅读全文
posted @ 2019-08-07 16:00 肆之月 阅读(300) 评论(0) 推荐(0)