随笔分类 -  UVA

摘要:题意:求混合图的欧拉路径。一句话总结:网络流,最主要在于建图,此题是将出度则是和流量联系在了一起,用最大流来调整边的指向。分析:这题的困难之处在于无向边只能用一次,相当于一个方向未定的有向边。首先用并查集判断图的连通性,(直接计数O(1),做1395 Slim Span学到的技巧)。我们知道有向图的... 阅读全文
posted @ 2015-08-27 20:01 瑞宇 阅读(355) 评论(2) 推荐(0)
摘要:如果不允许转化'#'和'.'的话,那么可以直接在'#'和'.'之间连容量为b的边,把所有'#'和一个源点连接,所有'.'和一个汇点连接,流量不限,那么割就是建围栏(分割'#'和'.')的花费。问题是'#'和'.'是可以转化的,由刚才的思路,可以联想到,当'#'可以转化成'.'的时候,那么就不需要在它... 阅读全文
posted @ 2015-08-26 22:49 瑞宇 阅读(1409) 评论(1) 推荐(0)
摘要:恰好属于一个圈,那等价与每个点有唯一的前驱和后继,这让人想到了二分图,把一个点拆开,点的前驱作为S集和点的后继作为T集,然后连边,跑二分图最小权完美匹配。写的费用流。。最大权完美匹配KM算法没看懂#includeusing namespace std;const int maxn = 200+6;s... 阅读全文
posted @ 2015-08-26 16:35 瑞宇 阅读(289) 评论(0) 推荐(0)
摘要:很经典的网络流模型,行编号和列编号分别看成一个点,行和列和分别看出容量,一个点(x,y)看出是一条边,边的容量下界是1,所以先减去1,之后在加上就好了。建图的时候注意分配好编号,解从残留网络中的边找。前向星建图的话,打印解会比较麻烦。#includeusing namespace std;const... 阅读全文
posted @ 2015-08-26 11:50 瑞宇 阅读(251) 评论(0) 推荐(0)
摘要:关键在建图,转换器连一条容量无限的边表示可以转化无数次,设备的插头连源点,插座连汇点。dinic手敲已熟练,输出格式又被坑,总结一下,输出空行多case的,一个换行是必要的,最后一个不加空行,有Testcase最后一个不要换行,没有testcase最后一个要加换行,想起那天gold miner PE... 阅读全文
posted @ 2015-08-26 00:25 瑞宇 阅读(193) 评论(0) 推荐(0)
摘要:隐式的图搜索,存不下边,所以只有枚举转移就行了,因为bug的存在状态可以用二进制表示,转移的时候判断合法可以用位运算优化,二进制pre[i][0]表示可以出现的bug,那么u&pre[i][0] == u就表示u是可以出现的bug集合的子集,pre[i][1]表示必须出现的bug,那么u|pre[i... 阅读全文
posted @ 2015-08-25 22:56 瑞宇 阅读(262) 评论(0) 推荐(0)
摘要:先求出原图的最小生成树,然后枚举买哪些套餐,把一个套餐内的点相互之间边权为0,直接用并查集缩点。正确性是基于一个贪心,在做Kruskal算法是,对于没有进入最小生成树的边,排序在它前面的边不会减少。边比较多,用prim求最小生成树,效果比Kruskal好,枚举套餐的时候在用Kruskal。prim和... 阅读全文
posted @ 2015-08-25 18:27 瑞宇 阅读(270) 评论(0) 推荐(0)
摘要:状压dp,每个状态可以表示为一个n元组,且上限为8,可以用一个九进制来表示状态。但是这样做用数组开不下,用map离散会T。而实际上很多九进制数很多都是用不上的。因此类似uva 1601 Morning after holloween的思想,先dfs预处理出所有状态,用map将状态离散,预处理出算出状... 阅读全文
posted @ 2015-08-22 18:48 瑞宇 阅读(362) 评论(0) 推荐(0)
摘要:状压dp,用s表示已经询问过的特征,a表示W具有的特征。当满足条件的物体只有一个的时候就不用再猜测了。对于满足条件的物体个数可以预处理出来转移的时候应该枚举询问的k,因为实际上要猜的物品是不确定的,要么k是W所具有的,要么k不是W所具有的,要保证能猜到那么就应该取最坏情况下的最小值,所以有转移方程:... 阅读全文
posted @ 2015-08-21 19:38 瑞宇 阅读(428) 评论(0) 推荐(0)
摘要:题目:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=20&page=show_problem&problem=1758状态压缩的DP,dp[i][st]表示状态为st考虑后面i个人所有人最... 阅读全文
posted @ 2015-08-20 22:28 瑞宇 阅读(273) 评论(0) 推荐(0)
摘要:求一棵数的最大独立集结点个数并判断方案是否唯一。dp[i][j]表示以i为根的子树的最大独立集,j的取值为选和不选。决策:当选择i时,就不能选择它的子结点。当不选i时,它的子结点可选可不选。判断唯一性:当选择的某个子节点方案不唯一,父节点的方案就不唯一,或者某个子节点选或不选方案数一样。转移顺序:按... 阅读全文
posted @ 2015-08-19 23:25 瑞宇 阅读(188) 评论(0) 推荐(0)
摘要:dp[i][j]表示前一个序列拿了i个颜色,后一个序列拿了j个颜色的最小花费。转移的时候显然只能向dp[i+1][j],或dp[i][j+1]转移,每增加拿走一个颜色,之前已经出现但没结束的颜色个数的跨度都增加1,为了在转移的时候快速算出这个值,先预处理出每个颜色在各个序列中的起始和终止位置。mem... 阅读全文
posted @ 2015-08-18 23:06 瑞宇 阅读(361) 评论(0) 推荐(0)
摘要:贪心,如果m分成的两个区间长度不相等,那么选长的那个区间最接近m的位置,否则选m-1位置,特判一下n等于1的情况#includeusing namespace std;int main(){ int n,m; scanf("%d%d",&n,&m); if(n == 1){ ... 阅读全文
posted @ 2015-08-14 03:05 瑞宇 阅读(131) 评论(0) 推荐(0)
摘要:首先是一个贪心,一种灯泡要么全都换,要么全都不换。先排序,定义状态d[i]为前面i种灯泡的最小花费,状态转移就是从d[j],jusing namespace std;const int maxn = 1e3+3;int V[maxn], K[maxn], C[maxn], L[maxn];int d... 阅读全文
posted @ 2015-08-13 11:24 瑞宇 阅读(240) 评论(0) 推荐(0)
摘要:d[i]表示前面i个字符划分成的最小回文串个数,转移:当第i字符加进来和前面区间j构成回文串,那么d[i] = d[j]+1。要判断前面的字符j+1到i是不是回文串,可以用Manacher算法预处理出来。(其实O(n^2)判断回文串的也可以,时间复杂度不会变,只是为了学习ManacherManach... 阅读全文
posted @ 2015-08-13 11:21 瑞宇 阅读(262) 评论(0) 推荐(0)
摘要:每首只能唱一次,而且中间不能不唱歌,所以先把状态赋值为-1,以区别合法状态和非法状态,在唱歌曲目最多的条件下,离开时间应该尽量晚。状态定义f[i][j]考虑前i首歌唱歌时间为j的最大唱歌曲目#includeusing namespace std;const int maxn = 55;const i... 阅读全文
posted @ 2015-08-13 10:48 瑞宇 阅读(230) 评论(0) 推荐(0)
摘要:分阶段的DAG,注意字典序的处理和路径的保存。定义状态d[i][j]为从i,j 出发到最后一列的最小花费,转移的时候只有三种,向上,向下,或平移。#includeusing namespace std;const int maxm = 11;const int maxn = 101;int G[ma... 阅读全文
posted @ 2015-08-13 10:44 瑞宇 阅读(397) 评论(0) 推荐(0)
摘要:TSP是NP难,但是把问题简化,到最右点之前的巡游路线只能严格向右,到最右边的点以后,返回的时候严格向左,这个问题就可以在多项式时间内求出来了。定义状态d[i][j]表示一个人在i号点,令一个人在j号点,之前的点全走过到终点还要走的最小长度,为了区别d[i][j]和d[j][i]规定i>j,然后考虑... 阅读全文
posted @ 2015-08-12 20:06 瑞宇 阅读(259) 评论(0) 推荐(0)
摘要:贪心,每次遇到一个满水的湖要下暴雨的时候,就往前找之前最后一次满水之后的第一个没有下雨的且没有被用掉天day1。因为如果不选这day1,那么之后的湖不一定能选上这一天。如果这一天后面还有没有下雨的天day2的话,选后面的,会使得day1到day2之间满水的湖选择减少。#include#define ... 阅读全文
posted @ 2015-08-10 23:57 瑞宇 阅读(744) 评论(0) 推荐(0)
摘要:Feel GoodTime Limit: 3000MSMemory Limit: Unknown64bit IO Format: %lld & %lluBill is developing a new mathematical theory for human emotions. His recen... 阅读全文
posted @ 2015-08-10 23:45 瑞宇 阅读(615) 评论(1) 推荐(0)