#Snow{ position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 99999; background: rgba(255,255,240,0.1); pointer-events: none; }

10 2022 档案

摘要:树链剖分的思想及能解决的问题 树链剖分用于将树分割成若干条链的形式,以维护树上路径的信息。 具体来说,将整棵树剖分为若干条链,使它组合成线性结构,然后用其他的数据结构维护信息。 树链剖分(树剖/链剖)有多种形式,如 重链剖分,长链剖分 和用于 Link/cut Tree 的剖分(有时被称作“实链剖分 阅读全文
posted @ 2022-10-31 16:02 繁花孤城 阅读(35) 评论(0) 推荐(0) 编辑
摘要:#include<bits/stdc++.h> using namespace std; const int N=110; struct matrix{ int n,m,g[N][N]; matrix operator*(const matrix&b)const{ matrix c;c.n=n;c. 阅读全文
posted @ 2022-10-26 14:06 繁花孤城 阅读(25) 评论(0) 推荐(0) 编辑
摘要:流网络: G=(V,E)是一个有向图,图中每条边(u,v)有一个非负的容量值c(u,v)>=0, 相关定理及证明论文参考 dicnic(n^2m) #include<bits/stdc++.h> using namespace std; const int N=1e4+10; const int M 阅读全文
posted @ 2022-10-19 12:51 繁花孤城 阅读(29) 评论(0) 推荐(0) 编辑
摘要:欧拉路径:如果图G中的一个路径包括每个边恰好一次,则该路径称为欧拉路径(Euler path)。 欧拉回路:如果一个回路是欧拉路径,则称为欧拉回路(Euler circuit)。 具有欧拉回路的图称为欧拉图(简称E图)。具有欧拉路径但不具有欧拉回路的图称为半欧拉图。 存在条件 一、无向图 1 存在欧 阅读全文
posted @ 2022-10-19 10:53 繁花孤城 阅读(558) 评论(0) 推荐(0) 编辑
摘要:1、结构 set和multiset会根据特定的排序原则将元素排序。两者不同之处在于,multisets允许元素重复,而set不允许重复。 只要是assignable、copyable、comparable(根据某个排序准则)的型别T,都可以成为set或者multisets的元素。如果没有特别的排序原 阅读全文
posted @ 2022-10-15 16:08 繁花孤城 阅读(20) 评论(0) 推荐(1) 编辑
摘要:描述 平面上有 N 处宝藏,第 ii 处位于点 (Xi,Yi) ,价值 Vi 你从点 (1,1)出发,只能向右或向上走(横纵坐标增加) 当你走到一处宝藏,你就会获得它,求最大的总收益(所获得的宝藏价值和)。 注意,可能有宝藏位于同一点,到达该点时获得位于该点的所有宝藏,不能放弃获得宝藏。 输入 第一 阅读全文
posted @ 2022-10-12 20:41 繁花孤城 阅读(21) 评论(0) 推荐(0) 编辑
摘要:bitset的相关函数 对于一个叫做foo的bitset: | | | | | | | | | |foo.size() |返回大小(位数)| |foo.count() |返回1的个数| |foo.any()| 返回是否有1| |foo.none() |返回是否没有1| |foo.set() |全都变 阅读全文
posted @ 2022-10-10 11:08 繁花孤城 阅读(78) 评论(0) 推荐(0) 编辑
摘要:next_permutation () 是按照字典升序的方式生成的排列。 prev_permutation () 是按照字典将序的方式生成的排列。 求1~n的全排列 cin>>n; for(int i=1;i<=n;i++) a[i]=i,num*=i; for(int i=1;i<=num;i++ 阅读全文
posted @ 2022-10-10 07:26 繁花孤城 阅读(16) 评论(0) 推荐(0) 编辑
摘要:| 函数名称 | 功能| | | | | 构造函数 | 产生或复制字符串| | 析构函数 | 销毁字符串 | | =,assign | 赋以新值 | | Swap | 交换两个字符串的内容 | | + =,append( ),push_back() | 添加字符 | | insert () |插入字 阅读全文
posted @ 2022-10-09 20:21 繁花孤城 阅读(117) 评论(0) 推荐(0) 编辑
摘要:背包问题 01背包 给你n个物品,价值分别为w,体积分别为v,求这些物品放入体积为V的背包可获得的最大价值。 对于每个物品,我们有两种选择,选这件物品,或不选,所以我们的状态就是,背包体积为j时的最大价值。 定义f[i][j]表示从1~i件物品选择剩余体积为j时的最大价值。对于上述两种决策,我们可以 阅读全文
posted @ 2022-10-08 22:23 繁花孤城 阅读(62) 评论(0) 推荐(0) 编辑
摘要:kruskal 1.建立并查集,初始每个点为一个集合。 2.每次找到剩余的最短边加入并查集。 #include<bits/stdc++.h> using namespace std; int n,m; int ans; int f[100086]; struct ret { int x,y,z; } 阅读全文
posted @ 2022-10-08 22:20 繁花孤城 阅读(24) 评论(0) 推荐(0) 编辑
摘要:引入问题 给出一个长度为n的数组,完成以下两种操作: 将第i个数加上k 输出区间[i,j][i,j]内每个数的和 朴素算法 单点修改:O(1)O(1) 区间查询:O(n)O(n) 使用树状数组 单点修改:O(logn)O(logn) 区间查询:O(logn)O(logn)** 前置知识 lowbit 阅读全文
posted @ 2022-10-08 22:17 繁花孤城 阅读(19) 评论(0) 推荐(0) 编辑
摘要:数学 质数,约数,欧拉函数,快速幂,扩展欧几里得算法,中国剩余定理,高斯消元,求组合数,容斥原理,博弈论等内容。 质数 质数的判定 试除法 O(sqrt(n)) bool is_prime(int x) { if(x<2) return 0; for(int i=2;i<=x/i;i++) //sq 阅读全文
posted @ 2022-10-08 22:15 繁花孤城 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2022-10-08 22:13 繁花孤城 阅读(22) 评论(0) 推荐(0) 编辑
摘要:#include<stdio.h> #include<string> #include<string.h> #include<iostream> using namespace std; //compare比较函数:相等返回0,大于返回1,小于返回-1 int compare(string str1 阅读全文
posted @ 2022-10-07 08:01 繁花孤城 阅读(83) 评论(0) 推荐(0) 编辑
摘要:如果遇到 long long 开不下的情况,可以使用 __int128 来博一把!note :__int128 仅 64 位 GCCG++ 支持,不在 C++ 标准中!不在 namespace std 中!64 位 GCC 可直接使用。 存储范围 顾名思义, __int128 就是占用128字节的整 阅读全文
posted @ 2022-10-07 07:55 繁花孤城 阅读(656) 评论(0) 推荐(0) 编辑
摘要:Dijkstra算法和SPFA算法都可以用于求单源最短路,前者可以用小根堆进行优化,后者用就是用队列优化过的Bell-man Ford,下面说一说这两者的区别: Dijkstra算法是基于贪心和DP的思路,一开始先将所有点到原点的距离设置为无穷大,特别的是dis[s]=0,此处的s为原点,它是每次找 阅读全文
posted @ 2022-10-07 07:54 繁花孤城 阅读(138) 评论(0) 推荐(0) 编辑
摘要:Tarjan 算法是基于深度优先搜索的算法,用于求解图的连通性问题。Tarjan 算法可以在线性时间内求出无向图的割点与桥,进一步地可以求解无向图的双连通分量;同时,也可以求解有向图的强连通分量、必经点与必经边。 如果你对上面的一些术语不是很了解,没关系,我们只要知道 Tarjan 算法是基于深度优 阅读全文
posted @ 2022-10-07 07:48 繁花孤城 阅读(21) 评论(0) 推荐(0) 编辑
摘要:二分图的判定 不存在奇数环。 可以通过匈牙利算法,染色判定。 bool dfs(int x,int t) { st[x]=t; for(int i=head[x];i;i=ne[i]) { int y=ver[i]; if(!st[y]) { if(!dfs(y,3-t)) return 0; } 阅读全文
posted @ 2022-10-07 07:44 繁花孤城 阅读(40) 评论(0) 推荐(0) 编辑
摘要:功能:区间操作,区间查询 给定一个长度为 N 的数列A,以及 M 条指令,每条指令可能是以下两种之一: C l r d,表示把 A[l],A[l+1],…,A[r]A[l],A[l+1],…,A[r] 都加上 dd。 Q l r,表示询问数列中第 l∼rl∼r 个数的和。 对于每个询问,输出一个整数 阅读全文
posted @ 2022-10-07 07:42 繁花孤城 阅读(23) 评论(0) 推荐(0) 编辑
摘要:功能:插入,删除,根据数值查排名,根据排名查数据,找前驱后继 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 插入数值 x。 删除数值 x(若有多个相同的数,应只删除一个)。 查询数值 x 的排名(若有多个相同的数,应输出最小的排名)。 查询排名为 x 的数值。 求数值 阅读全文
posted @ 2022-10-07 07:41 繁花孤城 阅读(29) 评论(0) 推荐(0) 编辑
摘要:功能:区间加 区间查询 区间翻转 伸展树(英语:Splay Tree)是一种能够自我平衡的二叉查找树,它能在均摊O(log n)的时间内完成基于伸展(Splay)操作的插入、查找、修改和删除操作。它是由丹尼尔·斯立特(Daniel Sleator)和罗伯特·塔扬在1985年发明的。 在伸展树上的一般 阅读全文
posted @ 2022-10-07 07:39 繁花孤城 阅读(143) 评论(0) 推荐(0) 编辑
摘要:AC自动机 Aho-Corasick automaton,该算法在1975年产生于贝尔实验室,是著名的多模匹配算法。 要学会AC自动机,我们必须知道什么是Trie,也就是字典树。Trie树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符 阅读全文
posted @ 2022-10-06 10:41 繁花孤城 阅读(41) 评论(0) 推荐(0) 编辑

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