博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ3331 BZOJ2013 压力
阅读量:6802 次
发布时间:2019-06-26

本文共 2038 字,大约阅读时间需要 6 分钟。

考前挣扎

圆方树这么早就出现了嘛。。。

要求每个点必须被经过的次数 所以就是路径上的割点/端点++

由于圆方树上所有非叶子圆点都是割点 所以就是树上差分就可以辣。

实现的时候出了一点小问题。

就是这里

if(low[y] == dfn[x]){    int r = ++poi,w;    do    {        w = stk.top(); stk.pop();        att(r,w);//printf("QAQ");    }while(w!=y);    att(r,x);}
if(low[y] == dfn[x]){    int r = ++poi;    while(stk.top()!=x)    {        int w = stk.top(); stk.pop();        att(r,w);//printf("QAQ");    }    att(r,x);}

后面这个是错哒 因为x与y之间可以有别的未弹栈的点的qwq

要注意!

//Love and Freedom.#include
#include
#include
#include
#include
#define ll long long#define inf 20021225#define mxn 210000using namespace std; struct edge{int to,lt;}e[mxn<<1],t[mxn<<2];int in[mxn],cnt,it[mxn<<1],tnt,poi;void add(int x,int y){ e[++cnt].to = y; e[cnt].lt=in[x]; in[x] = cnt; e[++cnt].to = x; e[cnt].lt=in[y]; in[y] = cnt;} void att(int x,int y){ t[++tnt].to = y; t[tnt].lt=it[x]; it[x] = tnt; t[++tnt].to = x; t[tnt].lt=it[y]; it[y] = tnt;} int dfn[mxn],low[mxn],tot;stack
stk;void dfs(int x){ dfn[x] = low[x] = ++tot; stk.push(x); for(int i=in[x];i;i=e[i].lt) { int y = e[i].to; if(dfn[y]) low[x] = min(low[x],dfn[y]); else { dfs(y); if(low[y] == dfn[x]) { int r = ++poi,w; do { w = stk.top(); stk.pop(); att(r,w);//printf("QAQ"); }while(w!=y); att(r,x); } low[x] = min(low[x],low[y]); } }}int key[mxn<<1],ans[mxn<<1],fa[mxn][20];int dep[mxn<<1];void build(int x,int f){ dep[x] = dep[f]+1; for(int i=1;i<20;i++) fa[x][i] = fa[fa[x][i-1]][i-1]; for(int i=it[x];i;i=t[i].lt) { int y = t[i].to; if(y == f) continue; fa[y][0] = x;build(y,x); }} void dfs(int x,int f){ //if(x<=n) dis[x] = dis[f] +1; //else dis[x] = dis[f]; //int flag = 0; for(int i=it[x];i;i=t[i].lt) { int y = t[i].to; if(y==f) continue; dfs(y,x); ans[x] += ans[y]; } ans[x] += key[x]; //if(!flag) dis[x] --;} int lca(int x,int y){ if(dep[x] < dep[y]) swap(x,y); int del = dep[x] - dep[y]; for(int i=19;~i;i--) if(del&(1<

 

转载于:https://www.cnblogs.com/hanyuweining/p/10321873.html

你可能感兴趣的文章
jquery实现点击显示,再一次点击隐藏
查看>>
NABCD构建APP
查看>>
React 获取 url 参数 —— this.props.match
查看>>
乙佳荣第二次作业
查看>>
request请求的常用属性
查看>>
13-JS中的面向对象
查看>>
[转载]LeetCode: Gray Code
查看>>
Ubuntu 16.04 安装摄像头驱动usb_cam
查看>>
11.23
查看>>
优达学城数据分析师纳米学位——知识点总结2
查看>>
GitHub使用
查看>>
9.react 从入门到放弃
查看>>
(五)UML之协作图
查看>>
es聚合学习笔记
查看>>
JAVA 浮点数转化为百分数,分离整数和小数部分 分类: Java ...
查看>>
从零开始搭建支持http2的web服务
查看>>
.Net 调用中国气象台Web Service
查看>>
BNU 51002 BQG's Complexity Analysis
查看>>
leetcode 7. Reverse Integer
查看>>
VC++6.0 自定义按钮,无标题对话框的拖动方法
查看>>