04 2016 档案

摘要:题目大概说给一个n*m的格子,每个格子放金蛋或银蛋都会得到不同的价值,当然也可以不放,不过如果存在相邻的两个格子都是金蛋会损失价值g,都是银则损失s。问能得到的最大价值。 有点像二者选一的最小割模型,所以应该能想到用最小割求解,最小割的目的就是最小化损失的价值,包括不放金蛋或不放银蛋以及相邻相同蛋的 阅读全文
posted @ 2016-04-30 23:28 WABoss 阅读(310) 评论(0) 推荐(0) 编辑
摘要:题目大概说一棵树,树边有费用和收益两个属性,求一条收益和最大的路径满足费用和不超过C。 树上任意两点的路径都可以看成是过某一个子树根的路径,显然树分治。 治的时候要解决的一个问题是,找到费用小于等于某个数且收益最大的值。 这个很容易想到用线段树,不过不想写线段树。。 想了想,想到可以先排序,从小到大 阅读全文
posted @ 2016-04-28 18:19 WABoss 阅读(334) 评论(0) 推荐(1) 编辑
摘要:题目大概说给一张有向图,每条边都有权值,要选若干条边使其形成若干个环且图上各个点都属于且只属于其中一个环,问选的边的最少权值和是多少。 各点出度=入度=1的图是若干个环,考虑用最小费用最大流: 每个点拆成两点u和u' 源点向u连容量1费用0的边,表示这个点的出度最多为1 u'向汇点连容量1费用0的边 阅读全文
posted @ 2016-04-26 20:14 WABoss 阅读(172) 评论(0) 推荐(0) 编辑
摘要:题目大概是说n个人两两进行比赛,问如何安排几场比赛的输赢使得A胜B,B胜C,C胜A这种剪刀石头布的三元组最多。 这题好神。 首先,三元组总共有$C_n^3$个 然后考虑最小化不满足剪刀石头布条件的三元组个数,而要求的结果就是总数-这个不满足的个数了: 对于三个人构不成剪刀石头布现象,当且仅当,其中一 阅读全文
posted @ 2016-04-20 17:19 WABoss 阅读(423) 评论(0) 推荐(0) 编辑
摘要:题目这么说的: 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有28个按键,分别印有26个小写英文字母和'B'、'P'两个字母。经阿狸研究发现,这个打字机是这样工作的: 例如,阿狸输入aPaPBbP,纸上被打印的字符如下:aaaab我们把纸上打印出来的字符串从1开始顺序编号, 阅读全文
posted @ 2016-04-19 10:41 WABoss 阅读(344) 评论(0) 推荐(0) 编辑
摘要:题目大概说给一张有向图,要从0点出发返回0点且每条边至少都要走过一次,求走的最短路程。 经典的CPP问题,解法就是加边构造出欧拉回路,一个有向图存在欧拉回路的充分必要条件是基图连通且所有点入度等于出度。 而这题,果断联想到混合图欧拉回路的做法,用最小费用最大流解决: 先只考虑所有边都只走一次,计算出 阅读全文
posted @ 2016-04-16 17:10 WABoss 阅读(1060) 评论(0) 推荐(1) 编辑
摘要:题目大概说,给一张图,删除其中一些单向边,使起点s出度比入度多1,终点t入度比出度多1,其他点出度等于入度。其中删除边的费用是bi,保留边的费用是ai,问完成要求最小的费用是多少。 一开始我想到和混合图欧拉回路(POJ1637)的类似构造方法: 假设所有边一开始都是保留的,算出各个点的入度和出度,另 阅读全文
posted @ 2016-04-15 15:06 WABoss 阅读(359) 评论(0) 推荐(0) 编辑
摘要:题目大概说有平面有n个点,从1点出发走到n点,每一步只能走到序号比当前更大的点且走的序列不能包含给定的m个序列中的任何一个,问1走到n的最短路。 用m个序列建个AC自动机,后缀包含整个序列的结点标记一下,然后用dp[u][S]表示走到u点且走的序列的后缀状态是自动机上第S个结点的最短路,这样在AC自 阅读全文
posted @ 2016-04-14 22:23 WABoss 阅读(294) 评论(0) 推荐(0) 编辑
摘要:题目大概说有个n×m的格子,有两种走法,每种走法都是一个包含D或R的序列,D表示向下走R表示向右走。问从左上角走到右下角的走法有多少种走法包含那两种走法。 D要走n次,R要走m次,容易想到用AC自动机上的DP解决: 用两种走法的序列构造AC自动机 dp[i][j][S][k]表示D用了i个R用了j个 阅读全文
posted @ 2016-04-13 16:40 WABoss 阅读(280) 评论(0) 推荐(0) 编辑
摘要:题目大概说,有n个从0到n-1的城市,要从城市0运送石头到城市1,运送石头的单价是p。城市间的有m条双向路相连,路都有能运送石头的限额c1,如果超过限额运送石头的单价就要提高c2。问在总花费c以内能运送最多多少石头。 不大一样的题。建容量网络很容易: 源点向0连容量INF费用p的边,1向汇点连容量I 阅读全文
posted @ 2016-04-12 17:31 WABoss 阅读(273) 评论(0) 推荐(1) 编辑
摘要:题目大概说有一个n×n的矩阵,每个格子都有权值和高度,在这个矩阵中进行最多k次旅行,每次旅行能从当前格子走到相邻且高度更小的格子,走到格子边界就能出去完成这次旅行。每走到一个格子就累加格子的权值然后把该格子的权值设置成0。问能获得的最大权和。 很容易建容量网络。。主要是每个点拆成两个点,中间的边再拆 阅读全文
posted @ 2016-04-12 08:53 WABoss 阅读(274) 评论(0) 推荐(0) 编辑
摘要:题目这么说: 给定一个由n 行数字组成的数字梯形如下图所示。梯形的第一行有m 个数字。从梯形的顶部的m 个数字开始,在每个数字处可以沿左下或右下方向移动,形成一条从梯形的顶至底的路径。规则1:从梯形的顶至底的m条路径互不相交。规则2:从梯形的顶至底的m条路径仅在数字结点处相交。规则3:从梯形的顶至底 阅读全文
posted @ 2016-04-11 16:40 WABoss 阅读(289) 评论(0) 推荐(0) 编辑
摘要:题目大概给一个电路,电路上有n+2个结点,其中有两个分别是电源和负载,结点们由m个单向的部件相连,每个部件都有最少需要的电流,求使整个电路运转需要的最少电流。 容量网络的构建很容易,建好后就是一个有源汇流量有上下界网络的最小流问题,解法如下: 同无源汇上下界网络可行流一样建图,见ZOJ2314,然后 阅读全文
posted @ 2016-04-11 11:13 WABoss 阅读(328) 评论(0) 推荐(0) 编辑
摘要:题目大概说在n天里给m个女孩拍照,每个女孩至少要拍Gi张照片,每一天最多拍Dk张相片且都有Ck个拍照目标,每一个目标拍照的张数要在[Lki, Rki]范围内,问最多能拍几张照片。 源点-天-女孩-汇点,这样子建容量网络。然后就是求这个有源汇流量有上下界容量网络的最大流: 首先计算其可行流,POJ23 阅读全文
posted @ 2016-04-10 15:58 WABoss 阅读(256) 评论(0) 推荐(0) 编辑
摘要:题目大概给一个有n×m个单元的矩阵,各单元是一个非负整数,已知其每行每列所有单元的和,还有几个约束条件描述一些单元是大于小于还是等于某个数,问矩阵可以是怎样的。 经典的流量有上下界网络流问题。 把行、列看成点,各单元看成边 源点向各行连容量下界0上界该行和的边,各列向汇点连容量下界0上界该列和的边 阅读全文
posted @ 2016-04-10 08:55 WABoss 阅读(935) 评论(1) 推荐(2) 编辑
摘要:题目大概说一个核反应堆的冷却系统有n个结点,有m条单向的管子连接它们,管子内流量有上下界的要求,问能否使液体在整个系统中循环流动。 本质上就是求一个无源汇流量有上下界的容量网络的可行流,因为无源汇的容量网络上各个顶点都满足流量平衡条件,即所有点的∑流入流量=∑流出流量,可以看成里面的流是循环流动的, 阅读全文
posted @ 2016-04-09 16:05 WABoss 阅读(1122) 评论(0) 推荐(1) 编辑
摘要:题目大概说有n个城市,由m条无向边相连,每条边每天最多运送cap桶酒且其运送一桶的花费是cost。现在从1号城市开始出发运酒,供应到2到n号城市,这些城市的收购单价是price,问最大的盈利是多少。 。。。顺路AC 阅读全文
posted @ 2016-04-08 18:27 WABoss 阅读(330) 评论(0) 推荐(0) 编辑
摘要:题目这么说的: 一个餐厅在相继的N天里,第i天需要Ri块餐巾(i=l,2,…,N)。餐厅可以从三种途径获得餐巾。 在每天结束时,餐厅必须决定多少块用过的餐巾送到快洗部,多少块送慢洗部。在每天开始时,餐厅必须决定是否购买新餐巾及多少,使洗好的和新购的餐巾之和满足当天的需求量Ri,并使N天总的费用最小。 阅读全文
posted @ 2016-04-07 18:48 WABoss 阅读(249) 评论(0) 推荐(1) 编辑
摘要:题目大概说有一个有n*m个格子的画板,画板上每个格子都有颜色,现在要把所有格子的颜色改成红、绿或者蓝,改变的代价是二者RGB值的曼哈顿距离,还要求红绿蓝格子个数的最大值和最小值要尽可能接近,问最少的代价是多少。 红绿蓝三色的个数是可以直接确定的,分别考虑几个情况就OK了,然后就是根据红绿蓝的个数构图 阅读全文
posted @ 2016-04-07 16:46 WABoss 阅读(231) 评论(0) 推荐(0) 编辑
摘要:题目大概就是说一个n*m的地图,地图上每一块是陆地或浅海域或深海域,可以填充若干个浅海域使其变为陆地,问能得到的最长的陆地海岸线是多少。 也是很有意思的一道题。 一开始想歪了,想着,不考虑海岸线重合的情况那海岸线长度就是所有非深海域的个数*4,而每一块要嘛是陆地要嘛不是陆地,如果浅海域不变成陆地那么 阅读全文
posted @ 2016-04-05 20:10 WABoss 阅读(209) 评论(0) 推荐(0) 编辑
摘要:题目大概是给一个主串,询问若干个模式串出现次数,其中有些模式串要求不能重叠。 对于可以重叠的就是一个直白的多模式匹配问题;而不可重叠,在匹配过程中贪心地记录当前匹配的主串位置,然后每当出现一个新匹配根据记录的位置判断这个新匹配是否成立,最后更新位置。 另外,考虑到数据可以出现多个模式串相同的情况,实 阅读全文
posted @ 2016-04-05 08:42 WABoss 阅读(300) 评论(0) 推荐(0) 编辑
摘要:题目大概说有n男n女,男的每回合要和不同女的跳舞,男女都有自己喜欢一起跳舞的对象,他们最多能容忍和k个不喜欢的人跳舞,问舞会最多能进行几个回合。 二分枚举回合用最大流判断:男和女各拆成两点i、i'和j、j',中间连容量k的边;源点向i连容量为回合数的边,j'向汇点连容量回合数的边;如果i和j是喜欢关 阅读全文
posted @ 2016-04-04 09:57 WABoss 阅读(292) 评论(0) 推荐(0) 编辑
摘要:题目大概说有m个人要过一条宽W的河,人最远跳远距离是d,河上有n个垃圾堆,每个垃圾堆都有坐标和同一时间能容纳的人数,问所有人最少要跳几次才能跳到对岸。 又是一题根据时间拆点的最大流。 二分时间建容量网络判定:按时间对每个垃圾堆拆点,再拆成两点中间连容量为同一时间能容纳的人数的边,所有t时刻的点向所有 阅读全文
posted @ 2016-04-03 19:48 WABoss 阅读(342) 评论(0) 推荐(0) 编辑
摘要:题目大概说给一张图,每个点都有权,边的权等于其两端点权的异或和,现已知几个点的权,为了使所有边的边权和最小,其他点的权值该是多少。 很有意思的一道题,完全看不出和网络流有什么关系。 考虑每个未知的点$x$的权的二进制的第$i$位$x_i$,其对边权和的贡献为$\sum_{(x,y)\in E}(2^ 阅读全文
posted @ 2016-04-03 09:42 WABoss 阅读(298) 评论(0) 推荐(0) 编辑
摘要:把树的结点分块,块内结点连通且个数[b,3b]。 一遍DFS,维护一个栈,设置一个虚拟栈底以保证连通,递归返回时判断栈内元素个数是否大于等于b,是则划分为一个块,最后剩下的与最后一个块划分在一起。 http://blog.csdn.net/popoqqq/article/details/427722 阅读全文
posted @ 2016-04-02 16:11 WABoss 阅读(156) 评论(0) 推荐(0) 编辑