【QBXT】学习笔记——Day12杂题

带着悲伤的心情来上今天的课TAT
今天都是杂题,下午又是要考试了。
没什么心情考试怕不是要爆零。

Day12 1.26AM

还是讲了昨天没有讲完的东西。

有下界的网络流。
思想:在做网络流之前,先对这个图改变,一条带下界的边[L,R],拆成一条容量为L,一条容量为RL
我们要让这个L的边满流。为了满足流量平衡,所以新建一个源,新建一个汇,由这个新源向u连一条为容量为L的边,由v向新汇连L.最后从原T向原S连INF边(这个是为了保证流量平衡)。

可以求最小可行流,最大可行流。
最小可行流就是在新图中从新S向新T跑最大流满流。记答案ans,这里跑出了所有和下界有关的流量。这个满流怎么判断呢?其实就是原S到原T的那条容量INF边的流量。
最大可行流计算的关键在于应该算出的是“增量”。因此我们可以删去新源新汇,然后在这个图中跑一个最大流(有下界的边保持RL)。

接下来讲一些有意思的东西233
以下内容纯属hzc个人经验,仅供参考。

hzc——考试策略的人生经验
从入门到进队——敲出所有暴力(暴力指简单题AC,难题尽可能水)
这个怎么做呢?我们拿30pt的暴力去拍50pt的暴力,用50pt的暴力去写70pt的暴力,用70pt的暴力去拍100pt的暴力……
不论怎么样都要对拍,所以先上暴力。

巧妙的打表——推式子时可以暴力算小数据系数,手推方程组。

考试定理
如果一个价值x分的暴力可以在x分钟内写完,你就应该写它。

证明
一场考试有5h,即30min
一场考试3道题,满分300分
如果要AK,平均每分钟要拿1分
故成立

考试推论
如果这场考试你的期望得分为y(y<300),那么如果暴力得分有xy300,你就应该去写它(x为花费时间)。

还有一些很玄学的东西2333

================分割线====================

因为在处理昨晚硬盘爆炸的事情,有两题的讲解我是没有听的,就直接贴ppt了。
西安站的网络赛我是做了的,包括这题(可惜程序都没了)
【QBXT】学习笔记——Day12杂题
【QBXT】学习笔记——Day12杂题
【QBXT】学习笔记——Day12杂题
【QBXT】学习笔记——Day12杂题

这题CC的还不错吧。
【QBXT】学习笔记——Day12杂题
【QBXT】学习笔记——Day12杂题
【QBXT】学习笔记——Day12杂题

啊,还是CC的,这题看了一眼博弈论,第二眼看出显然要考虑固定,第三眼就切掉了。不是很懂他们在干什么- -
【QBXT】学习笔记——Day12杂题
【QBXT】学习笔记——Day12杂题
【QBXT】学习笔记——Day12杂题

CC May Lunchtime 2014 - BNGAME
有一排n个格子,从左往右编号1 n,第i个格子里有两个数aibi玩家初始时站在所有格子左边(0号格子),每次移动玩家可以前进1 k个格子,并在停下的那个格子落子。当玩家移出所有格子,即到达n号格子右边时,游戏结束。
设落子的格子为S={p1,p2,,p|S|},则一盘游戏的得分为。

maxxS(ax)+maxyS(by)

求最小得分。n5×105,|ai||bi|32000

考虑dp怎么转移。
我们需要同时知ab的最大值,因此我们必须要枚举a的最大值,这样再用一个朴素的n2dp看b的最小值是多少。
然后这个dp是可以优化的,我们显然可以优化到O(n)
但这样的总复杂度还是接受不了。
考虑枚举a的过程中我们可能只需要进行一些小的修改。因此:
【QBXT】学习笔记——Day12杂题
【QBXT】学习笔记——Day12杂题

CC February Challenge 2014 - LEMOVIE
对于一个序列,定义其激动值为序列中严格大于前面所有数的元素的个数。
比如,{1,1,5,6,5}的激动值为3。
给定n个数p1,p2,pn,求这些数的所有排列中,激动值不超过k的个数。1kn200,1pi200

为了简化问题,我们可以考虑如果没有相同的数应该怎么计算?
f[i][j]表示已经插入前i大的数激动值为j的方案数。
显然,对于第i+1个数对激动值的贡献至多为1,而且只能将这个数插在最前面时才会有贡献。且插在其他位置时,激动值不会减少。
这样的dp方程很容易列出。
那么现在考虑有相同的数,我们将相同的数分为一组。
根据经验,我们发现这组数对激动值的贡献至多也为1,而且当且仅当至少有一个数被插在了最前面。且插在其他位置时,激动值不会减少。
假设已经插入了x个数,现在这组有y个,那么没有一个数被插在最前面的方案数是:

y!Cx1x+y1

然后有一个数被插在最前面之类的东西类似。
结合前面的递推方程就可以了。

Day12 1.26PM

考试日,T1出题人丢给你一堆文字,然后让你猜这是什么数据结构,猜完了就大概知道怎么做了。(猜了半小时)
T2数学题,不会,打暴力。(事实上刚开始题目都没看懂)
T3简单题,随便敲一敲。
然后T3只用了25min,敲完正解+对拍,一点也不虚。去搞T1,用2h写完,很愉快地过了样例,然后打暴力对拍后发现写挂了,遂调试,然后用1h调出来。
最后一点时间想T2,想着100+20+100稳了啊,然后出来T3RE了。
什么?RE?。
发现读入少了一个取地址符。原来肯定是有的啊,不然会报错的???
郁闷,又没有东西拿了。

Day12 1.26NIGHT

先讲了一下考试的题目,发现T2原来就是个容斥原理,啊,还是我太蒻了都不会推式子了。
没想到三题都是原题。(早知道去AK了)

然后是继续上一些杂题。
上午最后CC的那题还有EXTRA,将激动值的定义改成了序列中相邻且构成逆序对的个数。
做法类似。
从小到大考虑,此时插入一个数可能会抵消之前的激动值。
枚举有几个数插在原来的非逆序对之间,可以类似地算出方案数。
复杂度O(nk2)

July Cook-Off 2014-RRTREE2
Tree Again
给点n个点的有根数,1号点为根,每个节点有权值wi
我们称一个数S合法,当且仅当存在一个1 n的排列p
使得p为这棵树的某个DFS序,且存在1kn使得

i=1kwpi=S

对于所有1Swi,判断S是否合法。n500,wi105
没听课在写T2的我。
【QBXT】学习笔记——Day12杂题
【QBXT】学习笔记——Day12杂题
【QBXT】学习笔记——Day12杂题

CC January Challenge 2014 - FRBSUM
ForbiddenSum

定义一个多重集S的ForbiddenSum为,不能表示为S的某个子集中所有元素之和的最小元素。
比如,多重集{1,1,3,7}的ForbiddenSum为6。
给定长度为n的序列a,有m次询问,每次给定li,ri,询问多重集S={al,al+1,,ar}的ForbiddenSum。n,m105,ai109

在翻译题面的我如此颓废,不过这是好题啊。
考虑如果给定这个集合我们怎做?
【QBXT】学习笔记——Day12杂题
【QBXT】学习笔记——Day12杂题
【QBXT】学习笔记——Day12杂题

最后是这题:
CC March Challenge 2014 - GERALD07
忘记它了?——已经在这些天的blog里出现第四次了。
它叫这个名字——Chef and Graph Queries
溜了溜了。

今天的考试真的好菜啊。
莫名RERERERERERE。
BZOJ还BZ了,题目都刷不了了TAT。