上一页 1 2 3 4 5 6 7 ··· 18 下一页
摘要: 给一棵树,每次每次询问一个点是否是另一个点的祖先?首先,题目的读入就有点坑爹,注意,每个节点的值是说明它下面有多少个儿子节点,直接对于每个下标保存一个值即可。对于查询是否是祖先,我们可以对于每一个节点打上两个dfs标记,如果一个点是另一个点的祖先,那么它的两个标记一定在祖先的范围之内。还要注意,由于... 阅读全文
posted @ 2014-07-28 17:56 092000 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 给出n个循环位置,每个位置有一定数量的盒子,每次操作可以使一个盒子转移到相邻位置,问最少需要转移多少次使得所有位置上的盒子的数量不会超过1个。简单题。对于每个位置,加边(s,i,a[i],0),(i,t,1,0)。对于相邻的位置加边(i,i+1,inf,1),(i,i-1,inf,1) 。显然最后我... 阅读全文
posted @ 2014-07-28 09:19 092000 阅读(1221) 评论(0) 推荐(0) 编辑
摘要: 给你若干个区间,每个区间有一个权值,你可以选出某些区间,使得在保证没有任何一段的覆盖次数超过k的前提下,总的权值最大。这个建模真的十分神奇,赞一个。对于给出的每一个区间,离散化,最终我们可以知道所有区间的端点的个数不会超过2n,然后我们加边,(i,i+1,k,0),对于每个区间我们加边(li,ri,... 阅读全文
posted @ 2014-07-28 09:16 092000 阅读(551) 评论(0) 推荐(0) 编辑
摘要: 给出一些词根,问你有多少种长度为L的串包含至少一个词根。去年就在敲这个题了,今年才敲出来,还是内牛满面之中。。。要求包含至少一个的情况,需要求出所有的情况,减去一个都没有的情况就可以了。对于给出的词根,上自动机。然后我们根据tire图可以得出关系状态转移的矩阵。显然就是矩阵求和了,通过二分幂解决即可... 阅读全文
posted @ 2014-07-26 23:09 092000 阅读(612) 评论(0) 推荐(0) 编辑
摘要: 题意为给一个矩形数字阵,给出一些限制条件,包括每行和每列的和,还有一些位置的数值范围,求出满足情况的一个。首先建图,源点->行和->列和->汇点,显然,行和列之间的边为那个数字的大小,只要我们能够找到一个满足大小条件的,且使的两边的和满流的流量方案就可以了。由于存在下界(上界其实就是边的容量),根据... 阅读全文
posted @ 2014-07-26 23:05 092000 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 单源点汇点无向图,要阻隔某个点的流量,必须在一个点上消耗一定的价值,问你能否在消耗价值不超过k的前提下,阻隔源点到汇点的流量。直接对于有权值的点拆点,拆后边容量即为点权。其余的点的容量无穷,最大流即可。召唤代码君:#include #include #include #define maxn 555... 阅读全文
posted @ 2014-07-26 22:57 092000 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 一个单源多汇的有向图,求增大那些边的容量可以使得网络的最大流增加。很简单,直接跑最大流,保留残余网络,然后枚举所有余量为0的边,使其容量增加一个1,看看是否出现新的增广路即可。召唤代码君:#include #include #include #include #define maxn 555#def... 阅读全文
posted @ 2014-07-26 22:52 092000 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 一个无向图,问你删除多少点后,可以隔断起点到终点的所有路径?输出字典序最小的删点方案。求最小点割,先拆点,容量为1,普通边容量无穷,最大流即为应删点数。需要求出字典序最小的方案,可以从小到大枚举所有的点,如果当前枚举的点是割点,那么进行标记,同时后面的枚举也不再经过这个点。召唤代码君:#includ... 阅读全文
posted @ 2014-07-26 22:46 092000 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 给一个有向网络,求其1,n两点的最大流量是否不小于C,如果小于,是否可以通过修改一条边的容量使得最大流量不小于C?首先对于给定的网络,我们可以先跑一遍最大流,然后先看流量是否大于C。然后保存跑完第一次最大流后的残余网络容量情况,然后接下来对于每条割,将分别其容量加C-maxflow,看看能否得到满足... 阅读全文
posted @ 2014-07-23 23:21 092000 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 给一个数组,求区间[l,r]中第k大的数。今天被各种数据结构虐爆了,自己还是需要学习一下函数式线段树的,这个东西好像还挺常用。函数式线段树的思想是这样的,对于每个时间状态,我们都建立一颗线段树,查询两个状态在某个区间的差的话,我们只要找到两个状态分别对应的点相减即可。由于每次我使用线段树更新的时候,... 阅读全文
posted @ 2014-07-22 23:28 092000 阅读(255) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 18 下一页