
搜索
文章平均质量分 61
takyon69
这个作者很懒,什么都没留下…
展开
-
2016年湖南省第十二届大学生程序设计大赛 B题 “有向无环图” CSG - 1135(dfs,记忆化搜索,逆元)
给一个有向无环图,求 图中每个点到每个点的路径条数 * 起点的a值 * 终点的b值,结果模1e9+7。弄清dfs过程后,做法就显而易见了。b2=1,1到3,两条路径,2。b3=2,2到3,一条路径,1。1到2,一条路径,1。原创 2022-10-09 21:50:32 · 170 阅读 · 0 评论 -
2012年湖南省第八届大学生程序设计大赛 I题 “Collecting Coins” CSG - 1065(搜索,bfs,dfs)
m的矩阵,‘S’是起始点,‘O’是箱子,‘C’是硬币,‘X’是障碍,‘.’是路,只能上下左右走,不可越界。*,方向为推的方向,推完一次后箱子就不能推了变成障碍,推完所处位置为箱子之前所在位置并且该店变成路。所有地图的状态存到一个队列,dfs来获取推一次箱子的新状态并存入队列,每次的状态都用bfs来获取能走到的硬币。由于箱子只能推一次,所以可以用dfs来遍历当前状态所有推箱子的情况,然后用bfs来收集能走到的点的硬币。知道能用bfs得到每个状态的硬币量后接下来就是找出所有推箱子的状态了。原创 2022-09-19 14:15:34 · 131 阅读 · 0 评论 -
2011年湖南省第七届大学生程序设计大赛 F题 “打怪升级” CSG - 1040 (dfs,剪枝,暴力)
6个参数,表示当你的能力值为p1时,消灭这个怪物需要t1时间,能力值为p2时需要t2时间,p1原创 2022-09-19 12:45:05 · 107 阅读 · 0 评论 -
2011年湖南省第七届大学生程序设计大赛 C题 “多连块拼图” CSG - 1037 (搜索)
给一个大多连块和小多连块,你的任务是判断大多连块是否可以由两个这样的小多连块拼成。小多连块只能平移,不能旋转或者翻转。中间那幅图的问题在于其中一个小多连块旋转了,而右图更离谱:拼在一起的那两个多连块根本就不是那个给定的小多连块(给定的小多连块画在右下方)。要求第一个图是否涵盖第二个图,我们可以把第二个图的点记录一下,以最上面最左边的点为原点,把其他所有点的坐标与原点的差值存起来。搜第一个图时,找到一点后只用判断以该点为原点,其他加上差值的点是否符合条件就行,如果有一点不满足则不涵盖,所有点满足才涵盖。原创 2022-09-19 12:15:43 · 181 阅读 · 0 评论 -
2010年湖南省第六届大学生程序设计大赛 F题 “Biggest Number” CSG - 1051 // UVA 11882 (dfs+bfs+剪枝)
所以要来一次结果预判,首先可以判断接下来可能到达的数字个数,也就是dfs到某个点,再bfs一次得出可能到达的数字个数,然后还可以进一步对其进行一个降序排序,让其结果最大,然后将bfs可能得到的最大结果加上dfs已经得到的结果相结合,再与当前答案相比,若预判的最大结果还比答案小,则返回,完成剪枝。一个r行c列的矩阵,里面只有1-9的数字和‘#’,最开始可以随意挑选一个数字然后可以上下左右移动,问所走的路径所含数字最大为多少。很明显是个搜索题,虽然数据很小,但是dfs暴力还是会TLE,所以要想办法剪枝。原创 2022-09-05 14:33:13 · 307 阅读 · 0 评论