yzl_rex

对于算法,我只是一个草民!

排序:
默认
按更新时间
按访问量

开始你的ACM-ICPC之旅(转)

我觉得这样的文章应该有人写过的,但是Google里面貌似没有(或许有英文版) Baidu给了一个,不过不是很像样http://baike.baidu.com/view/94274.htm 那我就写一个吧,这也是momodi大牛在上个学期初委托给我的一件事情。 这篇文章面

2011-09-19 11:00:13

阅读数:1715

评论数:0

poj 2243 Knight Moves

//这题和1915是一样的题目,只不过这题的输入需要进行转换,还有这题没有给出具体的棋盘和棋子的 //走法,如果对国际象棋不熟悉的人来讲,是很难读得明白题意的,棋盘和棋子的走法可以参照1915题! #include #include #include using namespace st...

2012-09-02 09:13:05

阅读数:551

评论数:0

poj 1562 Oil Deposits

//和2386是一模一样的题目,当我在这题用c语言的输入的时候,就出错了,应该是有多个空格或者回车键在 //数据的后面,还是不是很懂c语言的输入,特需要注意! #include #include using namespace std; const int MAX = 110; char m...

2012-09-02 08:30:02

阅读数:537

评论数:0

poj 2386 Lake Counting

#include #include using namespace std; const int MAX = 110; char matrix[MAX][MAX]; int n, m, vis[MAX][MAX], ans; //每一个点的八个方向坐标的增减! int dir[8][2] =...

2012-09-01 23:13:26

阅读数:451

评论数:0

poj 1915 Knight Moves

#include #include using namespace std; const int MAX = 310; int map[MAX][MAX], row, r, l, sx, sy, ex, ey; bool vis[MAX][MAX]; //坐标的变换,即是可以移动的方格 in...

2012-08-31 09:37:55

阅读数:456

评论数:0

poj 1321 棋盘问题

#include using namespace std; const int MAX = 10; char map[MAX][MAX]; int vis[MAX], n, k, ans, sum; //地图的输入 void init() { int i, j; for...

2012-08-30 09:31:05

阅读数:514

评论数:0

poj 1154 LETTERS

#include #include using namespace std; const int MAX = 25; char matrix[MAX][MAX]; int r, s, ans; bool vis[30]; void init() { int i, j; f...

2012-08-29 16:24:33

阅读数:503

评论数:0

poj 1606 Jugs

#include #include #include using namespace std; const int MAX = 105; int a, b, n, vis[MAX][MAX], step[MAX*MAX], l, r; string opr[7] = {" &quo...

2012-08-29 10:36:02

阅读数:420

评论数:0

poj 3414 Pots

//和poj1606的题目的解法是一样的,不过有点地方需要注意,这题当没解的时候要输出impossible,还有无论是哪个杯的水的容量符合要求就可以输出了! #include #include #include using namespace std; const int MAX = 11...

2012-08-29 10:35:12

阅读数:1091

评论数:1

poj 3210 Coins

/*思路:若n为偶数: 1: 若初始状态为偶数正面 + 偶数反面,要想变成全正或全反,翻转的次数必为偶数。 例如: ○○●●●● 则翻转 2,4,6,8……次均可。 2: 若初始状态为奇数正面 + 奇数反面,要想变成全正或全反,翻转的次数必为奇数。 ...

2012-08-27 15:59:12

阅读数:518

评论数:0

poj 3278 Catch That Cow

#include #include #include using namespace std; const int MAX = 100001; int n, k, path[MAX]; bool vis[MAX]; void bfs() { int tmp; queue...

2012-08-27 15:20:08

阅读数:373

评论数:0

poj 1979 Red and Black

//这题属于简单的搜索题,可以分别用bfs和dfs来做! #include #include #include #include using namespace std; const int MAX = 25; char map[MAX][MAX]; int i, j, w, h; ...

2012-08-26 10:55:23

阅读数:503

评论数:0

poj 3974 Palindrome

#include #include const int MAX = 1000005; char str[MAX], Manacher_str[2*MAX]; int len, tc = 0, p[2*MAX]; using namespace std; void change() { ...

2012-08-26 08:47:37

阅读数:691

评论数:0

Manacher算法:求解最长回文字符串,时间复杂度为O(N)

回文串定义:“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。回文子串,顾名思义,即字符串中满足回文性质的子串。 经常有一些题目围绕回文子串进行讨论,比如POJ3974最长回文,求最长回文子串的长度。朴素算法是依次以每一个字符为中心向两侧进行扩展...

2012-08-26 08:44:57

阅读数:32711

评论数:9

poj 3637 Shopaholic

//贪心算法,简单! #include #include #include using namespace std; const int MAX = 20001; int prices[MAX]; bool cmp(int a, int b) { return a > ...

2012-08-24 20:52:18

阅读数:807

评论数:0

poj 3664 Election Time

#include #include #include using namespace std; struct Info{ int index, fv, sv; }info[50001]; bool cmp1(Info a, Info b) { return a.f...

2012-08-24 18:56:16

阅读数:709

评论数:0

poj 3619 Speed Reading

#include using namespace std; int main() { int n, k, s, t, r, i, j, ans, tmp, p; while (cin >> n >> k){ for (i = 0; ...

2012-08-24 16:21:56

阅读数:708

评论数:0

poj 3750 小孩报数问题

#include #include #include #include using namespace std; int main() { int num, w, s, i, c; string name, tmp; queue q; queue ans...

2012-08-23 22:50:00

阅读数:907

评论数:0

poj 3978 Primes

#include using namespace std; const int MAX = 100010; int prime[MAX]; int main() { int i, j, a, b, ans; prime[0] = false, prime[1] = false...

2012-08-22 18:19:54

阅读数:397

评论数:0

poj 3979 分数加减法

#include #include #include #include using namespace std; //求最大公约数 int gcd(int n, int m) { int tmp; if (n < m){ tmp = m; ...

2012-08-22 12:54:25

阅读数:691

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