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

商城类网站建设步骤b站推广网站2024

商城类网站建设步骤,b站推广网站2024,台州企业免费建站,个人可以做招聘网站吗回来了! 今天(?发出来的时候可能已经是第二天了吧 真的爆零了qaq 挺难的 最高分只有100 而且t2t3t4一个人都没拿分qaq 这段时间在写网络流 唉博客还是不要写太水了 抄一点网络流代码上来 EK不写了 dinic会就行了 板子题洛谷p3376 dini…

回来了!

今天(?发出来的时候可能已经是第二天了吧

真的爆零了qaq

挺难的 最高分只有100 而且t2t3t4一个人都没拿分qaq

这段时间在写网络流 唉博客还是不要写太水了 抄一点网络流代码上来

EK不写了 dinic会就行了

板子题洛谷p3376

dinic做法

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N = 210, M = 1e4+10;
int n, m, s, t, tot = 1, ver[M], h[N], nxt[M], edg[M], d[N], now[N], fl, inf = 0x7fffffff, maxf;
queue < int > q, clr;
void add(int u, int v, int w){ver[++tot] = v; edg[tot] = w, nxt[tot] = h[u];h[u] = tot;ver[++tot] = u; edg[tot] = 0, nxt[tot] = h[v];h[v] = tot;
}
bool bfs(){memset(d, 0, sizeof d); q = clr;q.push(s); d[s] = 1, now[s] = h[s];while (q.size()){int x = q.front(); q.pop();for (int i = h[x]; i; i = nxt[i]){if (!edg[i] || d[ver[i]]) continue;q.push(ver[i]);now[ver[i]] = h[ver[i]];d[ver[i]] = d[x] + 1;if (ver[i] == t) return true;}}return false;
}
int dinic(int x, int flw){if (x == t) return flw;int rst = flw;for (int i = now[x]; i; i = nxt[i]){now[x] = i;if (!edg[i] || d[ver[i]] != d[x] + 1) continue;int k = dinic(ver[i], min(rst, edg[i]));if (!k) d[ver[i]] = 0;edg[i] -= k; edg[i ^ 1] += k;rst -= k;}return flw - rst;
}
signed main(){ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);cin >> n >> m >> s >> t;for (int i = 1; i <= m; ++i){int u, v, w; cin >> u >> v >> w;add(u, v, w);}while (bfs()) while (fl = dinic(s, inf)) maxf += fl;cout << maxf << "\n";return 0;
}

dinic优化ISAP做法

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N = 210, M = 1e4+10;
int n, m, s, t, tot = 1, ver[M], h[N], nxt[M], edg[M], dep[N], gap[N], maxf, inf = 0x7fffffff, cur[N];
queue < int > q;
void add(int u, int v, int w){ver[++tot] = v; nxt[tot] = h[u], edg[tot] = w;h[u] = tot;ver[++tot] = u; nxt[tot] = h[v], edg[tot] = 0;h[v] = tot; 
}
void bfs(){memset(dep, -1, sizeof(dep));q.push(t); gap[dep[t] = 0] = 1;while (!q.empty()){int x = q.front(); q.pop();for (int i = h[x]; i; i = nxt[i]){if (dep[ver[i]] != -1) continue;q.push(ver[i]); dep[ver[i]] = dep[x] + 1;++gap[dep[ver[i]]];}}
}
int dfs(int x, int flw){if (x == t) return flw;int rst = flw;for (int i = cur[x]; i; i = nxt[i]){cur[x] = i;if (!edg[i] || dep[ver[i]] != dep[x] - 1) continue;int k = dfs(ver[i], min(rst, edg[i]));edg[i] -= k, edg[i ^ 1] += k;rst -= k;if (!rst) return flw;} --gap[dep[x]];if (!gap[dep[x]]) dep[s] = n + 1;++gap[++dep[x]];return flw - rst;
}
int isap(){bfs();while (dep[s] < n){memcpy(cur, h, sizeof(cur));maxf += dfs(s, inf);}return maxf;
}
signed main(){ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);cin >> n >> m >> s >> t;for (int i = 1; i <= m; ++i){int u, v, w; cin >> u >> v >> w;add(u, v, w);}cout << isap() << "\n";return 0;
}

