正规、严谨、精妙。 -POI
BZOJ 2213 : [Poi2011]Difference
如果我们每次枚举两个字母最大最小情况时,很容易想到写出代码里注释的样子。这样是26*26*n的,我们发现枚举不同的之间是没有关联的,所以可以开一个二维数组同时枚举所有的字母,就是 26*2*n的了。然后就可以过了。
BZOJ 2095 : [Poi2010]Bridges
求最大值最小,二分。然后\<=的加边,>的不加边,如果有欧拉迹,就成立,没有就不成立。混合图的欧拉回路这个讲的很好。
BZOJ 3060 : [Poi2012]Tour de Byteotia
贪心,两边都大于k的边可以保留用并查集处理一下,然后扫一遍边,如果两个点不在一个集合,那么合并,如果在这个集合,那么必删,可以证明这样是最优的。解决了。
BZOJ 2802 : [Poi2012]Warehouse Store
优先队列,如果现在能买就买,不能买,就扔一件以前买的最贵的买下现在的,然后记录一下买的是哪些,输出即可。
BZOJ 2430 : [Poi2003]Chocolate
诶呀水题,贪心,每次切当前代价最小的。
以上。