W
H
X

随笔分类 -  搜索

摘要:"题面" 最终答案的方案可以分为2种:1、不使用传送 2、从起点s到最近(步数最少)的颜色为c的格子x,传送到离终点t最近的颜色也为c的格子y,再走到t(从s到x,y到t的过程中均可使用传送) 询问次数多,如果预处理出f[k][i][j]表示从格子(i, j)到一个颜色为k的格子的最少步数,询问时只 阅读全文
posted @ 2020-04-10 17:08 -敲键盘的猫- 阅读(228) 评论(0) 推荐(1)
摘要:题目 基本思路和算法(A*)大佬们都讲的很详细了(不会的点这里),这里就提供一个小小的但很实用优化。 离AC只差一步的可以来看看 《算法竞赛进阶指南》第124页写到“估价函数的估值不能大于未来的实际价值”,但在这题中,稍稍提高一点估值可以大大提高程序运行效 优化前 优化后 优化前后效率快了将近一倍, 阅读全文
posted @ 2019-08-25 21:28 -敲键盘的猫- 阅读(402) 评论(0) 推荐(0)
摘要:题目 题意简述 在一颗树中的每个深度找出一些不重合的子树,使所有子树的大小之和最大。 解题思路 直接暴力dfs(枚举)方案,好像想不到特别有用的剪枝,就打了朴素的搜索,结果就过了(数据范围小) 先从根节点 dfs 遍历整棵树,把会用到的信息都记录下来(节点的深度,每个节点的子树大小) 为了后面搜索方 阅读全文
posted @ 2019-08-13 10:48 -敲键盘的猫- 阅读(237) 评论(0) 推荐(0)
摘要:题目 解题思路 暴力bfs,用字符串来模拟这三种操作 用字符串的优点:代码易想,简单易懂,降低思考复杂度,删除/插入操作直接截取字符串再相加就完事了(.substr函数) 缺点:相对直接用数字操作更慢(可能只有我的慢) 交换 最简单的操作,直接交换字符串中的两个字符,然后对应到数字,判断是否要加入队 阅读全文
posted @ 2019-08-11 00:05 -敲键盘的猫- 阅读(318) 评论(0) 推荐(0)
摘要:题目传送门 题目 题目描述 输入输出格式 输入格式: 第一行有一个正整数T(T<=10),表示一共有N组数据。接下来有T个5×5的矩阵,0表示白色骑士,1表示黑色骑士,*表示空位。两组数据之间没有空行。 输出格式: 对于每组数据都输出一行。如果能在15步以内(包括15步)到达目标状态,则输出步数,否 阅读全文
posted @ 2019-03-01 23:22 -敲键盘的猫- 阅读(327) 评论(0) 推荐(1)
摘要:题目链接 : 1. 洛谷 2.topoi 、 大致题意:输入一个数s,找出所有约数和为s的数 关于一个数的约数和求法: 一个>1的整数可以被分解为多个 质数 的乘方,设数 s = p1k1 * p2k2 * p3k3 *......*pnkn 根据 组合 的思想 s的约数和 = (p10 +p11+ 阅读全文
posted @ 2019-02-19 14:39 -敲键盘的猫- 阅读(255) 评论(0) 推荐(1)
摘要:Topoi(一个经常会炸的网站) 本题提交链接 很久以前的题目了, 刚开了博客,来写一波题解 先看一波提交记录: 调了好几天QAQ 唉! 要是这些高手里有我估计直接 输出1 就AC了 算法 DFS + 优化剪枝(用了一点状态压缩) 剪枝 1:求最小值很容易向导最优化剪枝 if(ws>=ans) re 阅读全文
posted @ 2019-02-16 21:14 -敲键盘的猫- 阅读(241) 评论(0) 推荐(2)
摘要:一起来看流星雨吧(话说我还没看到过流星雨呢) 题目 Problem 小A则听说另一个骇人听闻的消息: 一场流星雨即将袭击整个霸中,由于流星体积过大,它们无法在撞击到地面前燃烧殆尽,届时将会对它撞到的一切东西造成毁灭性的打击。 很自然地,小A开始担心自己的安全问题。他一定要在被流星砸到前,到达一个安全 阅读全文
posted @ 2019-02-16 19:46 -敲键盘的猫- 阅读(340) 评论(0) 推荐(1)