摘要:
竞赛图一般是把每场比赛当作一个点,然后和相应球队连边每场比赛一赢一输对两支球队都有影响看起来不好搞实际上我们可以先假设参加后面后面所有球队都输(每场比赛双输)然后对每场比赛我们选择一支球队赢计算增加的收益,这样就很简单了下面就是经典的平方流的做法 1 const inf=2147483647; ... 阅读全文
posted @ 2015-02-07 10:52
acphile
阅读(140)
评论(0)
推荐(0)
摘要:
利用了bzoj3172提到的性质,x串在y串中的出现的次数即为在fail树上以x结尾节点为根的子树中有多少个节点在y串上所以很明显我们要离线解决,我们先把询问按y分类存起来然后我们顺着操作顺序来,出现一个字符就把fail树上对应节点标为1,删除之后就改为0;当一个串输出之后,我们就统计跟他有关的询问... 阅读全文
posted @ 2015-02-07 10:51
acphile
阅读(173)
评论(0)
推荐(0)
摘要:
这里学习AC自动机其实对KMP和trie掌握好了之后很容易扩展成AC自动机的这里运用了一个性质由失配指针反向可以建成一棵fail树x串在y串中的出现的次数即为在fail树上以x结尾节点为根的子树中有多少个节点属于y串,这很好理解而推广到这题,在文章中出现的次数即为单词结尾节点为根的子树的规模注意这道... 阅读全文
posted @ 2015-02-07 10:50
acphile
阅读(170)
评论(0)
推荐(0)
摘要:
好题,先离线把连通块变成连续的区间每次连通块合并就相当于两个区间合并这样就轻易的用线段树解决了 1 type node=record 2 wh:string[2]; 3 x,y:longint; 4 end; 5 6 var lazy,tree:a... 阅读全文
posted @ 2015-02-07 10:43
acphile
阅读(133)
评论(0)
推荐(0)
摘要:
这里学了一个新知识叫分数规划这道题目是求∑w[i]/S最小首先二分答案k,然后如果某个环∑w[i]/S∑w[i]-k*S∑(w[i]-k)0 do29 begin30 y:=w[i].po;31 if d[y]>d[x]+w[i].len-mid then32 ... 阅读全文
posted @ 2015-02-07 10:41
acphile
阅读(144)
评论(0)
推荐(0)
摘要:
不难发现其实这个捣鼓过程就是一个辗转相减所以最小燃料是瓶容量的最小公约数然后穷举约数即可 1 var a:array[0..3000010] of longint; 2 n,k,x,i,m,j,t:longint; 3 4 procedure sort(l,r: longint); 5 ... 阅读全文
posted @ 2015-02-07 10:32
acphile
阅读(211)
评论(0)
推荐(0)
摘要:
首先缩点然后半连通其实就是缩点后节点数最多的链注意这里一定是一条链才一定是半连通然后重建图拓扑排序上做dp即可 1 type node=record 2 po,next:longint; 3 end; 4 5 var w,e:array[0..1000010] o... 阅读全文
posted @ 2015-02-07 10:30
acphile
阅读(157)
评论(0)
推荐(0)
浙公网安备 33010602011771号