Flow Network C++ Implementation
Project description
Flow Network
网络流的工业级应用
使用 Dinic
和朴素费用流,算法来自 DuckKnowNothing - 网络流
支持平台
在尝试了各种方法之后,GitHub Actions 在 Windows 平台下始终无法正确编译 C++,所以放弃支持 Windows 平台
- Linux
- macOS
安装
pip install flow-network
样例代码
from flow_network import FlowNetwork, MinimumCostFlow
fn = FlowNetwork(2) # 创建一个包含 2 个点的网络流对象,下标从 0 开始
fn.add_edge(0, 1, 3) # 添加一条从 0 指向 1 的边,流量为 3
result = fn.run(0, 1) # 指定源点为 0,汇点为 1,跑最大流 & 最小割
print(result) # 3
mcf = MinimumCostFlow(2) # 创建一个包含 2 个点的费用流对象,下标从 1 开始
mcf.add_edge(0, 1, 3, 2) # 添加一条从 0 指向 1 的边,流量为 3,单位流量的费用为 2
flow, cost = mcf.run(0, 1) # 指定源点为 0,汇点为 1,跑最大流 & 最小费
print(flow, cost) # 3 6
测试代码
Reference
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
flow-network-0.1.8.tar.gz
(63.9 kB
view hashes)
Built Distributions
Close
Hashes for flow_network-0.1.8-cp39-cp39-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e75b085ae9391f04fed7da1bd1281b6031b987d8afac80c960255a9cd02b3b74 |
|
MD5 | 071753f2e79c4e913294d864f6529d84 |
|
BLAKE2b-256 | 4a02d196c25a9672f7d897834d081ceb02e5b414586fc28da25786bced67224f |
Close
Hashes for flow_network-0.1.8-cp39-cp39-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2569aacb5510266434c1592c7d3e22cf27e0abfd42bb2657fb41b40b65454bdd |
|
MD5 | 9092a00ccdb2f63a7a1a69507cce16c8 |
|
BLAKE2b-256 | d37fd1ffc7b3ed6c3255b52ba23cce17ad729f0fa4e1619fad827b58bfb9cf05 |
Close
Hashes for flow_network-0.1.8-cp38-cp38-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2647d24e524ab3e513df5ba3f4fb2d2ae207039aa15deadab56189c75ccca091 |
|
MD5 | 3bf28f30a6cc1a623e47cf65ba438013 |
|
BLAKE2b-256 | 455ab39f7e80f26395144435108c6db8d040c29cc81bf0ac9028e6b51ac087c3 |
Close
Hashes for flow_network-0.1.8-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 271ccec399c77dd3beeee53eb33b2da6a7b784d39d5b9ec522acc5e35ad54fa6 |
|
MD5 | 61a21609ad2683e430b76d83a229bd3b |
|
BLAKE2b-256 | b3cc1d4d230dd3b03c042ed658aee2e6cd89058853a190e31931c55dd3bac5d0 |
Close
Hashes for flow_network-0.1.8-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af9b06f4322855ece6cfbdd565a57200f069e763fa828b5c60b304ed859ab0fa |
|
MD5 | ec6202c277bc8b74132d2e6bc306060c |
|
BLAKE2b-256 | ceb9d84dd23caa5e43d6b889f55b0a2e0b3d3946c729df76149cafee4ae6d1fe |
Close
Hashes for flow_network-0.1.8-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 690edbd51cafac2c2c5c16813510b72dad0af6bfeb8d8304de750425c29af027 |
|
MD5 | 2c22636b907696af4ff02668dedcf330 |
|
BLAKE2b-256 | 5ec07b869eeaba50718fbd7c2a41d7a89798823f7778e76c1e61d619945c76ec |
Close
Hashes for flow_network-0.1.8-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1fa15ac048f7dce3ea43d6367eca5e7846f85b29b9b59a7118676679bc92b4ce |
|
MD5 | 90815de5f9ceb0be2d378156a2793765 |
|
BLAKE2b-256 | b8f21f8d92de8a303973d56dab9d75b2ee5b98abc5b7dc940630a3118b026af4 |
Close
Hashes for flow_network-0.1.8-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 601189bee5b5e9fd6779f9350603b1d44d2ef80f704626e2552c335c3d880f2f |
|
MD5 | e006a142713f90a28c7e4d0704315071 |
|
BLAKE2b-256 | 1dcd816406576c516419cf55e64c1884dd17eac10c927c72676794a8db9a7f43 |
Close
Hashes for flow_network-0.1.8-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ee0f21d432f935fed5d98ae5b5f56f73f3f246877a2b04bef01b8a1e2ee67ab |
|
MD5 | abc45c61d4a4e60f3edc0f4ca935ec74 |
|
BLAKE2b-256 | 4fb5e45cfde5656843e50b530ccddff0153948272653c15c30584d3ce4eb07c7 |
Close
Hashes for flow_network-0.1.8-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0c26797a50ad0f10b2993e1a80ef86a50c3b03b69783448feb4b593e985348b |
|
MD5 | 88adb6706025d7b41a3b62ee184a3152 |
|
BLAKE2b-256 | baa2750beabe00668923c5b12b277e109fa80adfb40f9c3e57beb4daa085c738 |