Processing math: 100%

07 2020 档案

摘要:Wormholes POJ - 3259 题意: 给定一些农场及农场间的双向路径及它们花费的时间,再给定一些农场间的单向虫洞路径。当经过一条虫洞路径从A点到达B点时,会回到比从A点出发时更早的时刻。问农夫能否可以通过这些路径见到以前的自己。 思路: Floyd判负环。 int f; int n, m 阅读全文
posted @ 2020-07-30 18:01 StreamAzure 阅读(202) 评论(0) 推荐(0) 编辑
摘要:Currency Exchange POJ - 1860 题意: 这题和Arbitrage POJ - 2240一个意思,区别在于本题给定了起始货币种类及具体数量,并且在兑换其他货币前需要扣一笔手续费,以及是双向边。 思路: 和Arbitrage POJ - 2240一样的Bellman-Ford解 阅读全文
posted @ 2020-07-30 17:22 StreamAzure 阅读(153) 评论(0) 推荐(0) 编辑
摘要:Arbitrage POJ - 2240 题意: 给出一系列货币汇率,问其中有无某种货币能在某些兑换操作后兑换回原货币,并且数量比开始时增多。 思路: 将货币视为节点,将兑换操作视为从一个节点到另一个节点的一条单向边。假定起点是1元,进行类似最短路的松弛操作后,再看起点是否多于1元即可。也就是判断是 阅读全文
posted @ 2020-07-30 17:16 StreamAzure 阅读(127) 评论(0) 推荐(0) 编辑
摘要:0 or 1 HDU - 4370 题意 给定一个n阶矩阵C_,找到满足以下条件的仅由0和1构成的n阶矩阵X_X12+X13+...+X1n=1 X1n+X2n+...+Xn1n=1 对于i$(1<i<n)\ 阅读全文
posted @ 2020-07-29 21:19 StreamAzure 阅读(125) 评论(0) 推荐(0) 编辑
摘要:昂贵的聘礼 POJ - 1062 题意: 原题干说得不清不楚的……坑死我了。 探险家要得到物品i,方式有两种:一、花费金币P[i]直接买;二、先得到指定物品X,然后可以优惠价格V买得。 每个物品都有地位等级。 给定地位等级差距限制M,表示可行的交易序列中最高地位等级与最低地位等级 阅读全文
posted @ 2020-07-29 11:34 StreamAzure 阅读(93) 评论(0) 推荐(0) 编辑
摘要:Candies POJ - 3159 题意: 给班级小朋友分糖果,要求满足以下条件:给定m组关系A,B,c,表示B得到的糖果比A得到的不多于c个,即candy[B]candy[A]c,求1号小朋友与N号小朋友糖果数之差的最大值。 思路: 线性差分约束。对式子$ca 阅读全文
posted @ 2020-07-28 23:11 StreamAzure 阅读(72) 评论(0) 推荐(0) 编辑
摘要:DNA sequence HDU - 1560 题意: 给定N个DNA序列(仅由ATCG构成),求能使得这N个序列均为其子序列的最短公共序列,输出这个最小的长度。 思路: IDA*,估价函数即N个序列中未匹配个数的最大值。(因为最理想情况是,当前所尝试的字母X加入公共序列之后,能同时与这N个序列匹配 阅读全文
posted @ 2020-07-25 12:39 StreamAzure 阅读(115) 评论(0) 推荐(0) 编辑
摘要:Escape HDU - 3533 题意: 小A要从(0,0)\(\)(n,m),他的精力值为d,每秒可以向东南西北四个方向走一格,或保持原地不动。但无论他是否移动,精力值每秒都会损失1点。路上他会遇到炮塔射击。给定k座炮塔的射击方向、射击间隔、子弹速度、坐标。第0秒小A开始逃跑,且 阅读全文
posted @ 2020-07-24 19:56 StreamAzure 阅读(105) 评论(0) 推荐(0) 编辑
摘要:HDU - 3567 Eight II 题意:八数码问题,给定初始状态与目标状态,输出字典序最小的移动路径和步数。 思路: 双向BFS: 以初始状态和目标状态为两个起点,同时出发,汇合时即答案 但需要注意,从初始状态出发的正向BFS所得路径必是字典序最小的(前提是方向遍历是按字典序从小到大);从目标 阅读全文
posted @ 2020-07-24 15:46 StreamAzure 阅读(142) 评论(0) 推荐(0) 编辑
摘要:Eight 题意:八数码问题 思路:反向BFS+康托展开 const int maxn = 362885; const int FAC[] = { 1,1,2,6,24,120,720,5040,40320,362880,3628800 }; int cantor(int* a) {//算出全排列对 阅读全文
posted @ 2020-07-23 23:30 StreamAzure 阅读(108) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示