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

网站更换服务器 备案网站支付端口

网站更换服务器 备案,网站支付端口,对网站建设的建议,临沂做企业网站灾难 【样例输入】 5 0 1 0 1 0 2 3 0 2 0 【样例输出】 4 1 0 0 0 题解#xff1a; 先跑出拓扑序 我们按拓扑序建立一棵“灭绝树” 灭绝树含义是当一个点灭绝时#xff0c;它的子树将会全部灭绝 所以答案就是点在灭绝树中的子树大小 一个点如果灭绝#xff0c;那么需要所有… 灾难 【样例输入】 5 0 1 0 1 0 2 3 0 2 0 【样例输出】 4 1 0 0 0 题解 先跑出拓扑序 我们按拓扑序建立一棵“灭绝树” 灭绝树含义是当一个点灭绝时它的子树将会全部灭绝 所以答案就是点在灭绝树中的子树大小 一个点如果灭绝那么需要所有指向它的点灭绝 由于拓扑序的关系指向它的点已经加入过了灭绝树”中 所以这个点要灭绝就需要所有指向它的点全部灭绝即这些点的最近公共祖先 那么直接我们将这个祖先与此点连边更新Lca 最后求出子树大小即统计答案 1 #includealgorithm2 #includeiostream3 #includecstring4 #includecstdlib5 #includecstdio6 #includecmath7 using namespace std;8 inline int Get()9 {10 int x 0;11 char c getchar();12 while(0 c || c 9) c getchar();13 while(0 c c 9)14 {15 x (x 3) (x 1) c - 0;16 c getchar();17 }18 return x;19 }20 const int me 1000233;21 int n;22 int head, tail;23 int in[me];24 int ue[me];25 int de[me];26 int si[me];27 int fat[me][21];28 int tot, nex[2][me], fir[2][me], to[2][me];29 inline void Ins(int x, int y, int z)30 {31 nex[z][tot] fir[z][x];32 fir[z][x] tot;33 to[z][tot] y;34 }35 inline void Topo()36 {37 head 0, tail 0;38 for(int i 1; i n; i)39 if(!in[i])40 ue[tail] i;41 while(head tail)42 {43 int u ue[head];44 for(int i fir[0][u]; i; i nex[0][i])45 {46 int v to[0][i];47 --in[v];48 if(!in[v]) ue[tail] v;49 }50 }51 }52 inline int Lca(int x, int y)53 {54 if(x 0) return y;55 if(de[x] de[y]) swap(x, y);56 for(int i 20; i 0; --i)57 if(de[fat[x][i]] de[y])58 x fat[x][i];59 for(int i 20; i 0; --i)60 if(fat[x][i] ! fat[y][i])61 {62 x fat[x][i];63 y fat[y][i];64 }65 if(x y) return x;66 return fat[x][0];67 }68 inline void Update(int u, int v)69 {70 fat[v][0] u;71 de[v] de[u] 1;72 for(int i 1; i 20; i)73 fat[v][i] fat[fat[v][i - 1]][i - 1];74 }75 inline void Build()76 {77 while(tail)78 {79 int u ue[tail];80 int lca -1;81 for(int i fir[0][u]; i; i nex[0][i])82 {83 int v to[0][i];84 lca Lca(lca, v);85 }86 if(lca 0) lca 0;87 Ins(lca, u, 1);88 Update(lca, u);89 --tail;90 }91 }92 void Ergo(int u)93 {94 si[u] 1;95 for(int i fir[1][u]; i; i nex[1][i])96 {97 int v to[1][i];98 Ergo(v);99 si[u] si[v]; 100 } 101 } 102 int main() 103 { 104 n Get(); 105 for(int i 1; i n; i) 106 { 107 int x Get(); 108 while(x) 109 { 110 in[x]; 111 Ins(i, x, 0); 112 x Get(); 113 } 114 } 115 Topo(); 116 Build(); 117 Ergo(0); 118 for(int i 1; i n; i) 119 printf(%d\n, si[i] - 1); 120 }   转载于:https://www.cnblogs.com/lytccc/p/6253270.html
http://www.yutouwan.com/news/46539/

相关文章:

  • 优秀网站图标seo网络推广培训班
  • 南县网站开发美度手表网站
  • 给有后台的网站做网页网站专题页是什么
  • 福建建设银行招聘网站深圳优化网站公司哪家好
  • 江苏网站设计谷歌广告平台
  • 网站建设运营的灵魂是什么意思游戏门户网站开发资源
  • 兴义市 网站建设外贸整合营销推广
  • 腾讯云网站建设教学视频邯郸网站设计公司排名
  • 公司网站建设意义网站怎么做微博链接
  • 图片类网站建设网页游戏传奇开服表
  • 帝国做的网站怎么上传网站推广名片
  • 购物商城外贸网站建设深圳设计网站招聘
  • 网站建设实施方案及预算硬件开发流程图
  • 聊城建设网站wordpress手机号登陆不了
  • 整站seo运营北大青鸟教网站开发吗
  • 电商网站开发过程中国建筑工程网施工资料
  • 做航空产品的网站有哪些营销型网站建设课程
  • 有谁帮做网站的太原房产网站建设
  • 企业网站推广的方法包括网站搭建详细步骤
  • 北京网站设计技术乐云seo山西专业网站建设价目
  • 太原建设厅网站建一个网站带管理需要多少钱一年
  • 如何创建二级域名网站产品设计作品
  • 晋江网站建设洛阳网站制作娄底高端网站建设
  • 房产发布网站建设微信首页制作代码
  • 网站建设 6万大连百度关键词排名
  • 阿里云服务器可以做网站吗中关村在线手机论坛
  • 个人网站做交易类的赚钱吗南宁企业建站
  • 自己做网站 什么婚恋网站上认识人 带你做原油交易
  • 服务器 多个网站站长工具站长之家官网
  • 内蒙古建设安全监督网站自己做的图片哪个网站可以出售