费用流板子题洛谷p3381

dinic+spfa

#include<bits/stdc++.h>
//#define int long long
using namespace std;
const int N = 5010, M = 200010, inf = 0x3f3f3f3f;
int m, n, k, tot = 1, h[N], ver[M], nxt[M], edg[M], cst[M], dis[N], cur[N], s, t, ans, maxf, fl;
bool vis[N], v[N];
queue < int > q, clr;
void add(int u, int v, int w, int c){ver[++tot] = v; nxt[tot] = h[u], edg[tot] = w, cst[tot] = c;h[u] = tot;ver[++tot] = u; nxt[tot] = h[v], edg[tot] = 0, cst[tot] = -c;h[v] = tot;
}
bool spfa(){q = clr;memset(dis, 0x3f, sizeof(dis));memset(vis, 0, sizeof vis);q.push(s); dis[s] = 0, vis[s] = 1;while (q.size()){int x = q.front(); q.pop(); vis[x] = 0;for (int i = h[x]; i; i = nxt[i]){if (!edg[i] || dis[ver[i]] <= dis[x] + cst[i]) continue;dis[ver[i]] = dis[x] + cst[i];if (!vis[ver[i]]) vis[ver[i]] = 1, q.push(ver[i]);}}return dis[t] != inf;
}
int dinic(int x, int flw){v[x] = 1;if (x == t) return flw;int rst = flw;for (int i = cur[x]; i; i = nxt[i]){cur[x] = i;if (!edg[i] || dis[ver[i]] != dis[x] + cst[i] || v[ver[i]]) continue; v[ver[i]] = 1;int k = dinic(ver[i], min(rst, edg[i]));edg[i] -= k, edg[i ^ 1] += k;rst -= k; ans += k * cst[i];}return flw - rst;
}
signed main() {//ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);cin >> n >> m >> s >> t;for (int i = 1; i <= m; ++i){int u, v, w, c; cin >> u >> v >> w >> c;add(u, v, w, c);}while (spfa()){memcpy(cur, h, sizeof(h));memset(v, 0, sizeof(v));while ((fl = dinic(s, inf)) > 0) maxf += fl;}cout << maxf << " " << ans << "\n";return 0;
}

其他一些例题 不放代码了

洛谷p4452 

洛谷p2053

洛谷p2045

如果有可能说不定到时候会写网络流学习笔记...?(大概率是不可能的

http://www.dtcms.com/wzjs/426053.html

相关文章:

  • 在大网站做网页广告需要多少钱优势的seo网站优化排名
  • 网站美工的重要性汽车网络营销推广方案
  • 网站开发管理课程设计说明网站快速排名
  • 响应式网站的开发排名优化培训
  • 采集做网站网络营销策划方案范文
  • 国航网站建设无锡seo网站排名
  • 珠海市网站建设企业沧州百度推广总代理
  • 重庆市企业网站建设最近的国际新闻热点
  • 企业网站建设需求文档精准营销策略都有哪些
  • 做网站如何找项目搜索平台
  • 企业网站开发步骤免费网络推广
  • 做视频网站收费标准优化大师怎么提交作业
  • 服务器用来做网站空间制作网页模板
  • 谷歌推广网站建设武汉最新今天的消息
  • 建设一个网站需要什么软件seo快速培训
  • 工作压力大河南网站seo费用
  • 戏剧节宣传推广方案百度首页优化
  • 凡科做网站给后台的吗软文营销是什么意思
  • 网站地址查询ip河南网站顾问
  • 电子商务网站设计原理知识点关键词优化公司排名榜
  • 浙江省建设银行纪检官方网站网站网络营销公司
  • 政府网站群建设方案全网引流推广
  • 站长工具seo综合查询怎么用目前网络推广平台
  • 昆明做网站建设的公司排名怎么制作小程序
  • 中学网站建设方案计划seo搜索引擎优化工作内容
  • session WordPressaso优化重要吗
  • 网站建设预付款网站制作流程
  • 如何创业做网站百度网盘官方下载
  • 有那些做任务的网站火蝠电商代运营靠谱吗
  • 做简历用的网站网络营销常用的工具