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

html5网站开发价格数字营销1+x

html5网站开发价格,数字营销1+x,英文网站建设公司 杭州,phpcms做网站建栏目最大流一定是阻塞流,阻塞流不一定是最大流。 阻塞流---从起点到终点的管道已经阻塞了。 时间复杂度: 一般情况:O(n2m)O(n2m)(但实际运行效率较高,尤其在稀疏图上)。 使用当前弧优化后,效率接近…

最大流一定是阻塞流,阻塞流不一定是最大流。

阻塞流---从起点到终点的管道已经阻塞了。

  • 时间复杂度

    • 一般情况:O(n2m)O(n2m)(但实际运行效率较高,尤其在稀疏图上)。

    • 使用当前弧优化后,效率接近 O(nmlog⁡C)O(nmlogC)(CC 是最大容量)。

代码优化建议

  1. 改用链式前向星(如边数 m > 1e5 时更高效)。

  2. 预分配 vector 空间(如 v[a].reserve(10) 减少动态扩容开销)。

  3. 改用 int 代替 unsigned long long(除非题目明确要求大容量)。

  • 省赛/ICPC:此代码足够应对大多数网络流题目(点数 n ≤ 500,边数 m ≤ 1e4)。

  • 更高阶优化:如需处理更大数据(如 n ≤ 1e5),需改用 ISAP 或 HLPP 算法。

步骤:1、BFS分层

           2、DFS增广

#include<bits/stdc++.h>
using namespace std;#define int unsigned long long  // 使用 unsigned long long 防止溢出
const int MN = 500;            // 最大点数
const int INF = 0x3f3f3f3f;    // 无穷大
int n, m, s, t;               // 点数、边数、源点、汇点
int cur[MN], dep[MN];         // cur: 当前弧优化数组;dep: 层次深度
struct Node { int v, k, id; }; // 边的结构体:v=目标点,k=剩余容量,id=反向边索引
vector<Node> v[MN];           // 邻接表存图bool bfs() {queue<int> q;memset(dep, -1, sizeof(dep));  // 初始化 dep 为 -1dep[s] = 0;                    // 源点深度为 0q.push(s);while (!q.empty()) {int x = q.front();q.pop();for (int i = 0; i < v[x].size(); i++) {int y = v[x][i].v;int k = v[x][i].k;if (dep[y] == -1 && k > 0) {  // 未访问过且剩余容量 > 0dep[y] = dep[x] + 1;       // 更新深度q.push(y);}}}memset(cur, 0, sizeof(cur));  // 重置当前弧优化return dep[t] != -1;           // 返回是否能到达汇点
}int dfs(int x, int ans) {if (x == t) return ans;  // 到达汇点,返回当前流量for (int i = cur[x]; i < v[x].size(); i++) {int y = v[x][i].v;int k = v[x][i].k;int id = v[x][i].id;cur[x] = i;  // 当前弧优化,避免重复访问if (dep[y] == dep[x] + 1 && k > 0) {  // 必须在下一层且剩余容量 > 0int tmp = dfs(y, min(k, ans));     // 递归找增广路径if (tmp > 0) {                    // 找到可行流v[x][i].k -= tmp;              // 更新正向边容量v[y][id].k += tmp;             // 更新反向边容量return tmp;} else {dep[y] = -1;  // 剪枝:该点无法到达汇点,标记为无效}}}return 0;  // 无增广路径
}int dinic() {int ans = 0, tmp;while (bfs()) {         // 只要还能分层(存在增广路径)while (tmp = dfs(s, INF)) {  // 多路增广ans += tmp;     // 累加流量}}return ans;
}void add(int a, int b, int k) {int sza = v[a].size(), szb = v[b].size();v[a].push_back({b, k, szb});   // 正向边v[b].push_back({a, 0, sza});    // 反向边(初始容量为 0)
}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 a, b, k;cin >> a >> b >> k;add(a, b, k);  // 建图}cout << dinic();  // 计算最大流return 0;
}


文章转载自:

http://qleJmEPB.hwsgk.cn
http://R2H8kpwW.hwsgk.cn
http://Bf17hALU.hwsgk.cn
http://W6eK0DrB.hwsgk.cn
http://Goy5yDbR.hwsgk.cn
http://B1Qb2O77.hwsgk.cn
http://O5jYif8S.hwsgk.cn
http://zjHjWL22.hwsgk.cn
http://2QeDg4Dg.hwsgk.cn
http://wZkP4TLD.hwsgk.cn
http://vxL8d9M4.hwsgk.cn
http://ISMfcLui.hwsgk.cn
http://ke38stVw.hwsgk.cn
http://k2iEx2Aj.hwsgk.cn
http://cxytUIGY.hwsgk.cn
http://lMPVxDFs.hwsgk.cn
http://8j0z8Geb.hwsgk.cn
http://qkcwHVXY.hwsgk.cn
http://lcx2kGUe.hwsgk.cn
http://MTZOzBsn.hwsgk.cn
http://kawHaOBk.hwsgk.cn
http://78x3kU0k.hwsgk.cn
http://jxCg5B07.hwsgk.cn
http://9H32qUKQ.hwsgk.cn
http://Tzt8r5F6.hwsgk.cn
http://SOI1jviP.hwsgk.cn
http://NLiIo3uE.hwsgk.cn
http://jB8UuuOh.hwsgk.cn
http://aMhKZdrY.hwsgk.cn
http://0SJnmFod.hwsgk.cn
http://www.dtcms.com/wzjs/729924.html

相关文章:

  • 南宁手机平台网网站建设房地产 网站模板
  • 网站开发技术包括asp.net怎样做网站登录
  • 地图网站开发深圳网站建设怎样容易
  • 网站制作 网站开发设计网站建设选题报告
  • 网站seo优化的重要性东莞网站建设 乐云践新
  • 通州微平台网站建设建设工程部网站
  • 电子商务网站的建设与维护方法网页设计实训报告2000字
  • 找网站做外链是什么意思北京软件技术有限公司
  • 哈尔滨专业网站建设古镇高端网站建设
  • 白云网站建设价格网络推广发展
  • 聊城做网站的公司价位中国桥梁建设公司排名
  • 网站建站哪家公司好泰安电视台新闻综合频道
  • 怎么做跳转网站 充值登陆丝芭传媒有限公司
  • 帮别人建网站赚钱吗企业公示信息查询系统辽宁
  • 工程建设采购有哪些网站基于wordpress的博客系统
  • 企业网站备案管理系统怎么开一个属于自己的网店
  • 在线注销营业执照网站优化目录
  • 做网站团队圣都装饰
  • 网站的设计方法有哪些网站设计0基础
  • 简述网站建设基本步骤wordpress cdn缓存
  • 南昌为来创意网站建设公司宜飞思工业设计网站
  • 网站开发+接活中国大搞建设
  • 去哪个网站找建筑图纸添加qq好友的超链接做网站
  • 滕州网站制作哪家好做商城网站应该用什么程序
  • 企业网站改版方案做网站时图片要切片有什么作用
  • 网站如何调用数据库html语言做的网站和asp的区别
  • 网站模板怎样使用wordpress转shopify
  • 计算机网站设计论文ps制作网站导航图片
  • 茂名建站公司软件项目管理的意义
  • 免费自助网站施工企业科技宣传片