直接求不好求引入未知数,考虑采用补集转化 对于一次非剪刀石头布的情况,定是一个人赢了另两个人 若知道一个人共赢了多少人,那么就贡献了n*(n-1)/2种不同的情况 更一般的,一个人如果多赢了一个人,他的新增的贡献就是他当前没有加上这个人时已经赢了的人 费用流。 st->比赛->人->ed,费用是递增 ...
分类:
其他好文 时间:
2019-01-14 11:01:37
阅读次数:
150
Description 在一些一对一游戏的比赛(如下棋、乒乓球和羽毛球的单打)中,我们经常会遇到A胜过B,B胜过C而C又胜过A的有趣情况,不妨形象的称之为剪刀石头布情况。有的时候,无聊的人们会津津乐道于统计有多少这样的剪刀石头布情况发生,即有多少对无序三元组(A, B, C),满足其中的一个人在比赛 ...
分类:
其他好文 时间:
2017-03-29 00:53:06
阅读次数:
203
题目大概是说n个人两两进行比赛,问如何安排几场比赛的输赢使得A胜B,B胜C,C胜A这种剪刀石头布的三元组最多。 这题好神。 首先,三元组总共有$C_n^3$个 然后考虑最小化不满足剪刀石头布条件的三元组个数: 对于三个人构不成剪刀石头布现象,当且仅当,其中一个人赢了其他两个人 而由于这是完全图,如果 ...
分类:
其他好文 时间:
2016-04-20 17:51:17
阅读次数:
176
之前在bzoj上做了几道WC的题目,现在整理一下bzoj2115 去膜拜莫队的《高斯消元解xor方程组》bzoj2597 LCT维护MSTbzoj1758 分数规划+树分治+单调队列bzoj2595 斯坦纳树,一类用spfa转移的dp,具体可以膜拜《spfa算法的优化及应用》(我是不会插头的蒟蒻)b...
分类:
其他好文 时间:
2015-05-03 10:28:52
阅读次数:
246
题解,比较常规式是费用流,没写那个神贪心。
首先是三元环需要取补集,先C(n,3)算出总环数,然后减去失败的三元环。
我们发现在一个三元环中,如果有某个选手入度(or 出度)为2,那么就会破坏这个环。
所以当选手有x个度时,就会破坏∑(i∈[0,x])个三元环(0+....+x-1),P.S.这个是C(x,2)推出来的。
建图:
第一层源点
到下一层每个点若干条边
...
分类:
其他好文 时间:
2015-01-07 16:59:32
阅读次数:
181
题目大意:给定一个竞赛图,一些边没有指定方向,求一个指定方向的方案使竞赛图中三元环的数量最多
直接做不好做,我们考虑补集法
三个点之间如果不是三元环,那么一定有一个点有两条出边
于是我们可以得到ans=C(n,3)-ΣC(degree[x],2)
于是我们考虑费用流的模型
每条边化为一个点
从源点向每个点连n-1条边,流量为1,费用为0,1,...,n-2
一条边如果可以或必须成为一...
分类:
其他好文 时间:
2015-01-05 18:51:59
阅读次数:
152
什么鬼。。。冬令营题目不看题解能做?(看了题解也不会2333)其中有一部还是可以仔细思考一下的,就是对于费用流,如果每条边边满足:cost = a * flow2,如何做?我们可以拆边,新边上,每条边流量为1,费用为a * (x2 - (x - 1)2)(就是费用为a * (12 - 02), a ...
分类:
其他好文 时间:
2015-01-01 23:46:32
阅读次数:
300
题目大意:给定n座楼,初始高度为0,每次可以改变某栋楼的高度,求每次改变高度之后从原点可以看到几栋楼
记录每栋楼楼顶与原点连线的斜率 那么一栋楼可见当且仅当前面所有楼的斜率都小于这栋楼
将n栋楼分为√(0.5*n*logn)块 每一块内维护一个单调上升子序列(注意不是LCS) 比如说4 1 2 3 5 那么维护的序列就是4 5
修改的时候块内暴力重建 然后查询顺着块撸一遍 每次记录当前的最大...
分类:
其他好文 时间:
2014-12-16 11:49:11
阅读次数:
120