UVALive 5099 Nubulsa Expo 全球最小割 非网络流量 n^3

主题链接:点击打开链接

意甲冠军:

给定n个点m条无向边 源点S

以下m行给出无向边以及边的容量。

问:

找一个汇点,使得图的最大流最小。

输出最小的流量。

思路:

最大流=最小割。

所以题意就是找全局最小割。

和源点无关。由于不关心源点在哪个点集里。

模版题: O(n^3)

#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
typedef long long ll;
const int N = 305;
const ll maxw = 1000007;
const ll inf = 1e17;
ll g[N][N], w[N];
int a[N], v[N], na[N];
ll mincut(int n) {
	int i, j, pv, zj;
	ll best = inf;
	for(i = 0; i < n; i ++) v[i] = i;
		
	while(n > 1) {
		for(a[v[0]] = 1, i = 1; i < n; i ++) {
			a[v[i]] = 0;
			na[i-1] = i;
			w[i] = g[v[0]][v[i]];
		}
		for(pv = v[0], i = 1; i < n; i ++) {
			for(zj = -1, j = 1; j < n; j ++)
				if(!a[v[j]] && (zj < 0 || w[j] > w[zj])) zj = j;
				
			a[v[zj]] = 1;
			if(i == n-1) {
				if(best > w[zj]) best = w[zj];
				for(i = 0; i < n; i ++) {
					g[v[i]][pv] = g[pv][v[i]] += g[v[zj]][v[i]];
				}
				v[zj] = v[--n];
				break;
			}
			pv = v[zj];
			for(j = 1; j < n; j ++) if(!a[v[j]])
				w[j] += g[v[zj]][v[j]];
		}
	}
	return best;
}
int main() {
	int n, m, K, u, v ,w;
	while(~scanf("%d%d%d", &n, &m, &K)) {
		if(n == 0) break;
		for(int i = 0; i < n; i ++) {
			for(int j = 0; j < n; j ++) {
				g[i][j] = g[j][i] = 0;
			}
		}
		for(int i = 0; i < m; i ++) {
			scanf("%d%d%d", &u, &v, &w);
			u--; v --;
			g[u][v] += w;
			g[v][u] += w;
		}
		printf("%lld\n", mincut(n));
	}
	return 0;
}


版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要打包 iOS 应用程序,需要进行以下步骤: 1. 在终端中执行以下命令安装 Expo CLI: ``` npm install -g expo-cli ``` 2. 使用以下命令创建新的 Expo 项目: ``` expo init my-project ``` 3. 进入项目目录并安装依赖项: ``` cd my-project npm install ``` 4. 在终端中执行以下命令启动 Expo 开发服务器: ``` expo start ``` 5. 在启动 Expo 开发服务器后,会自动打开 Expo DevTools 界面。从这里可以运行应用程序并在 iOS 模拟器中查看。要在模拟器中运行应用程序,请点击 Expo DevTools 界面上的 "Run on iOS simulator" 按钮。 6. 要在实际的 iOS 设备上运行应用程序,请安装 Expo 客户端应用程序并扫描二维码。在 Expo DevTools 界面上,可以使用 "Publish or republish project" 按钮将应用程序发布到 Expo 服务器上。 7. 要将应用程序打包为 iOS 应用程序,请使用以下命令: ``` expo build:ios ``` 8. 执行上述命令后,Expo 将开始构建应用程序并生成用于安装和部署应用程序的二进制文件。生成的文件将位于 Expo 服务器上,可以使用以下命令下载: ``` expo build:status ``` 9. 下载文件后,可以使用 Xcode 将应用程序上传到 App Store。打开 Xcode 并导航到 "Window" > "Organizer" 界面。在这里,可以创建新的应用程序版本并将 Expo 生成的二进制文件上传到 App Store。 以上就是使用 Expo 打包 iOS 应用程序的步骤。注意,这些步骤可能会因时而异,具体取决于您的应用程序和开发环境。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值