03 2015 档案

摘要:网络流/最小割 rausen大爷太神辣~作为一个蒟蒻还是搬运题解吧……很明显的一道网络流题。。首先把所有值的加起来,再减掉网络流最小割值就好了,问题就是如何建图。这貌似也是考了好多次了的。。。把每个人抽象成一个点p,则先是S向p连边,流量为选文科的高兴值,p向T连边,流量为选理科的高兴值。然后是s... 阅读全文
posted @ 2015-03-31 23:30 Tunix 阅读(219) 评论(0) 推荐(0)
摘要:网络流/最大流/二分or贪心 题目大意:有n个队伍,两两之间有一场比赛,胜者得分+1,负者得分+0,问最多有几只队伍打败了所有得分比他高的队伍? 可以想到如果存在这样的“strong king”那么一定是胜场较多的队伍……(比他赢得多的队伍num少,而他总共赢得场数times足够多,至少得满足t... 阅读全文
posted @ 2015-03-30 23:09 Tunix 阅读(232) 评论(0) 推荐(0)
摘要:网络流/最大权闭合图 题目:http://codeforces.com/problemset/problem/311/E 嗯这是最大权闭合图中很棒的一道题了~ 能够1A真是开心~也是我A掉的第一道E题吧……(其实是这题放在E偏水了吧……) 题目大意:有n个0/1变量,给定每个变量的初值,以及... 阅读全文
posted @ 2015-03-29 22:37 Tunix 阅读(424) 评论(0) 推荐(0)
摘要:玛雅……之前一直云里雾里的……今天终于想明白了vfk说的吼啊:莫比乌斯变换起到类似前缀和的作用!$f(n)=\sum_{d|n}g(n)$QAQ原来蒟蒻之前根本没理解莫比乌斯变换是啥啊……而莫比乌斯反演是干啥呢?如果给你一个数组,让你算它的莫比乌斯变换,那就很好搞了……就是搞个类似前缀和的东西……如... 阅读全文
posted @ 2015-03-28 22:37 Tunix 阅读(252) 评论(0) 推荐(0)
摘要:贪心/可并堆 跪了……我这么弱果然还是应该回家种红薯去…… 考虑选人的时候,每个人对答案的贡献其实是一样的,都是1,那么我们就贪心地去选花钱少的就好啦~ 具体的做法:倒着枚举(因为有b[i]m,那么我们就踢掉花钱最多的人,直到sum12 #include13 #include14 #inclu... 阅读全文
posted @ 2015-03-27 13:02 Tunix 阅读(309) 评论(0) 推荐(0)
摘要:堆/贪心 一共N-1个元素……用堆维护最大值,取了第x个元素以后,插入v[x-1]+v[x+1]-v[x]这个元素,如果再取这个新元素就表示不取x,而取x-1和x+1……大概就是这种“带反悔”的思路吧…… 已经不会写堆了TAT,膜拜了lyd神犇 1 /**********************... 阅读全文
posted @ 2015-03-25 23:26 Tunix 阅读(286) 评论(3) 推荐(0)
摘要:DP/CDQ分治 orz Hzwer copy了下他的代码……结果在while(j12 #include13 #include14 #include15 #include16 #define rep(i,n) for(int i=0;i=n;--i)19 using namespace std;... 阅读全文
posted @ 2015-03-24 23:06 Tunix 阅读(242) 评论(0) 推荐(0)
摘要:线段树 先搞出来每个a[i]能连多少条边记为w[i]……如果对一组s[i],都满足w[i]-rank[i]>=0则这是一组合法方案,然后线段树维护w[i]-rank[i](第一个元素出去的时候后面所有的rank要-1,加入最后一个元素的时候后面的元素rank+1,建关于a[i]的权值线段树,记得离... 阅读全文
posted @ 2015-03-24 20:23 Tunix 阅读(464) 评论(0) 推荐(0)
摘要:最短路 神题一道…… 1 //CF 311C 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #define rep(i,n) for(int i=0;i=n;--i)11 #define pii pair12... 阅读全文
posted @ 2015-03-23 20:58 Tunix 阅读(330) 评论(0) 推荐(0)
摘要:颓了一天……明天开始要好好学习了>_< 阅读全文
posted @ 2015-03-21 23:00 Tunix 阅读(218) 评论(0) 推荐(0)
摘要:网络流/费用流 orz zyf 裸的费用流,根据题目描述即可建出如下的图: S->i 费用表示每有一个加入第 i 个小组的学生,需要花的钱,由于是跟流量(人数)的二次方相关,所以要拆边……然后每个人的报名费直接用支出减去即可(也就是每条边的费用都减去一个常量) i->j+m 根据矩阵连边…... 阅读全文
posted @ 2015-03-20 23:14 Tunix 阅读(343) 评论(0) 推荐(0)
摘要:组合数学/python3907: 网格Time Limit: 1 SecMemory Limit: 256 MBSubmit: 162Solved: 76[Submit][Status][Discuss]Description某城市的街道呈网格状,左下角坐标为A(0, 0),右上角坐标为B(n, m... 阅读全文
posted @ 2015-03-20 18:26 Tunix 阅读(1121) 评论(0) 推荐(0)
摘要:网络流/费用流 跪跪跪,居然还可以这样建图…… 题解:http://www.cnblogs.com/zig-zag/archive/2013/04/21/3033485.html考虑每个点的交换限制的约束,一看就知道是点容量,但是这里不是一分为二,而是一分为三。首先我们把问题化简,变成对于原图上... 阅读全文
posted @ 2015-03-20 18:00 Tunix 阅读(473) 评论(0) 推荐(0)
摘要:网络流/费用流 最后能走回出发点……说明全部是环= = 而二分图上的环说明什么呢……完备匹配 对于每个点,它都有四个可能的匹配点,且已知它已经(伪)匹配的一个点,那么我们于已知每条(伪)匹配边,我们连(i,j)->(x,y)' 流量为1,费用为0,表示不用修改,然后对(x,y)'我们向另外三个... 阅读全文
posted @ 2015-03-20 16:49 Tunix 阅读(254) 评论(0) 推荐(0)
摘要:网络流/费用流/二分图最小权匹配 题解:http://blog.csdn.net/huzecong/article/details/9119741 太神了!由于一赢一输不好建图,就先假设全部都输,再将赢的收益修改!就变成普通的二分图了!! 费用与流量的平方相关时拆边……这个稍微处理一下即可 ... 阅读全文
posted @ 2015-03-20 11:30 Tunix 阅读(227) 评论(0) 推荐(0)
摘要:网络流/费用流 Orz太神犇了这题…… 我一开始想成跟Intervals那题一样了……每个数a[i]相当于覆盖了(a[i]-n,a[i]+n)这个区间……但是这样是错的!!随便就找出反例了……我居然还一直当正解…… 实际上刚刚那个思路还有一个问题:题目中的长度为N的区间指的是给的原序列!而不是... 阅读全文
posted @ 2015-03-20 10:39 Tunix 阅读(264) 评论(0) 推荐(0)
摘要:网络流/费用流 和软件开发那题基本相同,只是多加了一个“雇佣研究生”的限制:不同价格的研究生有不同的数量…… 那么只需加一个附加源点,对每一种研究生连边 S->ss 容量为l[i],费用为p[i];再改由附加源点向每天的流入点(i+n)连边即可。 1 /********************... 阅读全文
posted @ 2015-03-19 23:11 Tunix 阅读(252) 评论(0) 推荐(0)
摘要:网络流/费用流 比较裸的一道题 依旧是二分图模型,由源点S连向每个学校 i (1,0),「注意是连向第 i 所学校,不是连向学校的标号m[i]……唉这里WA了一次」 然后对于每所学校 i 连接 j+n $(a[i]\leq j \leq b[i])$ 流量为1,费用为 $abs(m[i]-j)... 阅读全文
posted @ 2015-03-19 22:06 Tunix 阅读(283) 评论(0) 推荐(0)
摘要:网络流/费用流 裸题吧……直接建模就好了……所谓的“分段函数”就是吓唬你的,其实就是对于每个人分开建几条流量不同、费用不同的弧而已。 对每种产品,连S->i ,(c[i],0);对每个工作人员 j ,连多条 j+n->T,流量分别为s[k]-s[k-1],对应的费用为w[j][k],至于那个矩阵... 阅读全文
posted @ 2015-03-19 21:12 Tunix 阅读(259) 评论(0) 推荐(0)
摘要:网络流/费用流+Floyed Orz zyf题解:这题和星际竞速还有打印机两题的主体思路都是一样的每个点一定要经过,并且要经过这个点,必须经过比这个点小的所有点。而且还存在一个附加源,但源到附加源有一定的容量限制(星际没有。。。)这题我们采用如下方式建图:1.把每个点拆成 i 和 i+n 两个点,... 阅读全文
posted @ 2015-03-19 19:27 Tunix 阅读(304) 评论(0) 推荐(0)
摘要:网络流/费用流/二分图最大权匹配 拆点费用流求最大权匹配……为什么我拿zyf和Hzwer的代码也交不过去……WA了那么多次……so sad 求路过的神牛指导啊>_ 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include ... 阅读全文
posted @ 2015-03-19 17:35 Tunix 阅读(348) 评论(0) 推荐(0)
摘要:网络流/费用流 比较简单的题……我一开始想成像软件开发那题一样的做法了……就是每天拆点,S->i (INF,0) 、i+n->T (u[i],0) 然后处理购入 S->i+n (INF,v[i]) 以及放置仓库 i->i+1 (s,m)、i->i+n+1 (s,m) 然后顺利WA了……没想通为什... 阅读全文
posted @ 2015-03-19 11:47 Tunix 阅读(290) 评论(0) 推荐(0)
摘要:网络流/费用流 OrzOrzOrz,这题太神了不会捉。题解:https://www.byvoid.com/blog/noi-2008-employee/这道题正确的解法是构造网络,求网络最小费用最大流,但是模型隐藏得较深,不易想到。构造网络是该题的关键,以下面一个例子说明构图的方法和解释。例如一共... 阅读全文
posted @ 2015-03-19 10:31 Tunix 阅读(351) 评论(0) 推荐(1)
摘要:网络流/费用流 引用下题解:lyd:首先把区间端点离散化,设原来的数值i离散化后的标号是c[i]。这样离散化之后,整个数轴被分成了一段段小区间。1.建立S和T,从S到离散化后的第一个点连容量K,费用0的边。离散化后的最后一个点到T连容量K、费用0的边。2.离散化后的相邻点之间(从i到i+1)连容量... 阅读全文
posted @ 2015-03-19 08:46 Tunix 阅读(276) 评论(0) 推荐(0)
摘要:临时记一下感想,回头整理一下星际竞速/软件开发:贪心?单独考虑每一天消耗的物资的来源,或者说,分开考虑流入和流出 阅读全文
posted @ 2015-03-18 23:25 Tunix 阅读(160) 评论(0) 推荐(0)
摘要:网络流/费用流 说是这题跟餐巾计划一模一样……但我没做过啊……so sad 二分图建模是很好想的,但是要控制流量跟用了的毛巾一样多……oh my god 事实上对于每一天我们无论如何都是要消耗n[i]条毛巾的,那么我们可以直接连边 i->T 容量为n[i],费用为0。 那么只需要考虑这n[i... 阅读全文
posted @ 2015-03-18 23:22 Tunix 阅读(386) 评论(0) 推荐(0)
摘要:网络流/费用流 费用流入门题……根本就是模板题好吗! 拆点搞定度数限制,也就是每个点最多经过一次……源点汇点除外。 1 /************************************************************** 2 Problem: 1877 3 ... 阅读全文
posted @ 2015-03-18 21:52 Tunix 阅读(209) 评论(0) 推荐(0)
摘要:网络流/最大权闭合子图+拓扑排序 感动死了>_y我们建弧y->x,容量为INF,表示如果要选y就必须选x,同时对所有拓扑排序能排到的点(不在环里的点)向S/T建弧(按权值正负)。然后跑最大流即可。 1 /**********************************************... 阅读全文
posted @ 2015-03-18 19:44 Tunix 阅读(265) 评论(0) 推荐(0)
摘要:网络流/费用流 比较简单的一题,对于每个星球,将它拆成两个点,然后二分图建模:左部结点与S相连,流量为1费用为0;右部结点与T相连,流量为1费用为0;对于每条航道x->y,连边x->y+n,流量为1,费用为w[i]。 那么瞬移到某个星球呢?直接连S->n+i,容量为1费用为a[i]。(建图描述的... 阅读全文
posted @ 2015-03-18 17:49 Tunix 阅读(197) 评论(0) 推荐(0)
摘要:网络流/费用流 跟 BZOJ 1070 修车 几乎是一道题,只是这题“要修的车”(即菜)多了很多……几乎是从$n$变成了$n^2$,所以建图的时候就得动态加点…… 也就是说,当一个厨师已经确定了他的后k道菜的时候,再加入表示倒数第k+1道菜的节点。 我个xx一开始写成了每次加一层……不 T 才... 阅读全文
posted @ 2015-03-18 16:37 Tunix 阅读(218) 评论(0) 推荐(0)
摘要:网络流/费用流 好神奇的建模= =关键就是把每个技术员拆成n个点,表示这个技术员倒数第几个修的车子。。考虑第i个工人,他修第j辆车只对后面要修的车有影响,而前面修过的车已经对当前没有影响了。而这个影响就是后面每个将要修理的车都多等待了time的时间。说一下我的思考过程吧:(好混乱……) 对于每辆... 阅读全文
posted @ 2015-03-18 09:46 Tunix 阅读(271) 评论(0) 推荐(0)
摘要:网络流/费用流 这题……我一开始sb了。 第一问简单的最大流…… 第二问是要建费用流的图的……但是是在第一问的最大流跑完以后的残量网络上建,而不是重建…… 我们令残量网络上原有的弧的费用全部为0(因为如果还能走就不需要扩容),而新加的弧容量为INF,费用为给定的w[i]。 然后跑费用流就好... 阅读全文
posted @ 2015-03-18 00:22 Tunix 阅读(207) 评论(0) 推荐(0)
摘要:树套树 Orz zyf 我的树套树不知道为啥一直WA……只好copy了zyf的写法TAT 这题还可以用CDQ分治来做……但是蒟蒻不会……//y坐标的树状数组是按权值建的……所以需要离散化…… 1 /**********************************************... 阅读全文
posted @ 2015-03-17 10:56 Tunix 阅读(227) 评论(0) 推荐(0)
摘要:树套树 orz zyf 这题的思路……算是让我了解到了树套树的一种用途吧三维。。。第一维排序,第二维树状数组,第三维treap具体实现就是每个树状数组的节点保存一颗treap,然后就可以查询了。 好神啊…… 树套树可以方便的进行特殊的区间求和,大多数满足区间加法的运算都可以用树套树来搞,比如... 阅读全文
posted @ 2015-03-16 23:03 Tunix 阅读(231) 评论(0) 推荐(0)
摘要:树套树 Orz zyf神犇 时光倒流……逆序处理,将删点改为加点,动态维护序列。 由于是动态,要加点,所以用树状数组;同时又需要求序列中求比当前元素大/小的元素个数,所以要用平衡树。 所以方法就是在树状数组的每个节点上维护一棵这个节点表示的区间的平衡树。 为什么这样做是对的呢?因为求 12... 阅读全文
posted @ 2015-03-16 20:49 Tunix 阅读(257) 评论(0) 推荐(0)
摘要:树套树 Orz zyf 学(co)习(py)了一下树套树的写法,嗯……就是线段树套平衡树。 具体实现思路就是:外部查询用的都是线段树,查询内部自己调用平衡树的操作。 抄抄代码有助理解= =八中挂了……话说tyvj上最后两组ex数据好恶心…… 1 /*********************... 阅读全文
posted @ 2015-03-16 17:13 Tunix 阅读(266) 评论(0) 推荐(0)
摘要:可持久化线段树 maya……树么……转化成序列……所以就写了个树链剖分……然后每个点保存的是从它到根的可持久化线段树。 然后就像序列一样查询……注意是多个左端点和多个右端点,处理方法类似BZOJ 1901 然后rausen(Orz!!!)粗来跟我说:你直接减去lca和fa[lca]不就好啦~搞... 阅读全文
posted @ 2015-03-16 11:05 Tunix 阅读(279) 评论(0) 推荐(0)
摘要:可持久化线段树 同BZOJ 3524,但是不要像我一样直接贴代码……TAT白白WA了一次,so sad 1 /************************************************************** 2 Problem: 2223 3 User:... 阅读全文
posted @ 2015-03-16 08:07 Tunix 阅读(202) 评论(0) 推荐(0)
摘要:数据结构/可并堆 啊……换换脑子就看了看数据结构……看了一下左偏树和斜堆,鉴于左偏树不像斜堆可能退化就写了个左偏树。左偏树介绍:http://www.cnblogs.com/crazyac/articles/1970176.html体会:合并操作是可并堆的核心操作(就像LCT里的access),进... 阅读全文
posted @ 2015-03-15 19:14 Tunix 阅读(266) 评论(0) 推荐(0)
摘要:网络流/最小割 这题跟BZOJ 3275限制条件是一样的= =所以可以用相同的方法去做……只要把边的容量从a[i]改成b[i]就行了~(果然不加当前弧优化要略快一点) 1 /*************************************************************... 阅读全文
posted @ 2015-03-15 16:02 Tunix 阅读(225) 评论(0) 推荐(0)
摘要:网络流/最小割 对于所有小于L的边求一个割使得U,V不连通,这样就可以保证L可能在最小生成树里。 最大生成树同理。 答案累加一下即可。(Orz Hzwer)(我一开始怎么会sb地去想到一起求呢……) 1 /********************************************... 阅读全文
posted @ 2015-03-15 11:58 Tunix 阅读(207) 评论(0) 推荐(0)
摘要:网络流/二分法 最大值最小……直接做不太好做的时候就可以用二分+判定来搞。 这题我们就也可以二分最大胜场v,那么怎么来判定呢?首先我们发现:每场比赛要么A赢,要么B赢,这一点跟二分图匹配非常类似,那么我们就可以建二分图:左部是参赛队伍,右边的结点表示每场比赛,对于第 i 场比赛:两支参赛队伍连x... 阅读全文
posted @ 2015-03-15 11:06 Tunix 阅读(222) 评论(0) 推荐(0)
摘要:网络流/最小割 Orz了Jiry_2神犇,蒟蒻网络流建模什么的完全不会啊T_T 按奇偶性来分组实在太巧妙了……然后相关的点之间连边表示只能选其一,来求最小割…… 1 /************************************************************** ... 阅读全文
posted @ 2015-03-15 09:42 Tunix 阅读(391) 评论(0) 推荐(0)
摘要:网络流/最小割 暴力建图就好了……S->i 容量为收益,i->j+n 容量为租金,j+n->T容量为购买所花的钱。 如果亏钱的话那么割掉的就是收益,表示不赚钱。 如果租金大于购买所花的钱就会割掉购买的钱(因为流量限制住了……) 表示T到死啊……copy了Hzwer……orz 1 #inclu... 阅读全文
posted @ 2015-03-14 22:43 Tunix 阅读(196) 评论(0) 推荐(0)
摘要:网络流/最小割 我不会告诉你这题跟 BZOJ 1934 是一模一样的……包括数据范围…… 1 /************************************************************** 2 Problem: 2768 3 User: Tun... 阅读全文
posted @ 2015-03-14 21:08 Tunix 阅读(193) 评论(0) 推荐(0)
摘要:网络流/最小割 Orz Hzwer 这类大概是最小割建模中的经典应用吧…… 黑白染色,然后反转黑色的技巧感觉很巧妙!这个转化太神奇了…… 1 /************************************************************** 2 Prob... 阅读全文
posted @ 2015-03-14 20:22 Tunix 阅读(262) 评论(2) 推荐(1)
摘要:网络流/最小割 OrzHzwer。 这题他题解说的比较简略……我手画了个图才明白过来…… 嗯对于每个人选文or理的单独收益大家应该很好理解……连S->i权值为选文的喜悦值,i->T权值为选理的喜悦值,然后所有的加起来减去最小割即可。 那么有了相邻的额外喜悦值怎么办呢?首先它跟之前的问题没有冲... 阅读全文
posted @ 2015-03-14 18:36 Tunix 阅读(320) 评论(0) 推荐(0)
摘要:网络流/最小割 简单题= =直接利用最小割的性质: 割掉这些边后,将所有点分成了两部分(两个连通块),我们可以假定与S相连的是投赞成票,与T相连的是投反对票。 那么如果一个小朋友原本意愿是睡觉,那么连边 S->i ,边权为1,表示如果割掉这条边(即让他投违反意愿的票)则冲突数+1。原本意愿... 阅读全文
posted @ 2015-03-14 12:19 Tunix 阅读(493) 评论(0) 推荐(0)
摘要:网络流/最小割 一开始我是将羊的区域看作连通块,狼的区域看作另一种连通块,S向每个羊连通块连一条无穷边,每个狼连通块向T连一条无穷边,连通块内部互相都是无穷边。其余是四连通的流量为1的边……然后WA了= =自己的数据和样例都过了…… 然后orz了一下Hzwer,改成对每个羊/狼都单独连一条无穷边... 阅读全文
posted @ 2015-03-14 10:54 Tunix 阅读(215) 评论(0) 推荐(0)
摘要:网络流/最大权闭合子图 胡伯涛论文里有讲…… sigh……细节处理太伤心了,先是count和ans输出弄反了,改过来顺序时又忘了必须先算出来ans!要是不执行一下Dinic的话count就无意义了……然后就是long long的问题……傻逼题白白WA了6次……sigh果然不能晚上搞…… 1 S... 阅读全文
posted @ 2015-03-14 00:09 Tunix 阅读(217) 评论(0) 推荐(0)
摘要:网络流/二分图最大点权独立集 Amber(胡伯涛)论文《最小割模型在信息学竞赛中的应用》中的例题…… 感觉这个好神啊,果然是一切皆为网络流……这转化太神奇了 1 /************************************************************** 2... 阅读全文
posted @ 2015-03-13 22:32 Tunix 阅读(252) 评论(0) 推荐(0)
摘要:网络流/二分图最小点权覆盖 果然还是应该先看下胡伯涛的论文…… orz proverbs题意:N个点M条边的有向图,给出如下两种操作。删除点i的所有出边,代价是Ai。删除点j的所有入边,代价是Bj。求最后删除图中所有的边的最小代价。其实就是二分图最小点权覆盖。定义:从x或者y集合中选取一些点,使... 阅读全文
posted @ 2015-03-13 18:03 Tunix 阅读(237) 评论(0) 推荐(0)
摘要:网络流/二分图最小点权覆盖 sigh……这题……TLE&RE了好几发 建一个二分图,左边的每个结点代表行,右边的代表列,如果在(i,j)这个位置有一个外星人,那么我们就连一条边 (左 i ->右 j),这样的话,求一个二分图最小点权覆盖即可。 为什么这样建图是对的?大家学过二分图应该知道点覆盖... 阅读全文
posted @ 2015-03-13 12:01 Tunix 阅读(219) 评论(0) 推荐(0)
摘要:DP/斜率优化 斜率优化基本题……等等,好像就没啥变化啊= = 嗯目测这题跟仓库建设差不多?写题的时候倒是没想这么多……直接推了公式。 $$f[i]=min\{f[j]+cal(j,i)+a[i]\}$$ 哦麻烦的还是这个$cal(j,i)$ 我们令$s[i]=\sum_{k=1}^{i}... 阅读全文
posted @ 2015-03-12 22:01 Tunix 阅读(320) 评论(0) 推荐(0)
摘要:DP/斜率优化 斜率优化的裸题…… sigh……又把$10^6$当成10W了……RE了N发 这题还是很水的 当然逆序也能做……不过还是整个反过来比较顺手 反转后的a[0]=反转前的a[n],以此类推直到a[n-1],反转后的a[n]=0; 令f[0]=a[0],因为最初状态必须选第一个守... 阅读全文
posted @ 2015-03-12 21:09 Tunix 阅读(278) 评论(2) 推荐(0)
摘要:DP/斜率优化 根据题目描述很容易列出动规方程:$$ f[i]=min\{ f[j]+(s[i]-s[j]+i-j-1-L)^2 \}$$ 其中 $$s[i]=\sum_{k=1}^{i} c[k] $$ 而$x$即为$s[i]-s[j]+i-j-1$ 这个$x$的表示实在太不好看,我们容易... 阅读全文
posted @ 2015-03-12 17:18 Tunix 阅读(248) 评论(0) 推荐(0)
摘要:DP/斜率优化 嗯……第三道斜率优化的题目了。 定义 $s[i]=\sum_{k=1}^{i} x[k] $ 方程:$f[i]=max\{ f[j]+a*(s[i]-s[j])^2+b*(s[i]-s[j])+c \} $ 对于 $ j > k $ 若决策 j 比 k 更优:\[ \beg... 阅读全文
posted @ 2015-03-12 16:56 Tunix 阅读(314) 评论(2) 推荐(0)
摘要:DP/斜率优化 Orz Hzwer…… 想到排序了,但没想到其实可以将序列转化为x递增且y递减的序列……因为x是递增的,若y[i]>y[i-1]那么第i-1个就足够小……以至于可以在搞定第 i 个的同时顺便带走…… 这次仔细写一下斜率优化的过程吧~ 方程:$ f[i]=min\{ f[j]+... 阅读全文
posted @ 2015-03-12 16:34 Tunix 阅读(251) 评论(0) 推荐(0)
摘要:DP/斜率优化 Orz Hzwer八中好像挂了……明天再提交吧……UPD:2015-03-12 17:24:43 算了,毕竟是第一道题,还是仔细写一下斜率优化的过程吧。(部分引自Hzwer的题解) 首先我们根据题意可以列出动规方程 $$ f[i]=min\{ f[j]+cal(j,i) \}$... 阅读全文
posted @ 2015-03-11 22:05 Tunix 阅读(311) 评论(0) 推荐(0)
摘要:DP/单调队列优化 题意:k个人粉刷总长为n的墙壁(或者说栅栏?),每个人有一个必刷点s[i](这个人也可以一点也不刷,如果刷就必须刷这个点),最大粉刷长度l[i](必须是连续粉刷一段),和粉刷一格的报酬p[i],每格不能重复粉刷,求最大报酬总和。 唉……orz了一下proverbs,表示列dp... 阅读全文
posted @ 2015-03-10 20:45 Tunix 阅读(301) 评论(0) 推荐(0)
摘要:DP/单调队列优化 首先不考虑奶牛的喜欢区间,dp方程当然是比较显然的:$ f[i]=min(f[k])+1,i-2*b \leq k \leq i-2*a $ 当然这里的$i$和$k$都是偶数啦~这个应该很好理解吧……每次喷灌的都是一个偶数长度的区间嘛…… 那么加上奶牛的喜欢区间的话,只需这样... 阅读全文
posted @ 2015-03-09 18:01 Tunix 阅读(462) 评论(0) 推荐(0)
摘要:DP/单调队列优化 题解:http://www.cnblogs.com/jianglangcaijin/p/3799736.html 令f[i][j]表示第 i 天结束后,手里剩下 j 股的最大利润,则有: \[ f[i][j]= \begin{cases} f[i-1][j] & &{(... 阅读全文
posted @ 2015-03-08 11:53 Tunix 阅读(546) 评论(0) 推荐(0)
摘要:DP/单调队列优化 题解:http://www.cnblogs.com/yymore/archive/2011/06/22/2087553.html 引用:首先我们要明确几件事情1.假设我们现在知道序列(i,j)是符合标准的,那么如果第j+1个元素不比(i,j)最大值大也不比最小值小,那么(i,... 阅读全文
posted @ 2015-03-07 12:08 Tunix 阅读(337) 评论(0) 推荐(0)
摘要:DP/单调队列优化 呃……环形链求最大k子段和。 首先拆环为链求前缀和…… 然后单调队列吧 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 #define rep(i,n) for(i... 阅读全文
posted @ 2015-03-07 11:28 Tunix 阅读(219) 评论(0) 推荐(0)
摘要:总体思路:http://blog.csdn.net/wukonwukon/article/details/7894954一、四边形不等式 感觉四边形不等式用的时候是:利用第j-1层的dp[i][j-1]和dp[i+1][j-1]两个值的转移位置s[i][j-1],s[i+1][j-1]来约束 k ... 阅读全文
posted @ 2015-03-06 18:42 Tunix 阅读(373) 评论(0) 推荐(1)
摘要:DP/四边形不等式 裸题环形石子合并…… 拆环为链即可 1 //HDOJ 3506 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #define rep(i,n) for(int i=... 阅读全文
posted @ 2015-03-06 18:27 Tunix 阅读(340) 评论(0) 推荐(0)
摘要:DP/四边形不等式 这题跟石子合并有点像……dp[i][j]为将第 i 个点开始的 j 个点合并的最小代价。易知有 dp[i][j]=min{dp[i][j] , dp[i][k-i+1]+dp[k+1][j-(k-i+1)]+w(i,k,j)} ... 阅读全文
posted @ 2015-03-06 17:43 Tunix 阅读(353) 评论(0) 推荐(0)
摘要:DP/四边形不等式 要求将一个可重集S分成M个子集,求子集的极差的平方和最小是多少…… 首先我们先将这N个数排序,容易想到每个自己都对应着这个有序数组中的一段……而不会是互相穿插着= =因为交换一下明显可以减小极差 然后……直接四边形不等式上吧……这应该不用证明了吧? MLE了一次:这次的w... 阅读全文
posted @ 2015-03-06 15:36 Tunix 阅读(288) 评论(0) 推荐(0)
摘要:DP/四边形不等式 做过POJ 1739 邮局那道题后就很容易写出动规方程: dp[i][j]=min{dp[i-1][k]+w[k+1][j]}(表示前 j 个点分成 i 块的最小代价) $w(l,r)=\sum_{i=l}^{r}\sum_{j=i+1}^{r}a[i]*a[j]$ ... 阅读全文
posted @ 2015-03-06 11:48 Tunix 阅读(237) 评论(0) 推荐(0)
摘要:线段树 这是一道线段树的裸题……带单点修改的RMQ 为什么我会想到写这么一道傻逼题呢?是因为这样…… 我很好奇那个突然冒出来的黄色箭头是什么……所以就去切了一下这道水题…… 毫无压力地快速敲完……突然萌生了一种想法:试试自底向上线段树! 重新看了下zkw大牛的《统计的力量》,发现确实好... 阅读全文
posted @ 2015-03-06 10:00 Tunix 阅读(245) 评论(0) 推荐(0)
摘要:DP/四边形不等式 邮局,经典的四边形不等式例题! 关于四边形不等式的学习请看 赵爽论文《动态规划加速原理之四边形不等式》 题目总结&题解:http://blog.csdn.net/shiwei408/article/details/8791011 一个显而易见的结论是:对[l,r]这个... 阅读全文
posted @ 2015-03-05 23:03 Tunix 阅读(630) 评论(0) 推荐(0)
摘要:插头DP sigh……其实思路很简单的= =就多加一种转移:从(0,0)->(0,0),也就是不走这个格子…… 初始状态就是第一格有一个左插头= =结束状态可以让(n,m)这个位置可以走到(n+1,m),这样就符合题意了= = 然后一个大坑出现: 转移时不能随意修改sum值!!因为一个状... 阅读全文
posted @ 2015-03-04 21:43 Tunix 阅读(296) 评论(0) 推荐(0)
摘要:插头DP 楼教主男人八题之一! 要求从左下角走到右下角的哈密顿路径数量。 啊嘞,我只会求哈密顿回路啊……这可怎么搞…… 容易想到:要是把起点和重点直接连上就变成一条回路了……那么我们就连一下~ 我们可以在整张图下面加两行:(例:3*5) 1 1 1 1 1 1 1 1 1 1 1 1... 阅读全文
posted @ 2015-03-04 15:58 Tunix 阅读(186) 评论(0) 推荐(1)
摘要:插头DP 做完Formula 1以后这就是傻逼题了……直接将“数路径方案数”改为“计算路径长度取最小值”即可,没多大难度 都不用判当前格子是否能够到达的……不过!外边的一圈“墙”还是要加的!不然会有冗余状态……会TLE(如果是有障碍物的题的话直接就WA了,@楼教主的Tonys Tour) 比较... 阅读全文
posted @ 2015-03-04 12:06 Tunix 阅读(258) 评论(0) 推荐(0)
摘要:插头DP本题为CDQ《基于连通性状态压缩的动态规划的……(我忘了)》里的例题!(嗯就是这样……)先膜拜一下ccy大神……http://blog.sina.com.cn/s/blog_51cea4040100gmky.html在这里将我当初看插头DP的一些不解之处写出来,给大家提供一些参考: 以前我... 阅读全文
posted @ 2015-03-03 23:49 Tunix 阅读(833) 评论(0) 推荐(1)
摘要:数位DPOrziwtwiioi学习了一下用记忆化搜索来捉题的新姿势……但没学会TAT,再挖个坑(妈蛋难道对我来说数位DP就是个神坑吗……sigh) 1 //BZOJ 1833 2 #include 3 #include 4 #include 5 #include 6 #include 7 #defi... 阅读全文
posted @ 2015-03-02 22:07 Tunix 阅读(229) 评论(0) 推荐(0)
摘要:o(︶︿︶)o 唉跪烂了……B题由于考虑的不周全WA了3次……C题由于#include了,而我函数声明的是pow(LL a,LL b)但调用的时候 【没!有!把!n!的!数据类型!!改成!long long !!!】所以触发了自动类型转换……就调用成cmath库里的了!!!教训: 以后自己写函数名... 阅读全文
posted @ 2015-03-02 17:35 Tunix 阅读(272) 评论(0) 推荐(0)
摘要:数位DP题解:http://www.cnblogs.com/algorithms/archive/2012/09/02/2667637.htmldfs的地方没太看懂……(也就那里是重点吧喂!)挖个坑……回头再看看 1 //HDOJ 3709 2 #include 3 #include 4 #incl... 阅读全文
posted @ 2015-03-01 22:36 Tunix 阅读(216) 评论(0) 推荐(0)
摘要:数位DP同上一题Windy数预处理求个组合数然后同样的方法,这次是记录一下0和1的个数然后搞搞Orz cxlove 1 /************************************************************** 2 Problem: 1662 3 ... 阅读全文
posted @ 2015-03-01 18:45 Tunix 阅读(243) 评论(0) 推荐(0)
摘要:数位DPcxlove基础数位DP第三题= =预处理是个很有用的东西!然后就是分类讨论! 1 /************************************************************** 2 Problem: 1026 3 User: Tunix 4 ... 阅读全文
posted @ 2015-03-01 17:55 Tunix 阅读(220) 评论(0) 推荐(0)
摘要:数位DPcxlove基础数位DP第二题与上题基本相同(其实除了变成long long以外其实更简单了……) 1 //HDOJ 3555 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #de... 阅读全文
posted @ 2015-03-01 17:28 Tunix 阅读(199) 评论(0) 推荐(0)
摘要:数位DPcxlove基础数位DP第一题用容斥把所有的不吉利数字去掉就得到吉利数字的数量= =(满足区间减法) 1 //HDOJ 2089 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #d... 阅读全文
posted @ 2015-03-01 16:19 Tunix 阅读(202) 评论(0) 推荐(0)
摘要:数位DP2009年刘聪《浅谈数位类统计问题》 例题一从组合数 以及 数位DP的角度都可以做……首先转化成求1~n内K进制下只有0、1的数的个数: 考虑K进制下第一个为1的位,剩下的数位中0和1随便放……也就是算组合数了。 然后区间相减……写的好乱……还是去看论文吧 1 //Ural 1057 2... 阅读全文
posted @ 2015-03-01 11:15 Tunix 阅读(225) 评论(0) 推荐(0)