首页 > TAG信息列表 > dls

dls的图论中级-强连通分量

DFS森林和强连通分量 DAG出栈顺序是返图的拓扑序 有向图缩点完是DAG ?

dls的数据结构_习题1

将(i, a[i])当作点,对a[i]这个维度扫描,在i这个维度上面建立扫描线 #include<bits/stdc++.h> using namespace std; const int N = 2e5+10; array<int, 4> que[N]; array<int, 2> a[N]; // 线段树维护树链剖剖分的dfs序 struct Node{ int l, r; int minn; }tr[4*N]; vo

杜老师的拷问

题目背景 恭喜你因为OI水平太菜,被dls抓了起来进行拷问。你没有选择,必须回答出dls的问题! dls的拷问是这样的,他在内心自动生成$ n$ 个正整数,但他不会直接告诉你这 ݊\(n\) 个数是什么,反之会给出每两个数之间的和。众所周知,这样的两两之和一共有 \(\dfrac{n(n−1)}{2}\) 个和,现在你必

dls的数据结构-习题课1

数据结构维护dp的状态转移 扫描线

dls的数据结构-笛卡尔树,st表,带权并查集

笛卡尔树 #include<bits/stdc++.h> using namespace std; typedef long long LL; const int N = 1e6+10; int ans[N], tot; // a存放原序列,top从0开始,右边闭区间 // 建立区间最小值笛卡尔树 // 根节点是stk[1] int stk[N], top, a[N], l[N], r[N]; int n; void dfs(int

dls的数论-阶与原根,指数方程

阶 #include<bits/stdc++.h> using namespace std; typedef long long LL; vector<int> pf; LL qmi(LL a, LL b, LL mod){ LL res = 1 % mod; while(b){ if(b&1) res = res * a % mod; a = a * a % mod; b >>= 1;

dls的数论-Lucas定理及扩展

Lucas定理

dls的数论-中国剩余定理

简介 求解线性同余方程组:x=ai(mod mi) mi之间两两互质,并不是所有的gcd=1,比如6,10,5就不是 则在模mi乘积的范围内的有唯一解 要求两两互质是由于求解的让Mi和mi是互质的 基本上useless,条件比较苛刻 不互质增量法:不断地合并两个方程,最后只剩一个

dls的区间dp

区间dp ICPC Beijing 2017 J, Pangu and Stones 题目链接:http://oj.daimayuan.top/course/8/problem/327 题目大意:有n堆石子,每对有ai个,每次可以合并[L, R]堆石子,代价是这些石子的之和 f[l][r][k]:表示将l,r合并成k堆的最小代价 划分方式:根据最后一顿划分的分界线在哪里 f[l][

dls数论课程学习

数论 整除/gcd 一些常见的结论 1-n之间的素数个数:n/lnn 级别的 第n个素数的大小:nlogn级别大小 1-n的倒数和:logn级别 1-n之间素数的倒数和:loglogn级别的 a|c, b|c, (a, b) = 1 --> ab|c, a,b分别是c的一些质因子乘积,且a,b没有相同的质因子,所以c%(ab)==0