Poj 3281 && Regional Chengdu Food(Dicnic)
摘要:网络流最大流的优化算法Dicnic,每一步对原图进行分层,然后用DFS求增广路。时间复杂度是O(n^2*m) 。Poj 3281 和 9.16号成都regional网络赛food那道题,都是很好的模板题。。以food那题为例,这样建图:设一个源点,每一种food为一层,每个人分成两部分,people1 people2两层,每种饮料是一层,然后是一个汇点。每一种食物的个数,即为源点到那种food的流量;饮料同理。每一个人只消耗一种一个食物和一种一个饮料,因此每种食物(或饮料)与人的连线,流量为1people1与people2的间的流量为1模板放这儿先。POJ 3281#include<st
阅读全文
posted @
2012-09-17 22:36
MicZ
阅读(290)
推荐(0)
HOJ 1081 Scramble Sort
摘要:字符串处理。。题目就不介绍了。应该是一道比较水的题,思路很简单,就是排个序。但是有很多细节要注意,也很考验一些基本功。1.注意字母排序时是不区分大小写的。本来想用现成的sort,但是处理二维数组,并且还要忽略大小写,本弱菜不知道该怎么写了。最后放弃sort,自己写了一个对字符串进行排序的strsort。最朴素的n^2的排序。。还好最后没超时。2.对于数字,可以用atoi这个函数。atoi()会扫描参数nptr字符串,检测到第一个数字或正负符号时开始做类型转换,之后检测到非数字或结束符 \0 时停止转换,返回整型数。然后直接sort即可。3.我用了一个bool types[]记录哪个位置应该出数
阅读全文
posted @
2012-09-03 23:41
MicZ
阅读(242)
推荐(0)
HOJ 1956 Square(DFS+剪枝)
摘要:看到题目很容易想到要用DFS,但写出来之后发现TLE了。以为要用其它的算法,百度了下之后发现这题的考点就在于剪枝。刚开始我只用了两个剪枝:各木棍之和是否能被4整除;是否有木棍的长度大于正方形的边长。但事实证明还不够。关键的两个剪枝在DFS里面。具体看代码及注释吧。注意:每一次递归进去,开始搜索的位置的选择,经常是可以进行重要优化的!//DFS+剪枝优化
#include <iostream>
#include <cstdio>
#include <memory.h>
#include <algorithm>
using namespace std
阅读全文
posted @
2012-09-02 23:56
MicZ
阅读(157)
推荐(0)