跨了个年,把USACO第四章“做掉”了。
顺便跟大家说下新年好、新年快乐、新年如意、新年……
先把我的程序地址贴出来吧,若是卡住了你可以稍微借鉴。
http://www.cppblog.com/Files/CK985/USACO-Chapter4.rar
第四章果然又比第三章难了,题的数量也稍微减少了。
这章主要讲了程序优化,网络流和高精度。
第一个就不说了吧,其实还是很重要的,关于优化方面,在今年的全国冬令营上,金牌选手Lolitter会讲到的,他的论文很牛B,有机会的话我会找他要电子版的然后贴上来。
网络流呢,一般来说有两种实现方法:
1、寻找增广路,并进行一系列操作
比较常用的就最裸的最大流,以及DINIC算法。
2、预流推进
其实预流推进不怎么常用,虽然说比较快,但是代码量比较大,比如HLPP(最高标号预流推进)这种,比赛中遇到神仙了才会写。
高精度就是非常基础的东西了,要注意的就是效率吧,如果进行高精运算的次数比较多,记得压位。
这章还考了很多小技巧,比如最恶心的就是4.3.2 The prime,这题要加N多恶心的剪枝才能过,数据最大的点我是0.7秒过的,最后的程序一共273行 - -!。还有些比如拓扑排序,贪心,动归(动态规划,DP)等。
若是有不懂的题可以在后面留言,若学校的网没有问题,我会在一天内回答的。