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

网站建设费用大概多少钱网站开发实施方案进度

网站建设费用大概多少钱,网站开发实施方案进度,亚马逊雨林深处,关于政协 网站建设解析 本题需要用LCT维护子树大小 然后我就不会了 然后我就用树剖水过去了 又快又好写#xff0c;真香 现在详细聊聊如何用LCT维护子树信息 每个结点再定义一个新的变量记录所有虚儿子的信息 然后…完了#xff1f; 告别盲目pushup#xff0c;我们来详细聊聊在哪里需要更新…解析 本题需要用LCT维护子树大小 然后我就不会了 然后我就用树剖水过去了 又快又好写真香 现在详细聊聊如何用LCT维护子树信息 每个结点再定义一个新的变量记录所有虚儿子的信息 然后…完了 告别盲目pushup我们来详细聊聊在哪里需要更新虚儿子的信息 毋庸置疑应该在虚儿子信息改变的时候废话 那么什么时候发生改变呢 access虚实边会交换状态需要更新虚子树状态link增加了虚儿子需要更新虚子树状态 没了 splay、rotate、makeroot、findroot都是在一个splay里自己玩泥巴显然不会改变虚儿子的状态 注意cut是减少了一个实儿子也没有改变虚儿子状态 似乎还不太难对吧 所以对于LCT的标记问题我们要理性分析相信科学 update: 纸上得来终觉浅绝知此事要躬行 翻译不要口胡 qwq 不自己写一遍是真的找不到坑点… 这里的link改变虚子树状态的时候会连带上面一串splay的信息都出问题 而且由于其他地方默认的是原来的信息正确因此这里即使后面splay或makeroot也于事无补 解决办法是把y转到根再更新其虚子树信息 inline void link(int x,int y){makeroot(x);access(y);splay(y);siz0[y]siz[x];f[x]y;pushup(y);return; }代码 然而懒得重写还是贴的我的树剖 明天晨练可以写遍这个 #includebits/stdc.h using namespace std; #define ll long long const int N2e5100; const int mod1e97; const double eps1e-9; inline ll read() {ll x(0),f(1);char cgetchar();while(!isdigit(c)){if(c-)f-1;cgetchar();}while(isdigit(c)){x(x1)(x3)c-0;cgetchar();}return x*f; }int n,m; struct node{int to,nxt; }p[N1]; int fi[N],cnt; inline void addline(int x,int y){p[cnt](node){y,fi[x]};fi[x]cnt;return; } struct ope{int op,x,y; }q[N]; struct edge{int x,y; }e[N]; int tot,fa[N],num[N]; int find(int x){return xfa[x]?x:find(fa[x]);} inline void merge(int x,int y){xfind(x);yfind(y);if(num[x]num[y]) swap(x,y);e[tot](edge){x,y};fa[x]y;num[y]num[x];return; }int dfn[N],pos[N],tim,f[N],siz[N],hson[N],top[N]; int pl[N][19]; void dfs1(int x,int fa){f[x]fa;pl[x][0]fa;for(int k1;pl[x][k-1];k) pl[x][k]pl[pl[x][k-1]][k-1];siz[x]1;for(int ifi[x];~i;ip[i].nxt){int top[i].to;if(tofa) continue;dfs1(to,x);siz[x]siz[to];if(siz[to]siz[hson[x]]) hson[x]to;}return; } void dfs2(int x,int tp){top[x]tp;pos[x]tim;dfn[tim]x;if(hson[x]) dfs2(hson[x],tp);for(int ifi[x];~i;ip[i].nxt){int top[i].to;if(tof[x]||tohson[x]) continue;dfs2(to,to);}return; }int val[N]; inline void add(int p,int w){for(;pn;pp-p) val[p]w;return; } inline int ask(int p){int res(0);for(;p;p-p-p) resval[p];return res; } void init(){for(int i1;in;i){add(pos[i],siz[i]);add(pos[i]1,-siz[i]);}return; }void upd(int x,int anc,int w){while(top[x]!top[anc]){add(pos[top[x]],w);add(pos[x]1,-w);xf[top[x]];}add(pos[anc],w);add(pos[x]1,-w);return; }ll ans[N]; int o; int main() { #ifndef ONLINE_JUDGEfreopen(a.in,r,stdin);freopen(a.out,w,stdout); #endifmemset(fi,-1,sizeof(fi));cnt-1;nread();mread();for(int i1;in;i) num[i]1,fa[i]i;for(int i1;im;i){char c;int x,y;scanf( %c,c);xread(),yread();q[i](ope){cA,x,y};if(cA){addline(x,y);addline(y,x);merge(x,y);}}for(int i1;in;i){if(!siz[i]){dfs1(i,0);dfs2(i,i);}}init();for(int im;i1;i--){if(q[i].op){int xe[tot].x,ye[tot].y;--tot;num[y]-num[x];fa[x]x;xq[i].x,yq[i].y; if(f[x]y) swap(x,y);int wask(pos[y]);int tpx,oofind(x);for(int k17;k0;k--){if(!pl[tp][k]||find(pl[tp][k])!oo) continue;tppl[tp][k];}upd(x,tp,-w);//printf(cut:(%d %d) w%d tp%d\n\n,x,y,w,tp);}else{int xq[i].x,yq[i].y;if(f[x]y) swap(x,y);int sumnum[find(x)],botask(pos[y]);ans[o]1ll*bot*(sum-bot);//printf((%d %d):sum%d bot%d\n\n,x,y,sum,bot);}}while(o) printf(%lld\n,ans[o--]);return 0; } /* 8 12 A 2 3 Q 2 3 A 3 4 Q 2 3 A 3 8 Q 3 8 Q 3 4 Q 2 3 A 8 7 A 6 5 Q 8 7 Q 5 6*/
http://www.zqtcl.cn/news/334478/

相关文章:

  • 快餐网站模板电子版邀请函制作软件免费
  • 有什么做视频的素材网站网站名称注册保护
  • 北京 顺义 网站制作h5网站网站建设
  • 网站在百度上搜不到了wordpress导航菜单加图片
  • wordpress网站访问慢网站建设35类
  • 绍兴做网站价格字体
  • asp.net网站开发实训可以不花钱做网站吗
  • 北京网站的制作设计服务器和电脑主机的区别
  • 北京网站建设的服务公司凡科网站 怎么开支付
  • 包头公司做网站知名做网站费用
  • 安徽网站建设服务平台重庆网站建公司大全
  • 有什么网站可以做中间人的相城区建设局网站
  • 房屋装修在线设计网站百度联盟广告怎么屏蔽
  • 网站,商城,app+建设域名网址注册
  • 肥西做网站设计网页页面
  • 怎样做百度推广网站iis服务器的默认网站
  • 东莞建设工程交易中心门户网站湖南设计网站机构
  • 做网站在网站建设客户
  • 河北建设厅安监站官方网站一个新手怎么做电商
  • 做结婚请柬网站有那些做网店哪个网站好
  • 做网站尽在美橙互联欧美简约风格网站设计
  • idea建设完整的网站微官网下载
  • 阿城区建设小学网站上海建设行政主管部门政务网站
  • 西丽网站建设网站怎样做才能有点击率
  • 网站建设图片大小建设部网站1667号公告
  • 做wps的网站赚钱网站建设中网站图片如何修改
  • 公司招商型网站建设怎么自己做网站挣钱
  • 红酒手机网站建设中视频自媒体注册
  • 免费网站2022年能用的网址青阳网站建设
  • 网站建设的开发方式知乎科技部网站建设合同范本