摘要: 最短路+最小割 首先如何使最短路变长?就是要每一条最短路都割一条边。 我们求出每个点到点1和点n的距离,就可以知道哪些边在最短路上(一开始没有想到求到0和n的距离,想用floyd,但是n=500,怕超时。) 第二步呢,我们把每条在最短路上的边加入一个新图,跑最小割就可以了(把所有最短路都割掉一条边,最短路就变长了,这个也没想到) #include #include #include... 阅读全文
posted @ 2016-06-27 19:55 invoid 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 拓扑排序+堆。 转自popoqqq神犇。 反向建图跑拓扑排序然后逆序输出。 为什么不能正的来呢,因为不知道选当前菜要先制作哪种菜。 逆序过来跑拓扑的话,也能保证满足限制条件编号小的在前面。 题外话:我都打完了才发现第三个样例输出不对,一看题直接就弃疗了。。事实证明就改动几个字母。。。。 toposort我一直喜欢叫”土拨”sort,可能是因为我口语不好吧。。。 #includ... 阅读全文
posted @ 2016-06-27 17:08 invoid 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 暴力。 O(n^6)暴力卡过,72ms。 莫名其妙做这道题时感觉十分烦躁,难受,只能这样了。 O(n^4)的方法是这样差分一下。判断的时候tmp=t[i][j],t[i][j]-=tmp,t[i+r][j]+=tmp,t[i][j+c]+=tmp,t[i+r][j+c]-=tmp,同时查看是否合法。 还有一个更优化的是如果r,c不行,r*q和c*q也不行。这个好像就是正解的办法? 为什么... 阅读全文
posted @ 2016-06-27 12:48 invoid 阅读(171) 评论(0) 推荐(0) 编辑