摘要: 给定一个长度为 n 的整数数列,请你计算数列中的逆序对的数量。每个数字不超过1e9。 int n, m; int a[N]; int tr[N]; vector<int>lan; int lowbit(int x){ return x&(-x); } void discrete() { sort(l 阅读全文
posted @ 2023-12-09 22:51 potential-star 阅读(16) 评论(0) 推荐(0) 编辑
摘要: const int N = 1e5 + 10; int n, m; int a[N]; struct Tree{ int l,r; ll sum,add; }tr[4*N]; void build(int u,int l,int r){ // l=tr[u].l;r=tr[u].r; //注释掉的部 阅读全文
posted @ 2023-12-09 21:56 potential-star 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 对于种类并查集主要是考虑清楚到根节点距离分为几类,每一类的意义 有的题目相出d数组的含义才能想到用带权并查集 //find函数需要变化 int find(int x) { if (p[x] != x) { int root = find(p[x]); d[x] += d[p[x]]; p[x] = 阅读全文
posted @ 2023-12-09 21:24 potential-star 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 维护一个字符串集合,支持两种操作: I x 向集合中插入一个字符串 x; Q x 询问一个字符串在集合中出现了多少次。 所有输入的字符串总长度不超过 105( 也就是节点数) const int N=100010; int n; char s[N]; int ch[N][26],c 阅读全文
posted @ 2023-12-09 16:58 potential-star 阅读(11) 评论(0) 推荐(0) 编辑
摘要: https://zhuanlan.zhihu.com/p/646586178 待补 阅读全文
posted @ 2023-12-09 16:52 potential-star 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 单哈希且用自然溢出代替取模操作,常数小但是容易被卡 单字符串区间内比较,查询子串hash值 typedef unsigned long long ULL; const int N = 100010, P = 131; int n, m; char str[N]; ULL h[N], p[N]; UL 阅读全文
posted @ 2023-12-09 15:34 potential-star 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 时间复杂度O(nm^2),理论上限 //n,m,s,t,分别代表该网络的点数n,网络的边数m,源点编号s,汇点编号t。 const int N=5010,M=100010,INF=1e8; int n,m,S,T; struct edge{int v,c,w,ne;}e[M]; int h[N],i 阅读全文
posted @ 2023-12-09 13:48 potential-star 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 时间复杂度为Θ(n^3) const int inf =0x3f3f3f3f; const int N=505; long long w[N][N]; long long la[N],lb[N]; bool va[N],vb[N]; long long match[N]; long long n,m 阅读全文
posted @ 2023-12-09 13:25 potential-star 阅读(7) 评论(0) 推荐(0) 编辑
摘要: #define LL long long #define N 10010 #define M 200010 using namespace std; int n,m,S,T; //n,m,s,t,分别表示点的个数、有向边的个数、源点序号、汇点序号 struct edge{LL v,c,ne;}e[M 阅读全文
posted @ 2023-12-09 02:50 potential-star 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 二分图最大匹配可以转换成网络流模型。 将源点连上左边所有点,右边所有点连上汇点,容量皆为1。原来的每条边从左往右连边,容量也皆为1,最大流即最大匹配。 如果使用 Dinic 算法 求该网络的最大流,可在O(sqrt(n) * m)求出。 #define N 1010 #define M 200001 阅读全文
posted @ 2023-12-09 02:33 potential-star 阅读(147) 评论(0) 推荐(0) 编辑
摘要: scc:极大的强连通子图(两两相互可达) const int N=10010; int n,m,a,b; vector<int> e[N]; int dfn[N],low[N],tot; int stk[N],instk[N],top; int scc[N],siz[N],cnt; void tar 阅读全文
posted @ 2023-12-09 01:59 potential-star 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 单测试点有多组测试数据,注意fill手动清空 int e[M],ne[M],w[M],h[N],idx; int d[N],cnt[N],vis[N]; //为了卡常用spfa的时候就用链式前向星 void init(){ fill(h,h+n+1,-1);idx=0; } void add(int 阅读全文
posted @ 2023-12-09 00:54 potential-star 阅读(8) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示