题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=3513
题目大意是输入树状的家庭关系,问怎么买票(买家庭票还是个人票)最省钱并且票的数量最少
这道题是一道Hash+树状DP问题。编码长度相当可观,需要较好的编码能力
我这题编码就犯了几个低级错误,然后算法错误一次,导致了无数的WA
先给几组测试数据
2 3
a b
b c
c d
2 3
a b c
b d e
c f g
d h i
e j k
f l m
g n o
1 3
a b c d e
f g h i j a n k l
n m o p q
0 0
答案是:
1. 0 2 6
2. 0 5 15
3. 0 3 9
贴代码(注意下代码是C++的。由于使用了 cin和cout,G++有输入优化会降低cin和cout的时间,如果用G++要把cin和cout改成scanf和printf,然后少用string,否则会TLE):
/**
* Author: OWenT
* POJ PKU 3513 Let's Go to the Movies
* http://acm.pku.edu.cn/JudgeOnline/problem?id=3513
* 树形DP + Hash
* WA了好多次
*/
#include
#include