Abner

博观而约取,厚积而薄发,不可择焉不精,语焉不详!

Zoj 1119

#include #include using namespace std; #define min(a, b) (a < b ? a : b) int Edge[1001][1001]; int visited[1001]; int low[1001]; int dfn[1001]...

2013-09-30 21:22:57

阅读数:455

评论数:0

hdu 1021Fibonacci Again

根据同余问题的一个定理可知:F(n) ≡(F(n-1) + F(n-2))%3; F(n)%3的值等于(F(n-1)%3 + F(n-2)%3)%3; #include using namespace std; const int MAXN = 1000010; int d[MAXN]...

2013-09-24 21:04:52

阅读数:353

评论数:0

1513 hdu Palindrome 滚动数组+LCS

点击打开题目链接 由于单纯地求LCS会使得运行超时,因此需要想办法减少开支; 可以想到0-1背包问题是如何由二维减少到一维的,事实上,我们最后只需要计算的最后几个解,因此没有必要把每一步计算结果都储存起来,所以选用滚动数组来做; 最后求的dp[n%2][n]lcs长度,n - dp[n%2]...

2013-09-21 10:24:10

阅读数:411

评论数:0

hdu 2577 How to Type

题目源2577 times[i][0] 表示输入字符i后,大写键是关闭状态;times[i][1]:表示输入字符i后大写键是开启状态; times[i][0]:是由times[i-1][0]和times[i-1][1]两种可能的状态决定的;同样times[i][1]:是由times[i-1][...

2013-09-19 16:39:39

阅读数:403

评论数:0

4611 hdu Balls Rearrangement

规律是很容易找出的,就是计算所有i%a - i%b 的和,但是这么计算时间会超时,还要继续分析;之所以会超时是因为计算了很多重复的值,这个思路也是跟着别人写出来的, 一下代码仅供参考: #include #include using namespace std; long long...

2013-09-08 23:32:04

阅读数:533

评论数:0

ZOJ 2797 POJ 2472 106 miles to Chicago

Floyd递推方程 dist[i][j] = max(dis[i][j], dist[i][k]*dist[k][j]); #include #include #include using namespace std; #define MAX(a, b) (a > b ? a ...

2013-09-03 16:25:06

阅读数:661

评论数:0

Frogger ZOJ 1942 POJ 2253

本题类似于上一篇的卡车容量;有一句话需要理解:石头之间的青蛙距离,定义为在所有的路径之中两块石头之间的最大跳跃距离的最小值。(最小最大距离) #include #include #include #include using namespace std; #define MIN(a, b...

2013-09-01 21:37:23

阅读数:747

评论数:0

POJ 2263 Heavy Cargo

这种是通行能力(可称容量)最大路,此种路称为最大容量路。 设城市i到城市j的承重载量w[i,j],则初始时从K到M没有直接路径,w[i, j] = 0; 假如中间点H后,K到M的载重量修改为:w[K, M] = MAX{w[K, M], MIN(w[W][H]), w[H][M] };   ...

2013-09-01 19:45:19

阅读数:502

评论数:0

POJ Fiber Network 2570

/** 本题不是求最短路径,但是用的是Floyd算法思想; 我们先设m[MAXN][MAXN],m[i][j]表示从i到j的公司数目; m(0)[i][j]表示提供从i到j能直接达到的集合, m(1)[i][j]表示以(如果存在,则)v1为中间点,能提供从i到j的集合 ·········...

2013-09-01 16:33:15

阅读数:481

评论数:0

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