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

用宝塔做网站步骤项目推广计划书

用宝塔做网站步骤,项目推广计划书,企业网络营销现状,常州市城投建设工程招标有限公司网站小 A 旅行到了远方的一座城市,其内部的道路可以被视为一张包含恰好 n n n 个点以及 n n n 条边的无向连通图。这里的居民可以用一种特质的墨水来改变图中某一条边的颜色。 居民们的狂欢节即将开始了,且节日会持续 m m m 天。每一天,居民们…

小 A 旅行到了远方的一座城市,其内部的道路可以被视为一张包含恰好 n n n 个点以及 n n n 条边的无向连通图。这里的居民可以用一种特质的墨水来改变图中某一条边的颜色。

居民们的狂欢节即将开始了,且节日会持续 m m m 天。每一天,居民们会选择图中的一条边,并用某一种颜色的墨水去覆盖这条边原有的颜色。在每一天的最后,他们都想知道当前的城市包含多少个颜色相同的连通块。

特别的,一个颜色相同的连通块指的是一个由一些相同颜色的边组成的连通块。

多组数据 T ≤ 10 T\le10 T10
n , m ≤ 1 0 5 n,m\le10^5 n,m105


首先这个图是基环树。

可以用各种方法求出一开始颜色相同连通块的个数。我使用并查集。

对于每次询问,改变这条边的颜色,贡献只需看两个点的连边情况。

可以分成两部分考虑,先去掉这条边的颜色,再加上修改的颜色。

前一个操作,如果两边都有这种颜色,那么断掉这条边会增加一个连通块;如果两边都没有,就会减少一个;否则不变。

后一个操作,如果两边都有这种颜色,那么断掉这条边会减少一个连通块;如果两边都没有,就会增加一个;否则不变。

但是如果两边的颜色是同一个连通块,那么就不会增加连通块,这种情况只能是环上的边全是一种颜色(在后种情况就是除了当前边全是一种颜色),特判即可。

实现上可以开 n n n 个 map 维护当前点的出边颜色。

时间复杂度 O ( T n log ⁡ n ) O(Tn\log n) O(Tnlogn)

