题目真的都不错但是训练的时候结果不怎么好..
A切掉迅速干掉BDF三个简单题后在E,G,J间玩了三个小时泥巴……
以后这样真不好啊。。
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=42606#overview
A:略
B:一个甜甜圈上有字符,从每个字符出发8个方向走能得到一堆字符串,求出现次数>1的最长串
范围很小,暴力找出所有字符串,按字典序排好序,用相邻的LCP更新答案。
C:给你一段密文,和组成密文的单词,求单词与密文是否存在唯一的字母两两置换的关系。
爆搜……范围很小,枚举每个密文对应的单词,如果方案数大于1就可以停止搜索了。
D:一个无向图,有些点是加油站,车有油量上限,求两点间的最短路。
关键点只有加油站和起点中点,求出它们的单源最短路后用floyd判定。
E:报复社会题目,一个二十面体在滚来滚去,求从初始状态滚到另外一个状态的最小步数。
只要能人肉出状态转移……只要能人肉出状态转移……就是一个BFS了
F:经典题,n个字符串串成一条链,求链的最小长度
预处理出把一个串接到另一个串后面增加的长度,然后状压DP
G:扫雷,给你不超过15个数字,问满足数字的限制至少需要埋多少个雷。
轮廓线动态规划……逐格转移。就是开一个10^15的状态……用map来处理就好,加上一些明显的剪枝,状态不是一般的稀疏。
训练的时候想了很长时间,都没敢这么去写……
H:报复社会
I:报复社会
J:求从一个点出发到另外一个点再回来的最小代价,点上的代价只收一次,边上的每次路过都要收。
每个点有海拔,去的时候不许下坡,回来的时候不许上坡。
有点像双调旅行商问题,加上海拔限制的话。
实际上就是这么做,题目有相同海拔的点不超过10个,状态就用f[50][50][1024]来存。
(事实上这题我还没写过……
Code:
https://github.com/Sd-Invol/shoka/tree/master/TheWaySoFar-Training/2011-Fukuoka