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

设计个人网站模板电商平台推广费用大概要多少

设计个人网站模板,电商平台推广费用大概要多少,给建设单位造成损失的,新网个人网站备案先不考虑数据结构部分,尝试猜一下结论。 结论:一个连通块有解当且仅当连通块的度数为偶数。 然后这题要你最大边权最小。最无脑的方法就是直接上 lct \text{lct} lct。真省事啊 我第一眼想到的还是整体二分。这玩意非常好写。 但是为什么也可以用线段…

先不考虑数据结构部分,尝试猜一下结论。

结论:一个连通块有解当且仅当连通块的度数为偶数。

然后这题要你最大边权最小。最无脑的方法就是直接上 lct \text{lct} lct真省事啊

我第一眼想到的还是整体二分。这玩意非常好写。

但是为什么也可以用线段树分治来做呢。这需要简单的分析一下性质。考虑求出每条边在哪些生成树上出现过,分析可知这一定是一段区间。

然后是非常玄学的操作。考虑离线,然后 倒着处理询问 (真是违背常理啊),这样的话一条边如果原来在生成树上,那么删去一条边后显然还是在生成树上(上面的分析告诉你的),这意味着恰好有一条边被加了进去,而这条边被加进去的条件就是连接的两个点不联通。

基于上述分析,我们可以尝试分治。首先,计算出影响区间的右端点在 [ m i d + 1 , r ] [mid+1,r] [mid+1,r]之间的边,那么我们就要先算出哪些边的影响区间 ≥ m i d + 1 \ge mid+1 mid+1,哪些边的影响区间 ≤ m i d \le mid mid,这样就将边集分成了两部分。使用可撤销并查集,然后往两边递归即可。怎么计算答案呢,发现递归到叶子节点的时候可以把那颗生成树算出来,然后就做完了。

事实上算边的影响区间部分我们可以不用真的将边分到两个集合中去。考虑更聪明的想法,倒着往前处理询问的时候,之前在生成树上的边还是在生成树上,那么我们事实上只需要在此基础上加入边权更大的边(当然这条边必须合法),直到得到的图满足条件。那么我们就知道新加入的这些边的影响区间的右端点就是当前这个位置,在线段树上对应部分打一个标记即可。这个半在线做法非常神奇。

这高级玩意估计考场上也想不到/kk

复杂度 O ( n log ⁡ n log ⁡ m ) O(n\log n\log m) O(nlognlogm)

实现了后一种较为复杂的方法。

该死,有一个地方打挂了。

#include<bits/stdc++.h>
#define ll long long
#define fi first
#define se second
#define pb push_back
#define inf 0x3f3f3f3f
#define db double
#define cpx complex<db>
using namespace std;
const int N=3e5+5;
int n,m,cnt,res[N],now;
int fa[N],s[N],sa[N];
vector<int>G[N<<2];
struct node{int x,y,z;
}e[N];
bool cmp(int x,int y){return e[x].z<e[y].z;
}
int find(int x){return fa[x]==x?x:find(fa[x]);
}
void modify(int p,int l,int r,int ql,int qr,int x){if(ql>qr)return;if(ql<=l&&r<=qr){G[p].pb(x);return;}int mid=l+r>>1;if(ql<=mid)modify(p<<1,l,mid,ql,qr,x);if(mid<qr)modify(p<<1|1,mid+1,r,ql,qr,x);
}
void solve(int p,int l,int r){vector<pair<int,int>>bak;for(auto pos:G[p]){int x=find(e[pos].x),y=find(e[pos].y);if(x!=y){cnt-=(s[x]&1)+(s[y]&1);if(s[x]>s[y])swap(x,y);bak.pb(make_pair(x,y));fa[x]=y,s[y]+=s[x],cnt+=(s[y]&1);}}if(l==r){while(cnt&&now<=m){int x=find(e[sa[now]].x),y=find(e[sa[now]].y);if(sa[now]<l)modify(1,1,m,sa[now],l-1,sa[now]);//fixedif(sa[now]<=l&&x!=y){cnt-=(s[x]&1)+(s[y]&1);if(s[x]>s[y])swap(x,y);bak.pb(make_pair(x,y));fa[x]=y,s[y]+=s[x],cnt+=(s[y]&1);}now++;}if(!cnt)res[l]=e[sa[now-1]].z;else res[l]=-1;}else{int mid=l+r>>1;solve(p<<1|1,mid+1,r);solve(p<<1,l,mid);}reverse(bak.begin(),bak.end());for(auto x:bak){cnt-=s[x.se]&1;fa[x.fi]=x.fi,s[x.se]-=s[x.fi];cnt+=(s[x.fi]&1)+(s[x.se]&1);}
}
int main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);cin>>n>>m;for(int i=1;i<=n;i++)fa[i]=i,s[i]=1;for(int i=1;i<=m;i++){cin>>e[i].x>>e[i].y>>e[i].z,sa[i]=i;}sort(sa+1,sa+1+m,cmp);cnt=n,now=1;solve(1,1,m);for(int i=1;i<=m;i++)cout<<res[i]<<"\n";
}
http://www.hkea.cn/news/463509/

相关文章:

  • 做便民工具网站怎么样关键词挖掘站长工具
  • 纺织面料做哪个网站好百度站长资源
  • 菏泽网站建设哪好怎样做平台推广
  • 网上有做logo的网站吗网络营销的核心是什么
  • 自建网站怎么做推广微信营销策略
  • 跳网站查询的二维码怎么做的关键词排名点击软件网站
  • 兼容手机的网站百度怎么推广自己的视频
  • 宝安中心医院入职体检跟我学seo
  • 企业网站后端模板石家庄疫情最新情况
  • 沈阳哪家网站做的好网络营销是指什么
  • 我的网站模板网站建设主要推广方式
  • 国外app素材网站seo运营是做什么的
  • 企业网站seo怎么做百度帐号个人中心
  • 郑州网站建设亅汉狮网络百度网盘seo优化
  • 模板型网站seo优化平台
  • 官方网站下载免费软件培训机构有哪些?哪个比较好
  • 网站导航怎么做的惠州seo计费管理
  • 建设公司网站模板全国唯一一个没有疫情的城市
  • 网站怎么做seo_南京百度提升优化
  • 旅游网站开发与设计论文怎么样建网站
  • 北京网站推广排名公司企业网站的搜索引擎推广与优化
  • 动态网站期末设计广告营销策略
  • 山东网站营销推广费用旺道seo推广
  • 邢台网站建设服务周到百度数据分析工具
  • 周口网站建设竞价恶意点击犯法吗
  • 网站建设没有预付款seo快速提升排名
  • 网站开发者的设计构想网络推广平台软件
  • 做立体字的网站重庆seo公司排名
  • 电子商务网站的建设包含哪些流程搜索引擎关键词怎么优化
  • 将自己做的网站发布到谷歌推广新手教程