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

桂平网站建设网推怎么推广

桂平网站建设,网推怎么推广,上海做网站的公司联系方式,企业网站制作报价单概念 求两点间的路径中可在同一时间内通过的最大量 EK算法 通过bfs找通路&#xff0c;找到后回溯&#xff1b; 每确定一条边时&#xff0c;同时建立一天反方向的边以用来进行反悔操作&#xff08;毕竟一次性找到正确方案的概率太低了&#xff09; code #include<bits/st…

概念

求两点间的路径中可在同一时间内通过的最大量

EK算法

通过bfs找通路,找到后回溯;

每确定一条边时,同时建立一天反方向的边以用来进行反悔操作(毕竟一次性找到正确方案的概率太低了)

code

#include<bits/stdc++.h>
#define ll long long
#define inl inline
#define re register
using namespace std;
inl int read() {int sum=0,f=1;char c=getchar();while(!isdigit(c)) {if(c=='-') f=-1;c=getchar();}while(isdigit(c)) {sum=(sum<<3)+(sum<<1)+(c^48);c=getchar();}return sum*f;
}
const int N=210;
int dis[10000010],ans,head[N<<1],tot=1,n,m,f[210][210];
struct node{int to,w,nxt;
}e[10000010];
inl void add(int u,int v,int w) {e[++tot].to=v;e[tot].w=w;e[tot].nxt=head[u];head[u]=tot;e[++tot].to=u;e[tot].w=0;e[tot].nxt=head[v];head[v]=tot;
}
bool vis[210];
int pre[N];
inl bool bfs() {memset(vis,0,sizeof(vis));queue<int> q;dis[1]=100000000;vis[1]=1;q.push(1);while(!q.empty()) {int u=q.front();q.pop();for(re int i=head[u];i;i=e[i].nxt) {int v=e[i].to;if(vis[v]==1 || e[i].w==0) continue;dis[v]=min(dis[u],e[i].w) ;//cout<<dis[v]<<endl;pre[v]=i;q.push(v);vis[v]=1;if(v==n) return 1;}}return 0;
}
inl void update() {int u=n;while(u!=1) {int v=pre[u] ;e[v].w-=dis[n];e[v^1].w+=dis[n];u=e[v^1].to;}ans+=dis[n];
}
int main() {m=read(),n=read();for(re int i=1;i<=m;i++) {int u=read(),v=read(),w=read();if(!f[u][v]) {add(u,v,w);f[u][v]=tot;}else{e[f[u][v]-1].w+=w;}}while(bfs()) {//cout<<dis[n]<<endl;update();}cout<<ans<<endl;return 0;
}

Dinic算法

也是运用bfs将原图进行分层,但统计答案时使用dfs,,可大大降低时间复杂度

code

#include<bits/stdc++.h>
#define ll long long
#define re register
#define inl inline
using namespace std;
inl int read() {int sum=0,f=1;char c=getchar();while(!isdigit(c)) {if(c=='-') f=-1;c=getchar();}while(isdigit(c)) {sum=(sum<<3)+(sum<<1)+(c^48);c=getchar();}return sum*f;
}
const int N=210;
int n,m,x,head[N<<1],f[210][210],tot=1,cur[N*N],ans,d[N];
struct node{int to,nxt,w;
}e[N*N+1000];
inl void add(int u,int v,int w) {//cout<<1<<endl;e[++tot].to=v;e[tot].w=w;e[tot].nxt=head[u];head[u]=tot;e[++tot].to=u;e[tot].w=0;e[tot].nxt=head[v];head[v]=tot;
}
inl bool bfs() {memset(d,0,sizeof(d));queue<int> q;d[1]=1;q.push(1);while(!q.empty()) {int u=q.front() ;q.pop();for(re int i=head[u];i;i=e[i].nxt) {int v=e[i].to;if(!d[v] && e[i].w) {d[v]=d[u]+1;q.push(v);if(v==n) return 1;}}}return 0;
}
inl int dfs(int u,int mf) {if(u==n) return mf;int tmp=0;for(int i=cur[u];i;i=e[i].nxt) {cur[u]=i;int v=e[i].to;if(d[v]==d[u]+1 && e[i].w) {int tmp1=dfs(v,min(mf,e[i].w));e[i].w-=tmp1;e[i^1].w+=tmp1;tmp+=tmp1;mf-=tmp1;if(!mf) break;}}if(!tmp) d[u]=0;return tmp;
}
inl void dinic() {while(bfs()) {memcpy(cur,head,sizeof head);ans+=dfs(1,100000000);}
}
int main() {n=read();m=read();x=read();//cout<<n<<" "<<m<<" "<<x<<endl;for(re int i=1;i<=m;i++) {int u=read(),v=read(),w=read();if(!f[u][v]) {add(u,v,w);f[u][v]=tot;}else{e[f[u][v]-1].w+=w;}}dinic();if(!ans) {puts("Orz Ni Jinan Saint Cow!");}else {int p=x/ans;if(p*ans<x) {p++;}printf("%d %d\n",ans,p);}return 0;
}

http://www.shuangfujiaoyu.com/news/20286.html

相关文章:

  • 青岛即墨网站网页设计网站排名优化课程
  • 国外手机html5网站广州seo和网络推广
  • phpcms适合做什么网站企业网站开发多少钱
  • 淘客网站建设教程启信聚客通网络营销策划
  • 华强北电子网站建设seo查询是什么意思
  • asp.net网站后台源码自己做网站的流程
  • 云南做网站报价h5页面制作平台
  • 温州瑞安网站建设平台seo全网优化指南
  • 做郑州的购物网站用什么名微信广告朋友圈投放
  • 做网站 人工智能品牌搜索引擎服务优化
  • 阳江市人才招聘网专业seo优化推广
  • 现在网络推广有哪些平台seo查询工具有哪些
  • 广阳网站制作焦作seo推广
  • 建歌网站多少钱上海网络推广团队
  • 广州联雅网络科技有限公司网站seo分析
  • 网站设计与建设报告网站维护的内容有哪些
  • 专业做蛋糕的网站seo查询工具有哪些
  • 怎么在国外做网站seo优化快速排名技术
  • 电商型网站开发多少钱网络推广都是收费
  • 个人账号如何注册网站湖南靠谱seo优化报价
  • 搜索引擎对网站推广的作用seo推广哪家服务好
  • inititle 网站建设营销型网站的分类
  • 迅腾网络网站建设有限公司职业培训网
  • 网站制作器手机版下载中国第三波疫情将在9月份
  • 做服装的一般去什么网站找图片南京seo排名优化
  • 网站建设项目的网络图免费的h5制作网站
  • 山西大同专业网站建设价格宁波优化网站排名软件
  • 温州平阳县网站建设兼职千万别在百度上搜别人名字
  • 苏州网站建设布局自媒体怎么赚钱
  • 惠州专业做网站互联网营销师考证多少钱