家园 wiki 1034

2024-05-10 12:18
文章标签 wiki 家园 1034

本文主要是介绍家园 wiki 1034,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

网络流+拆点。

假设有n个空间站,每个站每过一秒,就会在分出来一个点,表示这一秒的空间站。假如有三个空间站a,b,c。第0秒整个图就是由超级源点,地球,空间站a,b,c,汇点。第一秒的时候多了a1,b1,c1三个点。由于空间站容量无限大,因此a->a1的边应该是容量为无限大,同理b到b1,c到c1也是。如果有飞机第零秒从a飞到b,则a到b1连一条边,容量为该飞机的容量。以上就是建图方法。

我的AC代码:

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <queue>
#include <vector>
using namespace std;
struct Edge{int from,to,cap,flow;
};
#define INT_MAX 0x07777777
int n,m,k,s,t,result,sz;
int c[50],pre[50],now[50],changdu[50];
int p[50000],a[50000],inq[50000];
int route[20][20];
vector<Edge> es;
vector<int> G[50000];
void AddEdge(int from, int to, int cap){es.push_back(Edge{from,to,cap,0});es.push_back(Edge{to,from,0,0});int num = es.size();G[from].push_back(num-2);G[to].push_back(num-1);
}
void init(){scanf("%d%d%d",&n,&m,&k);memset(route, -1, sizeof(route));for(int i = 0; i < m; i++){scanf("%d %d",&c[i], &changdu[i]);for(int j = 0; j < changdu[i]; j++){scanf("%d", &route[i][j]);if (route[i][j]==-1) {route[i][j] = n+2;}else{route[i][j]++;}}}s = 0;t = n+2;AddEdge(0, 1, k);for (int i = 0; i <= n+2; i++) {now[i] = i;}sz = n+3;
}
void solve(){int curtime = 0;while (curtime < 200) {for(int i = 0; i <= n+2; i++) pre[i] = now[i];for(int i = 1; i < n+2; i++) {now[i] = sz; sz++;}for(int i = 0; i < m; i++){int cur = curtime % changdu[i];int next = (cur==changdu[i]-1 ? 0 : cur+1);if (route[i][cur]==n+2) {continue;}AddEdge(pre[route[i][cur]], now[route[i][next]], c[i]);}for(int i = 1; i < n+2; i++){AddEdge(pre[i], now[i], INT_MAX);}//for(int i = 0; i < es.size(); i++) es[i].flow = 0;memset(p, -1, sizeof(p));memset(a, 0, sizeof(a));a[0] = INT_MAX;queue<int> q;q.push(0);//result = 0;while (true) {memset(a, 0, sizeof(a));a[0] = INT_MAX;q.push(0);while (!q.empty()) {int u = q.front();q.pop();for(int i = 0; i < G[u].size(); i++){Edge& e = es[G[u][i]];if(e.cap > e.flow && !a[e.to]){a[e.to] = (a[e.from] < e.cap-e.flow ? a[e.from] : e.cap-e.flow);q.push(e.to);p[e.to] = G[u][i];}}}if(a[t]==0) break;int u = t;while (u) {es[p[u]].flow += a[t];es[p[u]^1].flow -= a[t];u = es[p[u]].from;}result += a[t];}curtime++;if (result>=k) {printf("%d\n",curtime);break;}}if (curtime==200) {printf("%d\n",0);}
}
int main(int argc, const char * argv[])
{init();solve();
}


这篇关于家园 wiki 1034的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/976419

相关文章

大家好,我是探索者,希望得到激励,让我们携手共建社区家园

技术擅长:OpenHarmony稳定性测试、XTS测试、性能测试、功耗测试。 社区贡献:发布过22篇文章,解决过10+个问题,参与过40+问答或讨论。 代表作品: 1、帧率测试的三种方法 2、SmartPerf_Host抓trace方法 3、利用pefertto分析trace方法 4、XTS测试-运行run.bat报错 5、稳定性脚本代码逐行解析

centos7 【项目部署篇】搭建一套wiki知识库系统

本文详细介绍了 如何在LinuxCentOS7.9环境下搭建mm-wiki知识库系统,包括环境要求、下载安装包、上传至服务器、启动安装服务。 0.环境要求 宝塔直接部署基础环境 LAMP https://www.bt.cn/new/download.html Centos7 直接执行 yum install -y wget && wget -O install.sh https://dow

wiki.js 部署

1 前言 找了许久的个人知识库系统,迟迟没有动作。经过了解后感觉wiki.js还不错,这个系列文章详细描述一下全过程。 wifi.js可以满足我的以下要求: 支持文档在线编辑支持二进制文件上传和下载支持历史记录和回滚支持用户账号分权支持数据和nas同步 这个系列打算用三个篇章来描述,分别是部署和使用以及迁移。 本篇文章是wifi.js系列的第一篇,wifi.js部署 参考: 1. W

1034 forest

大水题,WA到吐了,结果发现犯了一弱智错误,擦 1.定义dept[]数组,主要用bfs ,将子节点的dept值累加父节点的dept值,遍历一颗或者若干树。从根节点(bepointed[]值为false的点)出发遍历全棵树。 2.存储方式:邻接表存边 vector+queue  , #include <iostream>#include<queue>#include<vector>

搭建一个私有的知识库mm-wiki

文章目录 前言一、mm-wiki二、安装步骤下载安装 总结 前言 一般公司内部想要记录一些东西,都需要一个共享文档,当然可以选择类似比较简单易用的,有道云笔记,腾讯文档,语雀等,但是肯定有些公司是保密的,所以不希望这些数据被泄露,当然选择本地存储是最安全的~ 一、mm-wiki 对于程序员而言,当然习惯了markdown方式的文档记录方式,那么这款开源的笔记可以说是比

J2ME wiki

为了总结j2me的相关经验,将平时零碎的经验汇集于此 为什么学习老旧de j2me? 的确j2me已经过气,但是作为一个api,她与安卓具有一定的可比性,有助于我对api系统特点的学习,她们的共同性可以为我将来研究汽车api提供帮助。 eclipseme插件 参考Eclipse 安装插件 wtk WTK是针对移动设备的Java api类库 建立j2me项目 生成ja

团队知识管理首选:12款优秀开源Wiki系统推荐

文章介绍了12款好用的开源Wiki:PingCode、DokuWiki、MediaWiki、Tiki Wiki CMS Groupware、XWiki、BookStack、PMWiki、Foswiki、GitBook、Wiki.js、TiddlyWiki、Slite。以及对比了一款非开源但提供免费版本的Wiki工具,以供大家选择。 在企业知识管理和团队协作中,Wiki系统因其强大的编辑和组

【wiki知识库】06.文档管理页面的添加--前端Vue部分

📝个人主页:哈__ 期待您的关注  目录 一、🔥今日目标  二、🐻前端Vue模块的改造 BUG修改 1.wangeditor无法展示问题 2.弹窗无法正常关闭问题 2.1 添加admin-doc.vue 2.1.1 点击admin-ebook中的路由跳转到admin-doc  2.2.2 进入到admin-doc中调用初始化查询方法 2.2.3 文档编辑

【wiki知识库】04.SpringBoot后端实现电子书的增删改查以及前端界面的展示

📝个人主页:哈__ 期待您的关注  目录 一、🔥今日内容 二、🌏前端页面的改造 2.1新增电子书管理页面 2.2新增路由规则 2.3修改the-header代码 三、🚗SpringBoot后端Ebook模块改造 3.1增加电子书增/改接口 3.1.1新增EbookSaveParam 3.1.2添加Controller代码 3.1.3在Ebook实

如何配置防火墙 - OpenWrt Wiki

-  如何配置防火墙 You are here:  OpenWrt Wiki ?  OpenWrt简体中文Wiki ?  文档 ?  UCI系统 ?  如何配置防火墙 ?Table of Contents 从软件包的角度看 Openwrt 的 iptables 是如何组织的 Sections Defaults Zones 转发 重定向 规则 包括 举