摘要: 题解:这一题用IDA*算法。首先要打表,把每个格子从上到,下从左到右依次编号。然后每个方向也依次编号,我用block数组。然后中间的一圈也编号,用于最后判断是否一致。重点在于估值函数h()的写法。我们发现每次移动... 阅读全文
posted @ 2019-02-17 18:45 月光下の魔术师 阅读(14) 评论(0) 推荐(0)
摘要: 题解:这一题收获很大,参考了刘汝佳的代码。很多细节处理的都很不错。我用的是单向BFS。注释在代码里。花一点时间细心的看,还是能看懂的。代码:#include #define ft first#define sd ... 阅读全文
posted @ 2019-02-17 18:36 月光下の魔术师 阅读(7) 评论(0) 推荐(0)
摘要: CF540E题解:这一题做了将近4个小时,看网上的博客,都是简单带过。找了两个写得好的博客,帮助大家理解一下。https://www.cnblogs.com/FinFin/p/9727351.htmlhttps:... 阅读全文
posted @ 2019-02-15 19:49 月光下の魔术师 阅读(11) 评论(0) 推荐(0)
摘要: HDU1217题意:询问是否存在一种货币交换,使最终的收益增加。题解:注意货币交换是单向的。floyd算法求最长路并且进行判环代码:#include using namespace std;int const N... 阅读全文
posted @ 2019-02-15 16:42 月光下の魔术师 阅读(13) 评论(0) 推荐(0)
摘要: POJ2472题意:求从1到n不被逮捕的概率最大题解: Dijkstra算法不能直接求最长路。按照Dijkstra求下面的从1到2的最长路,会发生错误。必须取反再求。1—2 2,1—3 1,3—4 1,4—2 1... 阅读全文
posted @ 2019-02-15 16:39 月光下の魔术师 阅读(6) 评论(0) 推荐(0)
摘要: CF52C题解:很简单的一道题目,注意区间[x,y]x大于y,要分两段。代码:#include #include #include #include using namespace std;typedef lon... 阅读全文
posted @ 2019-02-14 22:57 月光下の魔术师 阅读(16) 评论(0) 推荐(0)
摘要: CF61E题解: 找逆序三元组和找逆序数差不多,记录大于x的个数和小于x的个数。 因为数据比较大,所以要离散化 记得用long long类型,不小心WA了一次 代码:#include using name... 阅读全文
posted @ 2019-02-14 22:54 月光下の魔术师 阅读(7) 评论(0) 推荐(0)
摘要: HDU1540题意:求区间最大连续点的个数题解: 我们要找某个点,那么就要找到左边最近被破坏(在左边编号是最大的)maxd的和右边最近被破坏的(在右边编号是最小的)mind,那么ans = min - max -... 阅读全文
posted @ 2019-02-14 22:49 月光下の魔术师 阅读(25) 评论(0) 推荐(0)
摘要: HDU1595HDU3986题意:每删除一条边,可能会有一条从1到n的最短路,求最长的最短路。题解:hdu1596有重边,hdu3986无重边。枚举每一条边,太暴力了,肯定TLE。那枚举哪些边好呢?显然是在没有c... 阅读全文
posted @ 2019-02-14 22:44 月光下の魔术师 阅读(18) 评论(0) 推荐(0)
摘要: HDU1556:区间更新,单点查询全部(单点查询时,一次查询到底,用数组记录)#include using namespace std;int const N = 100000 + 10;int n,a[N];s... 阅读全文
posted @ 2019-02-14 14:41 月光下の魔术师 阅读(8) 评论(0) 推荐(0)