随笔 - 26  文章 - 6  trackbacks - 0
<2009年4月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

常用链接

留言簿(3)

随笔分类

随笔档案

朋友

  • cqh
  • 大学室友...

搜索

  •  

最新评论

阅读排行榜

评论排行榜

04 2009 档案
poj 2186 Popular Cows -- 强连通分支      摘要: 研究了Lynncui牛的代码,才知道解题思路:
先Tarjan强连通缩点,(假设共n2个)得到的id[i]编号为0的分支,其出度为0(有可能是Popular Cows)。
再判断其他强连通分支是否有出度
1)如果其中有一个分支没有出度,则0分支不可能是Popular Cows(considered popular by every other cow)
2)如果其他所有强连通分支都有出度,  阅读全文
posted @ 2009-04-23 18:17 longshen 阅读(594) | 评论 (0)  编辑
poj 2762 Going from u to v or from v to u? -- 强连通      摘要: 思路模糊时看了DieIng大牛的思路,写了出来...
思路:Tarjan算法计算强连通分支,然后缩点,再求其拓扑序。
(假设求得的拓扑序存储在topo[MAX]中) topo[i] 与 topo[i+1] 存在边连通(i到i+1 或i+1到i),则定有i到i+1的边。
而如果每个topo[i] 与 topo[i+1] 都存在边连通(即有i到i+1的边)时,topo[i] 到任意topo[j]便都要边连通。
  阅读全文
posted @ 2009-04-23 09:08 longshen 阅读(530) | 评论 (0)  编辑
poj 1191 棋盘分割 -- 动态规划      摘要: dp[k][x1][y1][x2][y2]:左上角坐标为(x1,y1),右下角坐标为(x2,y2)
的棋盘,设它把切割k次以后得到的k+1块矩形的总分平方和最小值.

s[x1][y1][x2][y2]:左上角坐标为(x1,y1),右下角坐标为(x2,y2)
的棋盘的总和的平方


dp[k][x1][y1][x2][y2] =
1)按横的划分: min(dp[k-1][x1][y1][f][y2]+s[f+1][y1][x2][y2]
, dp[k-1][f+1][y1][x2][y2]+s[x1][y1][f][y2]);

2)按竖的划分: min(dp[k-1][x1][y1][x2][f]+s[x1][f+1][x2][y2]
, dp[k-1][x1][f+1][x2][y2]+s[x1][y1][x2][f]);
  阅读全文
posted @ 2009-04-21 19:57 longshen 阅读(1578) | 评论 (0)  编辑