摘要:
#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
繁花孤城
阅读(109)
评论(0)
推荐(0)
摘要:
如果遇到 long long 开不下的情况,可以使用 __int128 来博一把!note :__int128 仅 64 位 GCCG++ 支持,不在 C++ 标准中!不在 namespace std 中!64 位 GCC 可直接使用。 存储范围 顾名思义, __int128 就是占用128字节的整 阅读全文
posted @ 2022-10-07 07:55
繁花孤城
阅读(785)
评论(0)
推荐(0)
摘要:
Dijkstra算法和SPFA算法都可以用于求单源最短路,前者可以用小根堆进行优化,后者用就是用队列优化过的Bell-man Ford,下面说一说这两者的区别: Dijkstra算法是基于贪心和DP的思路,一开始先将所有点到原点的距离设置为无穷大,特别的是dis[s]=0,此处的s为原点,它是每次找 阅读全文
posted @ 2022-10-07 07:54
繁花孤城
阅读(204)
评论(0)
推荐(0)
摘要:
Tarjan 算法是基于深度优先搜索的算法,用于求解图的连通性问题。Tarjan 算法可以在线性时间内求出无向图的割点与桥,进一步地可以求解无向图的双连通分量;同时,也可以求解有向图的强连通分量、必经点与必经边。 如果你对上面的一些术语不是很了解,没关系,我们只要知道 Tarjan 算法是基于深度优 阅读全文
posted @ 2022-10-07 07:48
繁花孤城
阅读(35)
评论(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
繁花孤城
阅读(50)
评论(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
繁花孤城
阅读(38)
评论(0)
推荐(0)
摘要:
功能:插入,删除,根据数值查排名,根据排名查数据,找前驱后继 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 插入数值 x。 删除数值 x(若有多个相同的数,应只删除一个)。 查询数值 x 的排名(若有多个相同的数,应输出最小的排名)。 查询排名为 x 的数值。 求数值 阅读全文
posted @ 2022-10-07 07:41
繁花孤城
阅读(37)
评论(0)
推荐(0)
摘要:
功能:区间加 区间查询 区间翻转 伸展树(英语:Splay Tree)是一种能够自我平衡的二叉查找树,它能在均摊O(log n)的时间内完成基于伸展(Splay)操作的插入、查找、修改和删除操作。它是由丹尼尔·斯立特(Daniel Sleator)和罗伯特·塔扬在1985年发明的。 在伸展树上的一般 阅读全文
posted @ 2022-10-07 07:39
繁花孤城
阅读(165)
评论(0)
推荐(0)

浙公网安备 33010602011771号