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

网站维护中是怎么回事2023网页游戏排行榜

网站维护中是怎么回事,2023网页游戏排行榜,小程序开发公司谁知道,北京网站设计网站公司考虑到路径是有向的#xff0c;不是很好维护。 如果路径无向的话#xff0c;可以直接转化为链加和查询操作。 既然有向的话#xff0c;不妨考虑一波hash。 对于一组询问x,y#xff0c;可以把树划分为两颗子树。 合法显然需要满足 x子树的起点的hashy子树的终点的hash x子树…考虑到路径是有向的不是很好维护。 如果路径无向的话可以直接转化为链加和查询操作。 既然有向的话不妨考虑一波hash。 对于一组询问x,y可以把树划分为两颗子树。 合法显然需要满足 x子树的起点的hashy子树的终点的hash x子树的终点的hashy子树的起点的hash 直接用LCT维护一个异或hash即可。 #includeiostream #includecctype #includecstdio #includecstring #includestring #includecmath #includectime #includecstdlib #includealgorithm #define N 330000 #define L 300000 #define eps 1e-7 #define inf 1e97 #define db double #define ll long long #define ldb long double using namespace std; inline int read() {char ch0;int x0,flag1;while(!isdigit(ch)){chgetchar();if(ch-)flag-1;}while(isdigit(ch)){x(x3)(x1)ch-0;chgetchar();}return x*flag; } #define lson son[x][0] #define rson son[x][1] struct lnk{int x,y,z;}p[N]; int va[N],vb[N],sa[N],sb[N],sa_[N],sb_[N],f[N],st[N],flag[N],son[N][2]; bool get(int x){return son[f[x]][1]x;} bool isroot(int x){return (son[f[x]][0]!x)(son[f[x]][1]!x);} void pushup(int x) {sa[x]sa[lson]^sa[rson]^sa_[x]^va[x];sb[x]sb[lson]^sb[rson]^sb_[x]^vb[x]; } void update(int x){flag[x]^1;swap(lson,rson);} void pushdown(int x){if(!flag[x])return;if(lson)update(lson);if(rson)update(rson);flag[x]0;} void rotate(int x) {int yf[x],zf[y],txget(x),tyget(y),pson[x][!tx];if(!isroot(y))son[z][ty]x;son[x][!tx]y;son[y][tx]p;if(p)f[p]y;f[y]x;f[x]z;pushup(y);pushup(x); } void splay(int x) {int cnt0,tmpx;st[cnt]x;while(!isroot(x))st[cnt]f[x],xf[x];for(int icnt;i1;i--)pushdown(st[i]);xtmp;while(!isroot(x)){int yf[x];if(!isroot(y))rotate(get(x)get(y)?y:x);rotate(x);}pushup(x); } void access(int x) {for(int y0;x;yx,xf[x]){splay(x);sa_[x]^sa[rson];sb_[x]^sb[rson];rsony;sa_[x]^sa[rson];sb_[x]^sb[rson];pushup(x);} } void makeroot(int x){access(x);splay(x);update(x);} void link(int x,int y) {makeroot(x);access(y);splay(y);f[x]y;sa_[y]^sa[x];sb_[y]^sb[x];pushup(y); } void cut(int x,int y) {makeroot(x);access(y);splay(y);f[x]son[y][0]0;pushup(y); } void add1(int x,int k){makeroot(x);va[x]^k;pushup(x);} void add2(int x,int k){makeroot(x);vb[x]^k;pushup(x);} int rng(){int x0;for(int i0;i30;i)x^(rand()%2)i;return x;} int main() {srand(time(0));read();int nread(),mread(),cnt0,s0;for(int i1;in;i){int xread(),yread();link(x,y);}for(int i1;im;i){int flagread();if(flag1){int x,y;xread();yread();cut(x,y);xread();yread();link(x,y);}if(flag2){cnt;p[cnt].xread();p[cnt].yread();p[cnt].zrng();add1(p[cnt].x,p[cnt].z);add2(p[cnt].y,p[cnt].z);s^p[cnt].z;}if(flag3){int kread();add1(p[k].x,p[k].z);add2(p[k].y,p[k].z);s^p[k].z;}if(flag4){int xread(),yread();makeroot(x);access(y);int asa_[y]^va[y],bsb_[y]^vb[y]; if((a^b)s)printf(YES\n);else printf(NO\n);}}return 0; } 转载于:https://www.cnblogs.com/Creed-qwq/p/10354399.html
http://www.yutouwan.com/news/73680/

相关文章:

  • 天河网站建设服务dw中网站建设的基本流程
  • 企业做网站建设遇到的问题免费微信公众号首图
  • 做明星网站网站怎么样做采集别人网站的文章
  • wordpress媒体库没有东西河北百度seo关键词排名
  • 青岛做网站公司哪家好网站搭建有免费的吗
  • 深圳市 交易建设中心网站天津做网站找哪家公司
  • 成都网站开发团队atom WordPress
  • 用DW做的网站怎么分享给别人网站设计分析案例
  • 网站建设 $ 金手指排名效果好嘉兴网站建设推荐浙江华企
  • 散热器 东莞网站建设北京seo公司优化网络可见性
  • 公司官方网站建设做新闻类网站还有市场吗
  • 青海城乡建设网站wordpress文章链接自定义
  • 网站页面在线设计wordpress爬取文章插件
  • 汉中微信网站建设开发网页版微信官方登录
  • 网站按钮特效常州建设局官方网站
  • 营销网站设计包括php整站开发 企业网站教程
  • 在线旅游网站平台有哪些wordpress的字体禁用
  • 佛山网站建设计外链网盘下载
  • 霍山有没有做建网站的网站建设安全协议
  • 周口网站制作网站标题logo制作
  • 企业建设网站成都网上商城网站建设
  • 临沂电商网站建设进入公众号后怎么编辑信息
  • 深圳网站制作建设深圳华强北网站建设
  • 万网 网站模板专业的网站优化公司
  • 中国校园网站做的比较好的学校中国空间站图片
  • 装饰公司网站规划方案建设网站就选用什么样的公司
  • 企业建站的作用是什么制作简单的网页
  • 表格里怎么做链接网站南通公司注册
  • 网站卡密怎么做wordpress 配置ckplayer
  • 专业网站制作的地方漳州做网站公司