Posted on 2010-08-20 19:10
acronix 阅读(161)
评论(0) 编辑 收藏 引用 所属分类:
hzshuai解题中算法总结
POJ推荐50题 —— 参加10年暑假集训时要求完成
记住写解题报告和解题总结!!
POJ == 北京大学ACM在线评测系统 http://acm.pku.edu.cn/JudgeOnline
第一类 动态规划 (至少6题,2479 and 2593必做)
2479 and 2593
1015
1042 (也可贪心)
1141
1050
1080
1221
1260
2411 (稍难)
1276
第二类 搜索 (至少4题)
1011
1033
1129
2049
2056
2488
2492 (稍难,也可并查集)
第三类 贪心 (至少2题)
1065
2054 (难)
1521
2709
第四类 最短路 (至少3题)
1062 昂贵的聘礼(直接dfs,或者枚举等级区间+floyd)
1125 Stockbroker Grapevine (Prim求两两最短路)
1797Heavy Transportation (Dijsktra的变形,实质贪心)
2253 (同1797,贪心)
上两题贪心(Dijsktra)的证明
d[i] = max ( d[i], min(d[u], map[u][i])) d[u]是当前进入访问点集合的点。
S为已访问的点集。
定理 每次加入的S的点u,d[u]就是题目所求最大载重。
证明
每次加入S的点u为当前d值最大的点,所以未访问的点集中没有点可以对u进行松弛操作(若t能对u进行松弛操作,
则有d[t]>d[u])。而S中的顶点也都进行了松弛操作,所以D的值不会改变。定理得证。
亦可用Floyd,稍作修改即可,而dis[i][j]意义为 i ,j 之间符合题意的最优值,
在三重循环用k值不断更新dis[i][j]
具体见:http://blog.sina.com.cn/s/blog_5f5353cc0100gnxu.html
据说还能用最小生成树和最大生成树做上两题,会了再说吧
2679 Bellman-Ford (难)
第五类 最小生成树 (至少2题, 而且 Prim 和 Kruskal 至少各用一次)
1251
1258
1789
2485
第六类 最大流 (至少2题)
1087 A Plug for UNIX(dinic模板完美使用)
1459 Power Network(dinic模板完美使用)
1149 Pigs(建模得动点脑筋)
1966
2516 (最小费用最大流) (难)
2711
3469
3498
第七类 二分图 (至少3题)
1325 Machine Schedule(匈牙利算法初步)
1469 course(全裸的二分最大匹配)
2195 (KM 算法或最小费用最大流) (难)
2446
1422 and 2594
第八类 并查集 (至少2题)
1861
1182 (难)
1308
2524
第九类 快速查找 (B-Search, Hash and so on) (至少3题)
2503
2513 (+Euler回路的判定)
1035
1200
2002
第十类 数论 (至少2题)
1061
1142
2262
2407
1811(难)
2447 (难)
第十一类 线段树 (无最少题数要求)
2352 (可用简单方法)
2528
第十二类 计算几何 (至少2题,1113凸包算法必做)
1113
1292
2148 (难)
2653
1584
第十三类 高精度 (至少3题,1001必做)
1001
1047
1131
1503
1504
1060 and 1996 (多项式)
SCU1002, 1003, 1004 (http://acm.scu.edu.cn/soj)
第十四类 模拟 (至少5题)
1029 and 1013
1083 and 2028
2234 and 1067
1012
1026
1068
1120
2271
2632
第十五类 数学 (至少4题)
2249
1023
2506
1079
1019 and 1095
1905 and 1064 (二分)
http://forum.byr.edu.cn/wForum/board.php?name=ACM_ICPC
BUPT ACM FTP
Address: ftp://www.cs.bupt.cn/acm
ID: acmguest
PASSWORD: acmftp