题解:想了想发现只需要求出最长的一段平均值>k即可。平均值的问题给每个数减去k,判断是否连续的一段>0即可。然后我们发现如果ij不会比i 优。那我们就可以维护一个单调的s[i],然后对于每个l去二分出它的答案。但这样会T。再次考虑单调性。如果 l>j,且s[l]>s[i],那么我们的答案最小也是l-... Read More
题解:感觉是不可做题啊。。。看题解发现暴力就可以过囧。。。记录一下x倍数上次取到多少即可。复杂度:n/1+n/2+……+n/n=nlnn代码: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8... Read More
题解:二分答案之后就是混合图(有向边+无向边)的欧拉回路问题。如何判断欧拉回路是否存在?把该图的无向边随便定向,计算每个点的入度和出度。如果有某个点出入度之差为奇数,那么肯定不存在欧拉回路。因为欧拉回路要求每点入度 = 出度,也就是总度数为偶数,存在奇数度点必不能有欧拉回路。 好了,现在每个点入度和... Read More
题解:考虑最小割。不妨设s割为不选,t割为选。那么连边(s,i,a[i])(i,t,b[i])b[i]表示 i 对其他点做出的贡献之和。意义显然,如果 i 属于 s割,需要付出b[i]的代价,如果 i 属于 t 割,需要付出 a[i] 的代价。然后对于E[i][j],连边(i,j,2*E[i][j]... Read More
题解:乘积最小只需要取对数。然后反向边就变成1/c,而不是-c了。精度问题搞得我已经我想说什么了。。。贴一份网上的pascal代码; 1 type ss=record 2 x,y,c,r,next:longint; 3 f:extended; 4 end; 5... Read More
题解:题意就是求二分图的必须边。我们有结论:在残量网络上跑tarjan,对于一条边(u,v)如果该边满流||scc[u]==scc[v],那么该边是可行边。因为如果scc[u]==scc[v],那么说明v到u有通路,我们把v-u的路以及u-v这条边全部反色,也就是匹配->非匹配,非匹配->匹配。同样... Read More
题解:随便建一下图费用流就可以过吧。。。代码: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #in... Read More
题解:其实就是一个简单的最小割判断是否唯一解。。。可是我写了一上午还没过。。。T_T把1-n的最短路上的边提出来做最小割。然后从s,t分别bfs判断必须在某个割的点。如果有的点没有被bfs到,那么最小割方案不为1。因为s到它的边满流,它到t的边也满流,哪条边都可以作为割边。但还是有很多坑点啊!!!一... Read More