记忆化搜索
Ac-try
这个作者很懒,什么都没留下…
展开
-
UVA 437 -- The Tower of Babylon
题目大意: 给出n个长方形的长宽高,长宽高是可以互相转换的,由两个组成长方形的底部,另外一个是高度,把可能得到的长方体叠加在一起,求最高的高度,叠加的条件是上边的长方体的底部边长小于下面的长方体的底部的边长; 思路分析:把可能得到的长方体都存下来,把任意两个长方体能叠加在一起的连一条边,也就是建图的过程,然后对与每一个长方体进行搜索,找出一条最长的路径。 代码实现: #include #in原创 2015-04-26 17:35:15 · 284 阅读 · 0 评论 -
UVA -- 11324 The Largest Clique(强连通+记忆化搜索)
代码实现: #include #include #include #include #include #include #define Min(a,b) ((a)<(b)?(a):(b)) #define Max(a,b) ((a)>(b)?(a):(b)) #define MEM(a) (memset((a),0,sizeof(a))) #define MEME(a) (memset((a),原创 2015-04-26 17:41:43 · 344 阅读 · 0 评论 -
UVA -- 10285 Longest Run on a Snowboard
代码实现: #include #include #include #include #include #include #define Min(a,b) ((a)<(b)?(a):(b)) #define Max(a,b) ((a)>(b)?(a):(b)) #define MEM(a) (memset((a),0,sizeof(a))) #define MEME(a) (memset((a),原创 2015-04-26 17:38:37 · 300 阅读 · 0 评论 -
POJ -- 3249 Test for Job (记忆化搜索)
题目大意:给你一个图,求一条起点(入度为0)到终点(出度为0)的路,满足所有点的val之和最大(每条边的val有正有负)。 代码实现: #include #include #include #define Min(a,b) ((a)<(b)?(a):(b)) #define Max(a,b) ((a)>(b)?(a):(b)) #define MEM(a) (memset((a),0,si原创 2015-05-14 22:02:52 · 381 阅读 · 0 评论 -
POJ -- 3592 Instantaneous Transference (强连通+记忆化搜索)
题目大意: 给出一个n*m的格子地图,每一格上面是0~9,“*”或“#”。如果格子上是数字代表这个格子上有当前数量的矿石。如果是“*” 代表着当前格子是一个传送阵可以传送到指定的地方。如果是“#”代表当前格子不可达。 现在有一个矿车在坐标(0,0),也就是左上角。他只能向右和下行驶。当遇到传送阵时可以被传送到指定的位置。当他遇到数字时就可以得到那些数量的矿石,那个地方的矿石数量就变为“0”。问矿车原创 2015-05-14 21:04:45 · 345 阅读 · 0 评论 -
UESTC -- 901 方老师抢银行(强连通)
题目大意:方老师没钱买拖鞋了所以决定去抢银行,城市可以看做N个路口和M个道路,城市从1开始编号。每个路口上有一个ATM机器里面有钱。M条单向道路连接城市,方老师从他的据点P出发,开始一路抢最后在一个网吧结束自己的旅程。城市里一共有K个网吧(网吧都在路口上)。 代码实现: #include #include #include #include #include #include #define原创 2015-05-14 21:10:45 · 452 阅读 · 0 评论