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

详情页设计中的法则fabe郑州网站优化培训

详情页设计中的法则fabe,郑州网站优化培训,重庆网站建设公司 十年,ps怎么做网站logo首先,可以发现 C C C等于所有点度数的最大值,我们能用到的颜色数目为 2 x ≥ C 2^x\ge C 2x≥C。 考虑分治,将边集划分为 E E 1 E 2 EE_1E_2 EE1​E2​,使得 E 1 , E 2 E_1,E_2 E1​,E2​中点度数的最大值都不超过 2 x − 1 2^…

首先,可以发现 C C C等于所有点度数的最大值,我们能用到的颜色数目为 2 x ≥ C 2^x\ge C 2xC

考虑分治,将边集划分为 E = E 1 + E 2 E=E_1+E_2 E=E1+E2,使得 E 1 , E 2 E_1,E_2 E1,E2中点度数的最大值都不超过 2 x − 1 2^{x-1} 2x1。这样,我们将 [ 1 , 2 x − 1 ] [1,2^{x-1}] [1,2x1]中的颜色分配给 E 1 E_1 E1 [ 2 x − 1 + 1 , 2 x ] [2^{x-1}+1,2^x] [2x1+1,2x]中的颜色分配给 E 2 E_2 E2,就可以递归到子问题。显然当 C = 1 C=1 C=1时,可以将所有边染成同一个颜色。

显然,我们可以用欧拉回路解决这个问题。但是这个做法常数比较大。考虑 CF1499G Graph Coloring 的做法,维护若干个环和若干条端点互不相同的链(因为是二分图,所以环的长度一定是偶数),这可以用带权并查集维护。注意并查集的维护对象是每条边,合并两条边的时候限制等价于这两条边所属集合不同。

复杂度 O ( m log ⁡ m ) O(m\log m) O(mlogm)

#include<bits/stdc++.h>
#define ll long long
#define fi first
#define se second
#define pb push_back
#define inf 0x3f3f3f3f
using namespace std;
const int N=2e5+5;
const int M=5e5+5;
int L,R,m,U[M],V[M],du[N],st[N];
int fa[M],val[M],tag[M],res[M];
vector<int>v;
int find(int x){if(fa[x]==x)return x;int tmp=fa[x];fa[x]=find(fa[x]);val[x]^=val[tmp];return fa[x];
}
void upd(int x){find(x);if(!(val[x]^tag[fa[x]])){tag[fa[x]]^=1;}
}
void unionset(int x,int y){int u=find(x),v=find(y);if(u!=v){val[u]=val[x]^val[y]^1,fa[u]=v;}
}
void solve(vector<int>&v,int cur){if(v.size()==0)return;for(auto e:v){fa[e]=e,val[e]=0,tag[e]=0,st[U[e]]=st[V[e]]=0;}int f=0;for(auto e:v){int x=U[e],y=V[e];if(st[x]||st[y])f=1;if(!st[x]&&!st[y]){st[x]=st[y]=e;}else if(!st[x]){upd(st[y]);unionset(e,st[y]);st[x]=e,st[y]=0;}else if(!st[y]){upd(st[x]);unionset(e,st[x]);st[y]=e,st[x]=0;}else{upd(st[x]),upd(st[y]);unionset(e,st[x]),unionset(e,st[y]);st[x]=st[y]=0;}}if(f==0){for(auto e:v)res[e]=1;}else{vector<int>vl,vr;for(auto e:v){find(e);if(val[e]^tag[fa[e]]){vr.pb(e);}else{vl.pb(e);}}solve(vl,cur>>1),solve(vr,cur>>1);for(auto e:vr)res[e]+=cur>>1;}
}
int main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);cin>>L>>R>>m;for(int i=1;i<=m;i++){cin>>U[i]>>V[i],V[i]+=L;du[U[i]]++,du[V[i]]++,v.pb(i);}int dmax=0;for(int i=1;i<=L+R;i++)dmax=max(dmax,du[i]);int x=2;while(x<dmax)x<<=1;solve(v,x);cout<<x<<"\n";for(int i=1;i<=m;i++)cout<<res[i]<<"\n";
}
http://www.shuangfujiaoyu.com/news/43533.html

相关文章:

  • 海口模板建站定制百度个人中心登录
  • 高密建设局网站超级外链工具有用吗
  • 2023年重大时政热点绍兴seo排名公司
  • 免费用手机做网站数据分析师资格证书怎么考
  • 做影视网站会侵权犯法吗网络培训网站
  • 西安商城类网站制作seo搜索引擎优化试题及答案
  • wordpress数据库注入对搜索引擎优化的认识
  • wordpress 下载站插件长沙正规关键词优化价格从优
  • 怎么把网站建设推广出去网站seo设置是什么
  • 淘宝上做的网站 域名到期可以自己续费吗推广普通话手抄报内容50字
  • 好用建站模板青岛网站设计制作
  • 类似交费网站开发新公司怎么做网络推广
  • 网站上做推广方案产品市场营销策划方案
  • 发布新闻的平台有哪些湖南长沙seo教育
  • wordpress https 样式好的seo平台
  • 2昌平区网站建设网站流量数据分析
  • 有什么外贸网站最新疫情最新消息
  • 专业网站设计制作jmr119色带
  • 网站建设怎样找客户网络营销前景和现状分析
  • 网站防止机器注册宁波seo怎么做优化
  • 做营销网站2022年最好用的搜索引擎
  • 免费直播app软件下载汕头seo外包公司
  • wordpress free theme只要做好关键词优化
  • 网站的v2信誉认证怎么做海淀区seo引擎优化
  • 怎么在手机上建网站一个新品牌怎样营销推广
  • 网站建设 廊坊网店seo名词解释
  • 大连仟亿科技网站建设公司 概况朋友圈营销
  • 做任务用手机号登录网站线上如何推广自己的产品
  • 互联网 政府门户网站建设方案自己做的网站怎么推广
  • 龙华网站建设销售员免费云服务器