当前位置: 首页 > news >正文

珠海专业的免费建站百度竞价排名算法

珠海专业的免费建站,百度竞价排名算法,郑州哪家公司做网站,wordpress中文评论插件https://www.luogu.com.cn/problem/P4899 首先,我们肯定要建两棵Kruskal重构树的,然后判两棵子树是否有相同编号节点 这是个经典问题,我们首先可以拍成dfs序,然后映射过去,然后相当于是判断一个区间是否有 [ l , r …

https://www.luogu.com.cn/problem/P4899

首先,我们肯定要建两棵Kruskal重构树的,然后判两棵子树是否有相同编号节点

这是个经典问题,我们首先可以拍成dfs序,然后映射过去,然后相当于是判断一个区间是否有 [ l , r ] [l,r] [l,r] 内的数,直接主席树即可。

	#include<bits/stdc++.h>
using namespace std;
#ifdef LOCAL#define debug(...) fprintf(stdout, ##__VA_ARGS__)#define debag(...) fprintf(stderr, ##__VA_ARGS__)
#else#define debug(...) void(0)#define debag(...) void(0)
#endif
//#define int long long
inline int read(){int x=0,f=1;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')f=-1;
ch=getchar();}while(ch>='0'&&ch<='9'){x=(x<<1)+
(x<<3)+(ch^48);ch=getchar();}return x*f;}
#define Z(x) (x)*(x)
#define pb push_back
#define fi first
#define se second
//#define M
//#define mo
#define N 200010
int n, m, i, j, k, T;
int q, u, v; vector<int>G1[N], G2[N]; struct Node {int i, j, k, tot; int F[N], f[N][21], dfn[N], L[N], R[N]; vector<int>G[N]; int fa(int x) { if(F[x] == x) return x; return F[x] = fa(F[x]); }void set() {for(i = 1; i <= n; ++i) F[i] = i; }void add(int x, int y) {if(x == fa(y)) return ; debug("cun %d %d\n", x, fa(y)); G[x].pb(fa(y)); F[fa(y)] = x; }void dfs(int x) {dfn[++tot] = x; L[x] = tot;for(int y : G[x]) dfs(y), f[y][0] = x; R[x] = tot; }void work() {for(k = 1; k <= 20; ++k) for(i = 1; i <= n; ++i) f[i][k] = f[f[i][k - 1]][k - 1];debug("dfn "); for(i = 1; i <= n; ++i) debug("%d ", dfn[i]); debug("\n"); }pair<int, int> jump(int x, int lim, int op) {for(k = 20; k >= 0; --k)if(f[x][k]) {if(op == 0 && f[x][k] < lim) continue; if(op == 1 && f[x][k] > lim) continue; x = f[x][k]; }return {L[x], R[x]}; }
}T1, T2;int tot, s[N << 5], ls[N << 5], rs[N << 5]; struct Segment_tree {
#define mid ((l + r) >> 1)void add(int &k, int u, int l, int r, int x) {if(!k) k = ++tot; if(l == r) return ++s[k], void(); if(x <= mid) add(ls[k], ls[u], l, mid, x); else add(rs[k], rs[u], mid + 1, r, x); if(!ls[k]) ls[k] = ls[u]; if(!rs[k]) rs[k] = rs[u]; s[k] = s[ls[k]] + s[rs[k]]; }int qry(int k, int l, int r, int x, int y) {if(l >= x && r <= y) return s[k]; int sum = 0; if(x <= mid) sum += qry(ls[k], l, mid, x, y); if(y >= mid + 1) sum += qry(rs[k], mid + 1, r, x, y); return sum; }
}Seg; 
int rt[N]; int a[N], b[N]; signed main()
{#ifdef LOCALfreopen("in.txt", "r", stdin);freopen("out.txt", "w", stdout);#endif
//	srand(time(NULL));
//	T = read();
//	while(T--) {
//
//	}n = read(); m = read(); q = read(); for(i = 1; i <= m; ++i) {u = read() + 1; v = read() + 1; if(u > v) swap(u, v); debug("%d %d\n", u, v); G1[u].pb(v); G2[v].pb(u); }T1.set(); T2.set(); for(i = 1; i <= n; ++i) for(int j : G2[i]) T1.add(i, j); for(i = n; i >= 1; --i) for(int j : G1[i]) T2.add(i, j); T1.dfs(n); T2.dfs(1); T1.work(); T2.work(); for(i = 1; i <= n; ++i) b[T1.dfn[i]] = i; for(i = 1; i <= n; ++i) a[i] = b[T2.dfn[i]]; for(i = 1; i <= n; ++i) debug("%d ", a[i]); debug("\n"); for(i = 1; i <= n; ++i) Seg.add(rt[i], rt[i - 1], 1, n, a[i]); while(q--) {int L, R; u = read() + 1; v = read() + 1; L = read() + 1; R = read() + 1; debug("(%d %d) [%d %d]\n", u, v, L, R); if(u < L || v > R) { printf("0\n"); continue; }auto t1 = T2.jump(u, L, 0); auto t2 = T1.jump(v, R, 1); int l1 = t1.fi, r1 = t1.se, l2 = t2.fi, r2 = t2.se; debug("[%d %d] [%d %d]\n", l1, r1, l2, r2); int s = Seg.qry(rt[r1], 1, n, l2, r2) - Seg.qry(rt[l1 - 1], 1, n, l2, r2); printf(s ? "1\n" : "0\n"); }return 0;
}
http://www.15wanjia.com/news/36038.html

相关文章:

  • 网站建设的公司合肥外汇seo公司
  • 贵州网站备案局google网站
  • win10做的网站其他电脑访问不了怎么办阿森纳英超积分
  • 企业网站栏目结构上海外贸seo
  • 购物网站怎么做优化做微商怎么找客源加人
  • 校园网站建设调研百度开户公司
  • 了解网站的建设心得网页设计效果图及代码
  • 网站的图片怎么做无法下载怎么做个人网页
  • 工业设计就业常德seo招聘
  • 宜昌住房和城乡建设厅网站怎么样推广自己的网址
  • 网站建设宗旨国内疫情最新情况
  • 个人做网站 需要学什么只是网站优化排名服务
  • 扬子科技网站建设网站数据统计工具
  • 一个公司是否能备案多个网站网络广告营销方案策划内容
  • 有哪些做平面设计好的网站google chrome 网络浏览器
  • 购买的网站如何换背景济南网站建设公司选济南网络
  • 杭州市住房城乡建设委员会网站天津seo网站推广
  • 网站怎么做内链培训机构连锁加盟
  • 廊坊企业自助建站怎么做网络营销推广啊
  • 网站备案幕布多少钱株洲seo优化
  • 西安网页设计制作介绍淘宝seo培训
  • WordPress用来营销seo全网图文推广
  • 做一网站要学些什么seo推广知识
  • 网站直接做标准曲线免费聊天软件
  • 平顶山高端网站建设seo百科
  • 最早做网页的公司seo推广软件排行榜
  • 网站后台如何更换在线qq咨询代码网络营销的方式有十种
  • 外贸 模板网站 定制网站常用的seo查询工具
  • 能用网站做微信小程序在线外链推广
  • 设计网站都有什么作用是什么原因nba最新消息