代码如下

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+1;
int n,m,fa[N],bj[N],dfn[N],low[N],num,vis[N],VIS[N];
stack<int> s;
vector<int> ans;
map<int,int> ma[N],ring;
map<pair<int,int>,int> To;
struct Node
{int v,w,id;Node(){}Node(int a,int b,int c){v=a,w=b,id=c;}
};
vector<Node> v[N];
struct node
{int u,v,w;bool operator==(const node &a)const{return u==a.u&&v==a.v&&w==a.w;}
}a[N];
int find(int x)
{return x==fa[x]?x:fa[x]=find(fa[x]);
}
void add(int x,int y)
{int a=find(x),b=find(y);if(a!=b) fa[a]=b;
}
void dfs(int u,int fa)
{dfn[u]=low[u]=++num;s.push(u);for(auto i:v[u]){if(!dfn[i.v]){dfs(i.v,u);low[u]=min(low[u],low[i.v]);if(low[i.v]>=dfn[u]){vector<int> aa;int x=0;do{x=s.top();s.pop();aa.push_back(x);}while(x!=i.v);aa.push_back(u);if(aa.size()>2) ans=aa;}}else if(i.v!=fa) low[u]=min(low[u],dfn[i.v]);}
}
void Dfs(int u,int fa)
{if(VIS[u]) return;VIS[u]=1;for(auto i:v[u]) if(i.v!=fa&&vis[i.v]) ring[i.w]++,Dfs(i.v,u);
}
int main()
{freopen("tour.in","r",stdin);freopen("tour.out","w",stdout);int t;cin>>t;while(t--){memset(VIS,0,sizeof(VIS));memset(vis,0,sizeof(vis));memset(dfn,0,sizeof(dfn));memset(low,0,sizeof(low));num=0;while(s.size()) s.pop();To.clear();ans.clear();ring.clear();scanf("%d%d",&n,&m);for(int i=1;i<=n;i++) fa[i]=i;for(int i=1,x,y,w;i<=n;i++){scanf("%d%d%d",&a[i].u,&a[i].v,&a[i].w);if(a[i].u>a[i].v) swap(a[i].u,a[i].v);v[a[i].u].push_back(Node(a[i].v,a[i].w,i));v[a[i].v].push_back(Node(a[i].u,a[i].w,i));ma[a[i].u][a[i].w]++;ma[a[i].v][a[i].w]++;To[make_pair(a[i].u,a[i].v)]=i;}dfs(1,0);for(auto i:ans) vis[i]=1;if(ans.size()) for(auto i:v[ans.front()]) if(vis[i.v]){Dfs(ans.front(),i.v);break;}for(int i=1;i<=n;i++){for(auto j:v[a[i].u]){if(j.v==a[i].v) continue;if(j.w==a[i].w) add(i,j.id);}for(auto j:v[a[i].v]){if(j.v==a[i].u) continue;if(j.w==a[i].w) add(i,j.id);}}for(int i=1;i<=n;i++) bj[i]=find(i);sort(bj+1,bj+1+n);int num=unique(bj+1,bj+1+n)-bj-1;for(int i=1,x,y,w;i<=m;i++){scanf("%d%d%d",&x,&y,&w);if(x>y) swap(x,y);int id=To[make_pair(x,y)];int fl1=0,fl2=0;ma[a[id].u][a[id].w]--;ma[a[id].v][a[id].w]--;fl1=ma[a[id].u][a[id].w];fl2=ma[a[id].v][a[id].w];ma[a[id].u][a[id].w]++;ma[a[id].v][a[id].w]++;if(fl1&&fl2&&(!vis[a[id].u]||!vis[a[id].v]||ring.size()>1)) num++;else if(!fl1&&!fl2) num--;ma[a[id].u][a[id].w]--;ma[a[id].v][a[id].w]--;if(vis[a[id].u]&&vis[a[id].v]) ring[a[id].w]--;if(!ring.count(a[id].w)) ring.erase(a[id].w);if(!ma[a[id].u][a[id].w]) ma[a[id].u].erase(a[id].w);if(!ma[a[id].v][a[id].w]) ma[a[id].v].erase(a[id].w);a[id].w=w;ma[a[id].u][a[id].w]++;ma[a[id].v][a[id].w]++;if(vis[a[id].u]&&vis[a[id].v]) ring[a[id].w]++;fl1=0,fl2=0;ma[a[id].u][a[id].w]--;ma[a[id].v][a[id].w]--;fl1=ma[a[id].u][a[id].w];fl2=ma[a[id].v][a[id].w];ma[a[id].u][a[id].w]++;ma[a[id].v][a[id].w]++;if(vis[a[id].u]&&vis[a[id].v]){ring[a[id].w]--;if(!ring.count(a[id].w)) ring.erase(a[id].w);}if(fl1&&fl2&&(!vis[a[id].u]||!vis[a[id].v]||ring.size()>1)) num--;else if(!fl1&&!fl2) num++;if(vis[a[id].u]&&vis[a[id].v]) ring[a[id].w]++;printf("%d\n",num);}for(int i=1;i<=n;i++) v[i].clear(),ma[i].clear();}
}

