- 博客(9)
- 收藏
- 关注
原创 网络流征程——dinic算法
首先,大家都说dinic好,我就毫不犹豫地先学习一下。自我认为v^2*e首先,几个基础知识的tips:一般情况下在Dinic算法中,我们只记录某一边的剩余流量.残量网络:包含反向弧的有向图,Dinic要循环的,每次修改过的图都是残量网络,层次图:分层图,以[从原点到某点的最短距离]分层的图,距离相等的为一层,(比如上图的分层为{1},{2,4},{3})DF
2016-04-12 22:51:09 426
原创 poj之旅——3579
思路:首先将x数组排序,然后二分枚举答案mid,二分查找x【i】+mid在原数组的位置,检验数量是否在范围内,调整即可。程序(有点小问题,还请大牛们查下错):var n,i,l,r,cn2,k,mid:longint; a:array[0..110000]of longint;function lower(left,right,xx:longint):longint;v
2016-04-06 19:42:28 365
原创 poj之旅——2976
思路:依然需要确定一个贪心策略,每次贪心地去掉那些对正确率贡献小的考试。如何确定某个考试[a_i, b_i]对总体准确率x的贡献呢?a_i / b_i肯定是不行的,不然例子里的[0,1]会首当其冲被刷掉。在当前准确率为x的情况下,这场考试“额外”对的题目数量是a_i – x * b_i,当然这个值有正有负,恰好可以作为“贡献度”的测量。于是利用这个给考试排个降序,后k个刷掉就行了。程序:(
2016-04-04 15:47:00 278
原创 poj之旅——3045
这一题跟着感觉走就对了。完全无需二分,只要贪心即可,按照质量大,力气大排序即可。程序:var w,s:array[0..110000]of longint; n,i,tot,risk:longint;procedure qsort(l,r:longint);var i,j,x,t:longint;begin i:=l;j:=r;x:=w[(l+r)shr
2016-04-04 15:03:19 179
原创 poj之旅——3104
题目不难理解,二分答案,然后判断可行就行了。但要注意两个陷阱:1.加了散热器,一分钟一共只散k点水(包括自然蒸发)2.小心k=1程序:var k,mid,l,r,n,i:longint; w:array[0..110000]of longint;function check(mid:longint):boolean;var i,more,min:lon
2016-04-03 11:15:19 349
原创 poj之旅——3273
思路:还是道二分题,这种题一般都是先二分答案,再判断是否可行,然后调整。题目见此var cnt,l,r,mid,ans,sum,n,m,i:longint; a:array[0..210000]of longint;begin readln(n,m); l:=maxlongint; for i:=1 to n do begin read
2016-04-03 10:47:05 205
原创 poj之旅——3258
可见为2016noip提高组day2的第一题。题目见此思想:二分答案,判断是否可行。程序:var a,b:array[0..110000]of longint; i,l,r,ln,n,m,mid:longint;function check(k:longint):boolean;var i,lst,ned:longint;begin lst:=0
2016-04-03 10:27:03 209
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人