传送门 不同的时间每个飞船所在的地点不同,给我们启示按照时间构建分层图. 同一个地点 x <x, dayi - 1> -> <x, dayi> 连一条容量为 INF 的边,因为人们可以在一个地点等待 艘飞船的路径 如果 a 的下一站是 b,那么 <a, dayi - 1> -> <b, dayi> 连一条容量为该飞船容量的边,表示可以 a 坐飞船到 b 增加超级源点 s,s 和地球连一条容量为 k 的边 增加超级汇点 t,月球的每一天都和 t 连…
题目链接 枚举时间 每一个时间点 对于每个之前的位置像当前位置连边,表示这一时刻可待在原地 每艘船 之前时刻位置向当前时刻连边 注意别漏了0时刻src连向earth的边 #include<cstdio> #include<cctype> #include<algorithm> #define gc() getchar() const int T=501,N=17*T,M=25*T,INF=1e7; int n,m,k,src,des,v[25],num[25],pos[…
●(做codevs1908时,发现测试数据也涵盖了1907,想要一并做了,但因为“技术”不佳,搞了一上午) ●09方格取数问题(codevs1907  方格取数3) 想了半天,也没成功建好图: 无奈下参考题解,说是本题要求二分图点权最大独立集,然后可以由结论:“最大点权独立集 = 所有点权 - 最小点权覆盖集 = 所有点权 - 最小割集 = 所有点权 - 网络最大流”转化到求最大流(我真的很懵逼,但又感觉很有道理): 下面附上solution:(自己领悟吧) (不懂那个鬼结论的我就用那个结论建了…
Luogu P2754 星际转移问题 思路 首先,对于地球能否到达月球的问题,考虑使用并查集维护. 对于每艘飞船能够到达的站点,放进一个集合里,若两艘飞船的集合有交集,那么就合并两个集合,最后只要地球和月亮在同一个集合里即可到达. 然后就是多少天送完的问题. 想要最少天数送完,那么每次就尽可能地多送,考虑最大流. 那么怎么建图? 先放 \(n+4\) 个点( \(n\) 个空间站 + 地球和月球 + 源点 +汇点 ),想当然地,源点-->地球,容量为 \(k\) (初始时地球上的人数),月球指向…
36. [CTSC1999][网络流24题] 星际转移 ★★★☆   输入文件:home.in   输出文件:home.out   简单对比时间限制:1 s   内存限制:128 MB «问题描述: 由于人类对自然资源的消耗,人们意识到大约在2300 年之后,地球就不能再居住了. 于是在月球上建立了新的绿地,以便在需要时移民.令人意想不到的是,2177 年冬由于未 知的原因,地球环境发生了连锁崩溃,人类必须在最短的时间内迁往月球.现有n个太空站 位于地球与月球之间,且有m 艘公共交通太空船在其间…
[题意] 由于人类对自然资源的消耗, 人们意识到大约在 2300 年之后, 地球就不能再居住了.于是在月球上建立了新的绿地,以便在需要时移民. 令人意想不到的是, 2177 年冬由于未知的原因, 地球环境发生了连锁崩溃, 人类必须在最短的时间内迁往月球. 现有 n 个太空站位于地球与月球之间,且有 m 艘公共交通太空船在其间来回穿梭.每个太空站可容纳无限多的人, 而每艘太空船 i 只可容纳 H[i]个人.每艘太空船将周期性地停靠一系列的太空站,例如: (1, 3, 4)表示该太空船将周期性地停靠…
判无解的方法非常粗暴:快T了还是没有合法方案,就是无解. 然后枚举答案,对于每一天都建一套太空站,s连地球,t连月球,上一天的太空站连向这一天的太空站,流量均为inf.然后对于每个飞船,上一天的停靠站向这一天的停靠站连边,流量为p.每次新增一天都新建一套,然后跑一次dinic加给tot,等tot>=k,当前枚举的天数就是答案. #include<iostream> #include<cstdio> #include<cstring> #include<que…
http://www.lydsy.com/JudgeOnline/problem.php?id=1927 题意:n个点的无向图.m条加权边.只能从编号小的到编号大的.可以瞬移,瞬移有时间.每个点只能访问一次.问访问所有n个点的最少时间.(N<=800, M<=15000) #include <cstdio> #include <cstring> #include <cmath> #include <string> #include <ios…
Description 由于人类对自然资源的消耗,人们意识到大约在2300 年之后,地球就不能再居住了.于是在月球上建立了新的绿地,以便在需要时移民.令人意想不到的是,2177 年冬由于未知的原因,地球环境发生了连锁崩溃,人类必须在最短的时间内迁往月球.现有n个太空站 位于地球与月球之间,且有m 艘公共交通太空船在其间来回穿梭.每个太空站可容纳无限多的人,而每艘太空船i 只可容纳H[i]个人.每艘太空船将周期性地停靠一系列的太空站,例如:(1,3,4)表示该太空船将周期性地停靠太空站134134…
题目描述 由于人类对自然资源的消耗,人们意识到大约在 2300 年之后,地球就不能再居住了.于是在月球上建立了新的绿地,以便在需要时移民.令人意想不到的是,2177 年冬由于未知的原因,地球环境发生了连锁崩溃,人类必须在最短的时间内迁往月球. 现有 n nn 个太空站位于地球与月球之间,且有 \(m\) 艘公共交通太空船在其间来回穿梭.每个太空站可容纳无限多的人,而每艘太空船 \(i\) 只可容纳 \(H_i\) 个人.每艘太空船将周期性地停靠一系列的太空站,例如:\(\{1, 3, 4 \}\…
Description 10年一度的银河系赛车大赛又要开始了.作为全银河最盛大的活动之一,夺得这个项目的冠军无疑是很多人的 梦想,来自杰森座α星的悠悠也是其中之一.赛车大赛的赛场由N颗行星和M条双向星际航路构成,其中每颗行星都 有一个不同的引力值.大赛要求车手们从一颗与这N颗行星之间没有任何航路的天体出发,访问这N颗行星每颗恰好 一次,首先完成这一目标的人获得胜利.由于赛制非常开放,很多人驾驶着千奇百怪的自制赛车来参赛.这次悠悠 驾驶的赛车名为超能电驴,这是一部凝聚了全银河最尖端科技结晶的梦幻赛…
洛谷 P2754 题目背景 none! 题目描述 由于人类对自然资源的消耗,人们意识到大约在 2300 年之后,地球就不能再居住了.于是在月球上建立了新的绿地,以便在需要时移民.令人意想不到的是,2177 年冬由于未知的原因,地球环境发生了连锁崩溃,人类必须在最短的时间内迁往月球.现有 n 个太空站位于地球与月球之间,且有 m 艘公共交通太空船在其间来回穿梭.每个太空站可容纳无限多的人,而每艘太空船 i 只可容纳 H[i]个人.每艘太空船将周期性地停靠一系列的太空站,例如:(1,3,4)表示该太…
1927: [Sdoi2010]星际竞速 Time Limit: 20 Sec  Memory Limit: 259 MB Submit: 2582  Solved: 1601 [Submit][Status][Discuss] Description 10年一度的银河系赛车大赛又要开始了.作为全银河最盛大的活动之一,夺得这个项目的冠军无疑是很多人的 梦想,来自杰森座α星的悠悠也是其中之一.赛车大赛的赛场由N颗行星和M条双向星际航路构成,其中每颗行星都 有一个不同的引力值.大赛要求车手们从一颗与…
[BZOJ3993][SDOI2015]星际战争 Description 3333年,在银河系的某星球上,X军团和Y军团正在激烈地作战.在战斗的某一阶段,Y军团一共派遣了N个巨型机器人进攻X军团的阵地,其中第i个巨型机器人的装甲值为Ai.当一个巨型机器人的装甲值减少到0或者以下时,这个巨型机器人就被摧毁了.X军团有M个激光武器,其中第i个激光武器每秒可以削减一个巨型机器人Bi的装甲值.激光武器的攻击是连续的.这种激光武器非常奇怪,一个激光武器只能攻击一些特定的敌人.Y军团看到自己的巨型机器人被X…
P2469 [SDOI2010]星际竞速 最小路径覆盖问题 每个星球必须恰好去一次,而每次高速航行都是从一个星球到另一个星球. 那么高速航行的起点可以保证被去过 高速航行和空间跳跃可以是互相独立的 将每个点$i$拆成$i_1,i_2$,套路地连边 $link(S,i_1,1,0)$ $link(S,i_2,1,val_i)$ $link(i_2,T,1,0)$ 对于每条边$(u,v,w)$: $link(u_1,v_2,w)$ 蓝后跑一遍费用流,费用流会覆盖所有路径$(i_2,T)$ 满流的最小…
该文章已转移到博客:https://cynthia0329.github.io/ 1.执行的顺序不一样 冒泡型事件模型: button->div->body (IE事件流) 捕获型事件模型: body->div->button (Netscape事件流) DOM事件模型: body->div->button->button->div->body (先捕获后冒泡) 2.事件侦听函数的区别  IE使用: [Object].attachEvent("…
题目链接 费用流,类似最小路径覆盖. 从起点向i连一条容量1费用0的边,从i'向终点连一条容量1费用0的边: 从起点向i'连一条容量1费用为瞬移的边,从i向j'连一条容量1费用为边权的边. 然后跑就可以了. #include<cstdio> #include<cstdlib> #include<cctype> #include<cstring> #include<algorithm> #include<queue> #define m…
题面 传送门 思路 首先,有一个非常明显的模型: 将激光武器放到一边,机器人放到另一边,从每一个激光武器向它可以攻击的机器人连边,形成一个二分图 建立附加源点$ss$和附加汇点$tt$,$ss$连所有激光武器,$tt$连所有机器人,跑网络流算法 但是,问题在于这道题"武器的攻击是连续的",也就是解是实数解 这使得我一开始想的费用流算法失效了 时间为实数,就说明我们不能把时间当成费用来看,那么该怎么办呢? 我们考虑把实数时间从费用的位置转到流量的位置去 但是流量在一开始就是确定的,最大流…
«问题描述: 由于人类对自然资源的消耗,人们意识到大约在2300 年之后,地球就不能再居住了.于是在月球上建立了新的绿地,以便在需要时移民.令人意想不到的是,2177 年冬由于未知的原因,地球环境发生了连锁崩溃,人类必须在最短的时间内迁往月球.现有n个太空站位于地球与月球之间,且有m 艘公共交通太空船在其间来回穿梭.每个太空站可容纳无限多的人,而每艘太空船i 只可容纳H[i]个人.每艘太空船将周期性地停靠一系列的太空站,例如:(1,3,4)表示该太空船将周期性地停靠太空站134134134….每…
直接把每一个点,每一天拆成一个点. 然后每个点到下一天连$inf$的边. 然后把飞船的路径用容量为飞船容量的边连接. 然后跑网络流判断是否满流. #include <queue> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; #define F(i,j,k) for (int i=j;i<=…
题目: 洛谷2469 分析: 把题目翻译成人话:给一个带边权的DAG,求一个路径覆盖方案使路径边权总和最小.从点\(i\)开始的路径需要额外加上\(A_i\)的权值. 回xian忆chang一xue下xi不带权DAG的最小路径覆盖用网络流是怎么做的:把点\(u\)拆成\(u\)和\(u'\)两个点,如果原图存在边\((u,v)\)就在网络中连边\((u,v')\),然后源点\(s\)向所有\(u\)连边,所有\(v\)向汇点\(t\)连边,所有边容量均为\(1\),跑最大流.原图中点数\(n\)…
将一个空间站分为天数个点,每次枚举天数,每增加一天就把对应天数的边连上,用网络流判定可行性,即-判断最大流是否不小于k,注意编号不要错位.通过此题,可见一些网络流题目需要用到网络判定方法,但虽然答案具有单调性,却不适合二份答案,原因有两个:一是网络流题目一般数据规模不会很大,二是网络流题目如果二分就必须每次全部重新建图,而普通枚举可以在上以阶段的图中递推操作,所以往往枚举的效率和代码复杂度更好. #include <iostream> #include <algorithm> #i…
题目大意:地球与月球间有可容纳无限人的太空站,还有在太空站与星球间按周期行驶的.有固定容量的太空船,每一艘太空船从一个太空站驶往任一太空站耗时均为 1.地球上有一定数量的人,问所有人到月球最少需要多少天. 关键词:分层 最小费用最大流 最大流:把人群看作流. 分层:人们的最优选择会受到其位于哪一天的影响,因此我们关于时间将整个图分层.估计一下最多能用多少天,就分多少层.人们在太空站内可以呆着,因此每天的太空站要向下一天的太空站连容量∞费用1边.太空船运人,因此太空船前一站向下一天的后一站连容量∞…
该文章已转移到博客:https://cynthia0329.github.io/ 什么是事件委托? 它还有一个名字叫事件代理. JavaScript高级程序设计上讲: 事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件. 用取快递来解释这个现象,大家认真领会一下事件委托到底是一个什么原理: 有三个同事预计会在周一收到快递.为签收快递,有两种办法:一是三个人在公司门口等快递:二是委托给前台MM代为签收.现实当中,我们大都采用委托的方案(公司也不会容忍那么多员工站在门口就…
Brief Description 3333年,在银河系的某星球上,X军团和Y军团正在激烈地作战.在战斗的某一阶段,Y军团一共派遣了N个巨型机器人进攻X军团的阵地,其中第i个巨型机器人的装甲值为Ai.当一个巨型机器人的装甲值减少到0或者以下时,这个巨型机器人就被摧毁了.X军团有M个激光武器,其中第i个激光武器每秒可以削减一个巨型机器人Bi的装甲值.激光武器的攻击是连续的.这种激光武器非常奇怪,一个激光武器只能攻击一些特定的敌人.Y军团看到自己的巨型机器人被X军团一个一个消灭,他们急需下达更多的指…
Description 题意:给定n个点m条边的无向图,只能从编号小的到编号大的,且要求经过所有点刚好一次,而且可以从任意点瞬移到i号点并花费代价Ai,求最小代价. n<=800,m<=15000 Solution Code #include <cstdio> #include <algorithm> #include <queue> #define N 2010 #define Inf 0x7fffffff using namespace std; str…
源向地球连 月球向汇连 每一天往下一天连 飞船上一天与这一天连 枚举答案 #include <iostream> #include <cstring> #include <cstdio> #include <queue> using namespace std; struct Edge{ int too, nxt, val; }edge[1000005]; int n, m, k, cnt, hea[10005], ans, lev[10005], maxF…
最近一直很忙,为了节省时间,从今以后的题解会 一个专题 写一篇. 刷了一些题后,有了以下总结: 模型要点: 1.构造流量平衡,在满足流量平衡的情况下,找到要让什么最大. 2.一般用于判断性问题,即所有从源点流出的边满流(或者所有流入汇点的边满流)的时候可行.所以往往和二分答案结合起来使用. 3.如果答案假设为i+1的时候的图仅仅比假设答案为i的时候的图多了一些点或者边,那么可以在假设答案为i的图 跑过最大流后,加上相应的点和边,继续跑最大流.这样顺序枚举答案,避免了每次重新做最大流和重新构图,许…
最近在浏览某篇有关事件流的文章时,里面提到了数据的流处理,兴趣来了,就想看看能否在Android端实现一个. 根据文章的介绍,将每次数据的变更事件,像是插入,删除或者更新等,记为一个不可变的事件,让数据在事件中流淌,而不是对数据库进行破坏性的写入,也就是说,直接读取数据的聚合结果就能获取最好的性能. 事件流可以完成下面的工作: 1.获取所有的原始事件,可能需要进行转换,然后将它们加载到一个大型的数据仓库中供分析人员使用: 2.更新全文搜索索引,使用户可以搜索最新的数据: 3.更新缓存,使系统可以…
写在前面:SDOI2016 Round1滚粗后蒟蒻开始做网络流来自我拯救(2016-04-11再过几天就要考先修课,现在做网络流24题貌似没什么用←退役节奏) 做的题目将附上日期,见证我龟速刷题. 1.飞行员配对方案问题 2016-04-11 二分图最大匹配问题,更新了一下$Dinic$模板,带上了当前弧优化和多路增广.这道题输出方案有很多种,可是没有special judge,所以没有A,但方案数是对的.合法的输出方案只能用匈牙利算法解决. #include<queue> #include&…