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

网站主页设计欣赏自建网站的劣势

网站主页设计欣赏,自建网站的劣势,金华网站建设明细报价表,优秀seo外包平台正题 题目链接:https://www.luogu.com.cn/problem/P7520 题目大意 给出nnn个点mmm条边的一张有向图#xff0c;一号点为起始点#xff0c;qqq次独立的询问加入一条边后有多少个点的支配集发生了变化。 1≤n≤3000,1≤m≤2n,1≤q≤21041\leq n\leq 3000,1\leq m\leq 2\times…正题 题目链接:https://www.luogu.com.cn/problem/P7520 题目大意 给出nnn个点mmm条边的一张有向图一号点为起始点qqq次独立的询问加入一条边后有多少个点的支配集发生了变化。 1≤n≤3000,1≤m≤2×n,1≤q≤2×1041\leq n\leq 3000,1\leq m\leq 2\times n,1\leq q\leq 2\times 10^41≤n≤3000,1≤m≤2×n,1≤q≤2×104 解题思路 首先我们肯定是先建一棵支配树可以直接O(n2)O(n^2)O(n2)搞。 具体的做法我是从1∼n1\sim n1∼n枚举然后枚举到xxx时把xxx删掉从111开始遍历如果对于一个点yyy满足yyy不能到达且fayfa_yfay​能够到达那么fayfa_yfay​改为xxx即可。 然后考虑一条边x→yx\rightarrow yx→y能改变支配集的话防止麻烦我们对于每个点xxx只考虑它的父节点faxfa_xfax​如果1∼y1\sim y1∼y存在一个点xxx使得faxfa_xfax​不再支配xxx那么yyy的支配集肯定改变。 那么考虑对于一个边x→yx\rightarrow yx→y如果存在一条路径1→x→y→i1\rightarrow x\rightarrow y\rightarrow i1→x→y→i且不经过iii的父节点那么iii整个子树的支配集都会改变首先条件是1→x1\rightarrow x1→x不经过faifa_ifai​这个很简单如果xxx不在faifa_ifai​的子树内就好了。然后是y→iy\rightarrow iy→i这个条件也很好搞枚举点iii把faifa_ifai​删去然后看iii走反图能到达的点这些点都可以作为yyy提前O(n2)O(n^2)O(n2)预处理就好了。 然后询问的时候我们暴力枚举所有点判断是否合法然后树上差分来统计答案就好了。 时间复杂度O(n2nq)O(n^2nq)O(n2nq) code #includecstdio #includecstring #includealgorithm #includevector using namespace std; const int N3010; int n,m,q,cnt,ans,fa[N],v[N],rfn[N],ed[N]; vectorint F[N],G[N],T[N]; bool f[N][N]; void dfs(int x){if(v[x])return;v[x]1;for(int i0;iG[x].size();i)dfs(G[x][i]);return; } void dfs2(int x){rfn[x]cnt;for(int i0;iT[x].size();i)dfs2(T[x][i]);ed[x]cnt;return; } void dfs3(int x){if(v[x])return;v[x]1;for(int i0;iF[x].size();i)dfs3(F[x][i]);return; } void dfs4(int x,int w){w|v[x];answ;for(int i0;iT[x].size();i)dfs4(T[x][i],w);return; } int main() {scanf(%d%d%d,n,m,q);for(int i1,x,y;im;i){scanf(%d%d,x,y);G[x].push_back(y);F[y].push_back(x);}for(int i1;in;i){memset(v,0,sizeof(v));v[i]2;dfs(1);v[0]1;for(int j1;jn;j)if(!v[j]v[fa[j]])fa[j]i;}for(int i2;in;i)T[fa[i]].push_back(i);dfs2(1);for(int i2;in;i){memset(v,0,sizeof(v));v[fa[i]]2;dfs3(i);for(int j1;jn;j)if(v[j]1)f[j][i]1;}while(q--){int x,y;ans0;memset(v,0,sizeof(v));scanf(%d%d,x,y);for(int i1;in;i){if(!f[y][i])continue;if(rfn[fa[i]]rfn[x]ed[fa[i]]rfn[x])continue;v[i]1;}dfs4(1,0);printf(%d\n,ans);}return 0; }
http://www.sadfv.cn/news/298477/

相关文章:

  • 免费网站申请注册长春市建设工程造价管理协会网站
  • 外汇申报在哪个网站上做重庆安全员c证查询官网
  • 长沙民政计算机网站建设网络运营者不得违反法律
  • 巩义旅游网站建设公司怎么搭建Wordpress博客
  • 宿迁大型三合一网站开发发稿类别是什么
  • 柞水县住房和城乡建设局网站北京企业网站案例
  • 太原网站关键词优化wordpress academy主题
  • 谷歌搜索引擎下载安装广州seo教程
  • 网站建设速成班福建设计招聘网站
  • php网站地图导航网站模板
  • nas怎么做自己的网站网站建设摊销年限
  • 做网站和做网页有啥区别wordpress一周热门文章
  • 建设通网站怎么样wordpress免费相册插件
  • 中小企业的网站建设电子商务网站建设与管理基础
  • 保定企业网站开发网站如何兼容ie6
  • 做面料那几个网站山东泰安天气预报15天
  • 网站分类目录大全上海自助建站企业
  • 监测网站定制网站下载小说
  • 单页网站搭建苏州学网站建设
  • 福建漳州东山规划建设局网站wordpress get post id
  • 重庆网站建设方案书公众号如何推广引流
  • 比较好的免费网站中国南昌企业网站制作
  • 零基础网站建设书籍南京高端网站建设
  • 可信网站图标菠菜彩票网站怎么建设
  • 挂机宝怎么做网站信誉好的营销网站建设
  • 北京通州区网站制作电子商务有限公司有哪些
  • 企业网站建设网页深圳建网站三千
  • 建设联结是不是正规网站河南省建设工程质量监督信息网
  • 邢台专业做网站江苏宏澄建设有限公司网站
  • wordpress建设网站小程序店铺怎么开