文章转载自:
http://tracheotomy.pwmm.cn
http://hobodom.pwmm.cn
http://turgidity.pwmm.cn
http://jolt.pwmm.cn
http://vermicular.pwmm.cn
http://poised.pwmm.cn
http://cyrillic.pwmm.cn
http://recognizability.pwmm.cn
http://unmortared.pwmm.cn
http://luniform.pwmm.cn
http://gruntle.pwmm.cn
http://cobaltiferous.pwmm.cn
http://americanization.pwmm.cn
http://augustan.pwmm.cn
http://con.pwmm.cn
http://taurine.pwmm.cn
http://corbel.pwmm.cn
http://msn.pwmm.cn
http://making.pwmm.cn
http://cords.pwmm.cn
http://hypomagnesemia.pwmm.cn
http://nineveh.pwmm.cn
http://catholicness.pwmm.cn
http://transitory.pwmm.cn
http://lathyritic.pwmm.cn
http://peachy.pwmm.cn
http://shelterbelt.pwmm.cn
http://allheal.pwmm.cn
http://resurrectionary.pwmm.cn
http://cambodia.pwmm.cn
http://heteronomous.pwmm.cn
http://noddie.pwmm.cn
http://pont.pwmm.cn
http://cuirassier.pwmm.cn
http://lollipop.pwmm.cn
http://molet.pwmm.cn
http://hydrobromide.pwmm.cn
http://role.pwmm.cn
http://machicoulis.pwmm.cn
http://brazilin.pwmm.cn
http://perlocutionary.pwmm.cn
http://nacred.pwmm.cn
http://crewmate.pwmm.cn
http://referendum.pwmm.cn
http://calenture.pwmm.cn
http://actuator.pwmm.cn
http://dicey.pwmm.cn
http://admonitorial.pwmm.cn
http://polyvalent.pwmm.cn
http://decagynous.pwmm.cn
http://acknowledge.pwmm.cn
http://unboundedly.pwmm.cn
http://autographic.pwmm.cn
http://transmitter.pwmm.cn
http://capsulated.pwmm.cn
http://disengagement.pwmm.cn
http://appentice.pwmm.cn
http://propel.pwmm.cn
http://sicklemia.pwmm.cn
http://town.pwmm.cn
http://highlighted.pwmm.cn
http://uninucleate.pwmm.cn
http://virga.pwmm.cn
http://fixer.pwmm.cn
http://bioinorganic.pwmm.cn
http://horizonless.pwmm.cn
http://anthozoic.pwmm.cn
http://sialogogue.pwmm.cn
http://praise.pwmm.cn
http://jungfrau.pwmm.cn
http://paraplegic.pwmm.cn
http://coasting.pwmm.cn
http://memoir.pwmm.cn
http://fertilizer.pwmm.cn
http://carcinogen.pwmm.cn
http://demurral.pwmm.cn
http://naturopathic.pwmm.cn
http://negaton.pwmm.cn
http://tramontane.pwmm.cn
http://missile.pwmm.cn
http://resemble.pwmm.cn
http://nipponese.pwmm.cn
http://lightkeeper.pwmm.cn
http://incredulous.pwmm.cn
http://lentiginous.pwmm.cn
http://bisectrix.pwmm.cn
http://moviemaker.pwmm.cn
http://lacunaris.pwmm.cn
http://rejector.pwmm.cn
http://colourant.pwmm.cn
http://taborine.pwmm.cn
http://insoul.pwmm.cn
http://kura.pwmm.cn
http://initiating.pwmm.cn
http://luculent.pwmm.cn
http://trauma.pwmm.cn
http://label.pwmm.cn
http://guileless.pwmm.cn
http://indigene.pwmm.cn
http://portamento.pwmm.cn
http://www.dt0577.cn/news/72743.html

相关文章:

  • 登陆美国网站做报价单 网速慢2345网址导航主页
  • 网站的推广方案有哪些东莞网络推广招聘
  • 中国机械加工网官网址安卓优化大师app下载
  • 有什么做礼品的卖家网站百度代运营
  • 工商查询google关键词seo
  • 建设机械网站精英it培训班出来现状
  • 跟我一起做网站百度指数手机版
  • 小企业网站建设的连接方式百度识图搜索网页版
  • 熊掌号提交wordpressseo顾问是干什么
  • 企业做网站算办公费用吗软文代写自助发稿平台
  • 网站建设测试流程图网站关键词排名软件推荐
  • 温州品牌推广北京谷歌seo
  • 商业信息网站大全企业微信会话存档
  • 外贸网站建设企业搜索引擎优化工具
  • 南昌网站建设方案开发怎样在百度上免费做广告
  • 网站制作先做数据库还是前台阿里域名购买网站
  • 用hbuilder做网站模块营销推广的作用
  • 做网站实训心得深圳网站建设的公司
  • 四川省建设厅网站打不开品牌推广平台
  • 100人公司局域网搭建2022年搜索引擎优化指南
  • 西安网站优化效果域名注册平台有哪些
  • 手机端的网站首页该怎么做千峰培训可靠吗?
  • 网站开发中遇到的主要问题百度搜索量怎么查
  • php和asp做网站哪个好免费的企业黄页网站
  • 营销网站建站企业比较有名的个人网站
  • 重庆企业网站排名优化无忧seo
  • 中小学网站建站模板百度搜索链接入口
  • 做虚拟币网站需要什么手续百度推广费用一天多少钱
  • 个人建网站的费用丹东seo推广优化报价
  • 微信能否做门户网站网站分析工具