07 2022 档案

摘要:数论学习笔记 整除性 def0a 整除b指,若a,b为整数且a0 存在整数c 使得b=ac。称ab的因子,ba的倍数 记作a|b 。如13|182,5|10... 对于a,b,cZ 有以下几个结论 若$b 阅读全文
posted @ 2022-07-28 14:11 Erfu 阅读(107) 评论(0) 推荐(0) 编辑
摘要:网络流 网络指(FlowNetwork)有向图G=(V,E) 每条边都有权值(x,y)E都有一个给定的值称为c(x,y),若(x,y)Ec(x,y)=0,特别的有:SVTV(ST),称为源点和汇点。 $ 阅读全文
posted @ 2022-07-26 20:56 Erfu 阅读(101) 评论(0) 推荐(0) 编辑
摘要:Johnson Johnson算法是一种Donald B. Johnson在1977年发布的:在边加权有向图中找到所有顶点对之间最短路径的算法。 jonhnson允许某些边权重为负数,但不能是负环。 通过使用Bellman-Ford 算法来计算输入图的转换,以消除所有负权重,从而允许在转换后的图上使 阅读全文
posted @ 2022-07-26 12:22 Erfu 阅读(353) 评论(0) 推荐(0) 编辑
摘要:摘抄自 #include <bits/stdc++.h> using namespace std; #define debug(x) cout << #x << "=" << x << endl; const int N = 1e4 + 5; int n, m, cn, col[N]; int a[ 阅读全文
posted @ 2022-07-24 12:57 Erfu 阅读(19) 评论(0) 推荐(0) 编辑
摘要:7-23洛谷做题记录 P1359 租用游艇 DP求或最短路 #include <bits/stdc++.h> using namespace std; int f[210],i,j,k,n; int main() { cin >> n; for(int i = 1 ; i <= n ; i ++ ) 阅读全文
posted @ 2022-07-23 17:40 Erfu 阅读(81) 评论(0) 推荐(0) 编辑
摘要:左偏树学习笔记 #include<bits/stdc++.h> using namespace std; const int N = 1e5 + 10; int fa[N],ls[N],rs[N],dist[N],val[N],id[N]; bool del[N]; int n,m,cnt; int 阅读全文
posted @ 2022-07-23 16:47 Erfu 阅读(24) 评论(0) 推荐(0) 编辑
摘要:【模板】欧拉路径 求有向图字典序最小的欧拉路径。 如果图G中的一个路径包括每个边恰好一次,则该路径称为欧拉路径(Euler path)。 如果一个回路是欧拉路径,则称为欧拉回路(Euler circuit)。 简单的来地讲,就是一笔画问题。 欧拉图的判定 最多只有一个顶点的出度与入度差为1 。 最多 阅读全文
posted @ 2022-07-21 13:18 Erfu 阅读(275) 评论(0) 推荐(0) 编辑
摘要:【模板】有理数取余 题目描述 给出一个有理数 c=ab,求 cmod19260817 的值。 这个值被定义为 bxa(mod19260817) 的解。 有理数取余 abmodp=a×b1 阅读全文
posted @ 2022-07-19 12:00 Erfu 阅读(53) 评论(0) 推荐(0) 编辑
摘要:Treap Treap(树堆)是一种 弱平衡 的 二叉搜索树。它同时符合二叉搜索树和堆的性质,名字也因此为 tree(树)和 heap(堆)的组合。 -oiwiki 二叉搜索树的特点是:左节点比父点大,右节点比父小。 堆的特点是 朴素二叉搜索树的问题。在给朴素搜索树插入一个新节点时,我们需要从这个搜 阅读全文
posted @ 2022-07-18 19:40 Erfu 阅读(26) 评论(0) 推荐(0) 编辑
摘要:Tarjan Robert E. Tarjan(罗伯特·塔扬,1948~),生于美国加州波莫纳,计算机科学家。 Tarjan 发明了很多算法和数据结构。不少他发明的算法都以他的名字命名,以至于有时会让人混淆几种不同的算法。比如求各种连通分量的 Tarjan 算法,求 LCA(Lowest Commo 阅读全文
posted @ 2022-07-18 16:52 Erfu 阅读(107) 评论(0) 推荐(0) 编辑
摘要:【模板】差分约束算法 题目描述 给出一组包含 m 个不等式,有 n 个未知数的形如: $$ \begin{cases} x_{c_1}-x_{c'1}\leq y_1 \x{c_2}-x_{c'2} \leq y_2 \ \cdots\ x{c_m} - x_{c'_m}\leq y_m\e 阅读全文
posted @ 2022-07-18 11:55 Erfu 阅读(28) 评论(0) 推荐(0) 编辑
摘要:【模板】负环 题目描述 给定一个 n 个点的有向图,请求出图中是否存在从顶点 1 出发能到达的负环。 负环的定义是:一条边权之和为负数的回路。 本题单测试点有多组测试数据。 输入的第一行是一个整数 T,表示测试数据的组数。对于每组数据的格式如下: 第一行有两个整数,分别表示图的点数 $n 阅读全文
posted @ 2022-07-18 11:04 Erfu 阅读(46) 评论(0) 推荐(0) 编辑
摘要:康托展开 题目描述 求 1N 的一个给定全排列在所有 1N 全排列中的排名。结果对 998244353 取模。 设全排列A=[3,2,5,4,1] 第1位3,比3小的数有2,12×5!。 第2位2,比二小的数为1,已经被处理过了 阅读全文
posted @ 2022-07-17 18:30 Erfu 阅读(29) 评论(0) 推荐(0) 编辑
摘要:给定 n 个正整数 ai ,求它们在模 p 意义下的乘法逆元。 由于输出太多不好,所以将会给定常数 k,你要输出的答案为: i=1nkiai 答案对 p 取模。 逆元 已知求逆元的方法有快速幂$a^{-1} = pow 阅读全文
posted @ 2022-07-17 17:31 Erfu 阅读(40) 评论(0) 推荐(0) 编辑
摘要:#include <bits/stdc++.h> using namespace std; int gcd(int x,int y){ return y?gcd(y,x%y):x; } int main() { int n; cin >> n; for(int i = 1,x,ans = 0; i 阅读全文
posted @ 2022-07-17 16:31 Erfu 阅读(21) 评论(0) 推荐(0) 编辑
摘要:LCA最近公共祖先 对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u和v的祖先且x的深度尽可能大。在这里,一个节点也可以是它自己的祖先。-百度百科 先DFS求出每个点的深度,在通过倍增向上爬。O(nlogn)预处理,O(logn)查询 #in 阅读全文
posted @ 2022-07-17 13:38 Erfu 阅读(36) 评论(0) 推荐(0) 编辑
摘要:起因 最近要写LCA然后忘记了ST表这么写QWQ ST表是什么,ST基于倍增和二进制划分动态规划可以在O(nlogn)预处理下O(1)回答问题 用于解决可重复问题,如RMQ问题 模板题 预处理 设f[i][j]f[i][i+2j+1]的最大值,即从i开始的2j 阅读全文
posted @ 2022-07-17 11:46 Erfu 阅读(107) 评论(0) 推荐(0) 编辑
摘要:本文整理自《算法竞赛进阶指南》IO.wiki 线段树一种用来维护区间信息的通用数据结构 线段树可以在 O(logn) 的时间复杂度内实现单点修改、区间修改、区间查询(区间求和,求区间最大值,求区间最小值)等操作。 线段树的建树 通过递归将值划分为大于1的若干个区间,把数列划分为树形结构,通过 阅读全文
posted @ 2022-07-15 15:47 Erfu 阅读(35) 评论(0) 推荐(0) 编辑
摘要:题目地址 标准完全背包 f[i]=max(f[i],f[iv[i]]+w[i]) 思路见注释: #include <iostream> #include <cstring> using namespace std; const int N = 10000,M = 45; int 阅读全文
posted @ 2022-07-15 12:18 Erfu 阅读(37) 评论(0) 推荐(0) 编辑
摘要:题目地址 [USACO2.2]集合 Subset Sums 题目描述 对于从 1n 的连续整数集合,能划分成两个子集合,且保证每个集合的数字和是相等的。举个例子,如果 n=3,对于 1,2,3 能划分成两个子集合,每个子集合的所有数字和是相等的: 3 和 ${1,2 阅读全文
posted @ 2022-07-14 18:07 Erfu 阅读(55) 评论(0) 推荐(0) 编辑
摘要:题目地址 一道分组背包但是要改输入方式 #include <iostream> #include <cstring> using namespace std; const int N = 1001; int m,n; int f[N],v[N],w[N],b[N]; int g[350][350]; 阅读全文
posted @ 2022-07-14 16:58 Erfu 阅读(25) 评论(0) 推荐(0) 编辑
摘要:题目地址 题目大意:求n的错位排序数 有全排列1\sim n,\left { 1,2,3,\dots ,n\right }对于a[i]i 我们称为错位排列 有递推式 Dn=(n1)(Dn1+Dn2) 证明: 设有n的全排列$\left{1, 阅读全文
posted @ 2022-07-13 13:30 Erfu 阅读(42) 评论(0) 推荐(0) 编辑
摘要:组合数1 给定 n 组询问,每组询问给定两个整数 a,b,请你输出 Cabmod(109+7) 的值 数据范围 1n10000 1ba2000 ~~上过小学的应该都知道~~ $$ C_a^{b} = \frac{a\times (a - 1) \d 阅读全文
posted @ 2022-07-12 22:22 Erfu 阅读(17) 评论(0) 推荐(0) 编辑
摘要:容斥原理 韦恩图,对于3个圆 SABC= +S1+S2+S3 S1S2S2S3S3S1 +S1S2S3 对于2个圆 阅读全文
posted @ 2022-07-12 22:21 Erfu 阅读(62) 评论(0) 推荐(0) 编辑
摘要:01 背包 有 N 件物品和一个容量为 M 的背包。第 i 件物品的重量是 Wi,价值是 Di。求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大。 设DP状态为fi,j表示在只能放前i个物品,容量为j的价值情况 考虑已经放了$i-1 阅读全文
posted @ 2022-07-12 22:19 Erfu 阅读(11) 评论(0) 推荐(0) 编辑
摘要:hash表 hash表 存储方式 开放寻址法 拉链法 字符串hash 离散化实际上就是一种特殊的哈希方式【单调递增】 拉链法 如果有一个数是冲突的,用一条链将他们栓起来,像邻接表一样 void insert(int x) { int k =((x % N) + N) % N; e[idx] = x; 阅读全文
posted @ 2022-07-12 22:16 Erfu 阅读(21) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示