刷题数:4 今天看书看了A*与IDA*,算法竞赛入门经典124~133页。 先说一下看书后对知识点的认识,A*算法就是设计一个估价函数,附加到其优先队列的权值比较中,然后还是得到目标状态的解。值得一提的是,设当前状态为state,估值函数为f(state),当前状态到目标状态的最小代价为g(stat Read More
posted @ 2019-08-03 21:04 Ldler Views(156) Comments(0) Diggs(0) Edit
题目链接 题意:有八种操作棋盘进行移动,使得中间8个数字一样,问·最短移动步数及如何移动。 思路:dfs,因为当中间八个数字中有m个数字不同时,至少需要m次操作,将这个m作为估值。 Read More
posted @ 2019-08-03 21:00 Ldler Views(178) Comments(0) Diggs(0) Edit
题目链接 题意:转换一个128位的二进制串,变成16进制,并且格式为x:x:x:x:x:x:x:x然后多个相邻的0变成::,且只有一个::,求变成的字典序最小且最短的字符串。 思路:大水题,但是就是一直wa,思路都一样的还是wa。先将二进制转化为十进制,然后用%x输出,因为连续的0可变短,但有优先级 Read More
posted @ 2019-08-03 20:28 Ldler Views(194) Comments(0) Diggs(0) Edit
题目链接 题意:给你n个物品体积,你用k个相同体积的篮子去装,不能装超过篮子的体积,求篮子体积的最小值 思路:其因为数都是1000,令sum为物体总体积,maxV为物体体积最大值,所以其篮子体积下界为max((int)ceil(sum/k),maxV),而上界就是ceil(sum/k)+maxV然后 Read More
posted @ 2019-08-03 19:22 Ldler Views(228) Comments(0) Diggs(0) Edit
题目链接 题意:给你一个图以及起点和终点,求起点到终点的第k短路的大小。 思路:先用迪杰斯特拉求出每个点到终点的最短路,然后用A*算法,令f(x)为每点到终点的距离,将f(x)附加到每条边的边权上,再利用优先队列对最小的进行扩展,直接暴力搜相邻边,则第k个从优先队列中出来的就是正解。思路很明了,代码 Read More
posted @ 2019-08-03 18:55 Ldler Views(344) Comments(0) Diggs(0) Edit