- 博客(3)
- 收藏
- 关注
原创 invoker 祈求者 c++ 题解
在dota2游戏中存在一个名为祈求者的英雄,他有三个基础技能”冰””雷”“火”分别对应按键“QWE”。当祈求者身边存在三个元素球时,可以通过”祈求”技能(按键为”R”)来获得当前元素球可以组合出的特殊技能,每当他获得一个新的特殊技能,这个特殊技能就会覆盖上一个特殊技能,并且当获得特殊技能后,他身边的元素球不会消失,且直到下一次按下”R”之前,上一个特殊技能一直会被保存在技能栏中。电磁脉冲无序组合”WWW”,技能按键为”C”超声振波无序组合”QWE”,技能按键为”B”...
2022-07-17 08:24:11 332 1
原创 八数码问题题解
本蒟蒻的第二篇题解题目传送门首先,看到这样状态变化并且要求出最小步数的问题,最便捷的方法就是搜索。考虑到时间复杂度,我们首选bfs。在bfs中,比较重要的一个环节是判定状态是否已经被访问过。这里的棋盘如果用二维数组来存储,不论是访问还是标记都不是很方便。而题目的输入格式给了我们一些提示,因此,我们使用一个字符串来存储棋盘的状态。对于是否被访问的判定,我们可以选用一个map来解决,这是目前我认为最简单的方法。这里每一次状态的变化都在字符串中完成,就不像普通的二维数组,可以直接模拟上下左右四
2022-01-26 12:39:19 652
原创 【NOIP2021】报数题解
本蒟蒻的第一篇题解此题作为今年NOIP唯一一道略简单 普及— 难度的题,做法与某种强大的素数筛法(埃氏筛法)雷同,具体做法如下:我们先来看题目: 如果下一个报的数是 7 的倍数,或十进制表示中含有数字 7,就必须跳过这个数。任何一个十进制中含有数字 7 的数,它的所有倍数都不能报出来。 我们可以发现,这和埃氏筛法的思想很像,其实就是模拟,我们可以用一个vis数组来记录一个数是否应该被跳过。看代码:void init () { for (int i = 1; i...
2021-11-25 21:51:13 1448
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人