摘要:        
1 1 2 http://poj.org/problem?id=1724 3 一开始就直接写了一个DFS,直接TLE,以为用dfs肯定会超,后来看到discuss里有人 4 2 有人用了DFS,所以看了 看,发现进行一些优化,后就可以AC 5 3 优化看代码 6 4 7 5 #include<stdio.h> 8 6 #include<string.h> 9 7 #define maxn 2000010 8 #define max 0x7fffffff11 9 12 10 struct node13 11 {14 12 int d;15 13 ...    阅读全文
        
            posted @ 2012-07-17 15:12
Szz
阅读(173)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
1 http://poj.org/problem?id=1724 2 题目大意:单向边最短路问题,但是每条边都有一个费用,要求你的最短路方案的总的花费不能超过限制。 3 4 BFS+优先队列优化 5 因为题目要求的是在给定费用下的最短距离,所以 以距离优先建队列 广搜 6 7 #include<stdio.h> 8 #include<string.h> 9 #include<vector>10 #include<queue>11 using namespace std;12 #define maxn 2000013 #define max 0x7    阅读全文
        
            posted @ 2012-07-17 15:04
Szz
阅读(164)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
http://acm.hdu.edu.cn/showproblem.php?pid=4248 题解: 给定n种颜色的石头,每种颜色有si颗,同种颜色的石头不区分。问能构成多少种不同的石头序列(不同的序列是指:1.石头数不同;2.石头数相同,至少一个位置的石头颜色不同) dp[ i ][ j ]表示:考虑前i种石头构成的长度为j的序列的个数。 转台转移方程: dp[ i ][ j ] = dp[ i-1 ][ j ]; //未放入第i种颜色的石头 for k := 1 ~ min( j , s[ i ] ) //放入k个第i种颜色的石头 dp[ i ][ j ] ...    阅读全文
        
            posted @ 2012-07-17 10:02
Szz
阅读(360)
评论(0)
推荐(0)
        
        
浙公网安备 33010602011771号