摘要:
一、题目描述 二、解题思路 利用map把每一次该层所对应的数值的各个位置存进去,然后进行dfs调用,当发现到了第n - 1层的话就可以比较一下答案了,需要再加上一个剪枝操作,就是当当前的步数已经比答案的步数相等,或者已经大于答案的步数时,再搜下去已经没有必要了。 三、代码实现 1 #include 阅读全文
posted @ 2022-03-10 21:59
scannerkk
阅读(38)
评论(0)
推荐(0)
摘要:
一、题目描述 二、解题思路 弄个string的栈,把这些全部存进栈,然后从栈顶一直往下走,碰到两个数字和一个操作符就进行一次操作,再入栈就行。(注意除号和减号不要写反了,不然跟我一样调一个小时) 三、代码实现 1 #include "bits/stdc++.h" 2 #define PII pair 阅读全文
posted @ 2022-03-10 21:56
scannerkk
阅读(99)
评论(0)
推荐(0)
摘要:
一、题目描述 二、解题思路 kruscal模板题 三、代码实现 1 #include "bits/stdc++.h" 2 #define PII pair<int,int> 3 #define rep(i,z,n) for(int i = z;i <= n; i++) 4 #define per(i 阅读全文
posted @ 2022-03-10 21:51
scannerkk
阅读(236)
评论(0)
推荐(0)
摘要:
一、题目描述 二、解题思路 这题是经典的bfs题,但是因为这个守卫每次都会多用掉1个时间,但是我们bfs每次只会扩展一步,所以就会提前到达终点,但是不是最优解的情况 比如说下面这种情况 我们都知道两点之间直线最短。但是这个直线上的士兵这么多,最后花费的时间可能会比走弯道更多。所以我们的解决方法是,设 阅读全文
posted @ 2022-03-10 21:47
scannerkk
阅读(39)
评论(0)
推荐(0)
摘要:
一、题目描述 二、解题思路 mp模板题,注意输入即可 三、代码实现 1 #include "bits/stdc++.h" 2 using namespace std; 3 map <string,string> mp; 4 int main() 5 { 6 string a,b; 7 while(1 阅读全文
posted @ 2022-03-10 21:36
scannerkk
阅读(71)
评论(0)
推荐(0)
摘要:
一、题目描述 二、解题思路 首先想到的是dfs进行逐个遍历,但是会有两个错 第一个:如果出现不能整除的情况,那么答案就会丢失,因此我们需要设置一个精度,在这个范围内的答案我们都要去接受他。 第二个:如果出现(a + b)* (c + d) == 24的这种情况,我们的dfs逐个遍历就不能做到这种,因 阅读全文
posted @ 2022-03-10 21:30
scannerkk
阅读(279)
评论(0)
推荐(0)
摘要:
一、题目描述 二、解题思路 首先利用string把整个字符串读入 然后用逗号进行分隔成三个字符串,然后用find和rfind函数解决即可。 三、代码实现 1 #include "bits/stdc++.h" 2 using namespace std; 3 int main() 4 { 5 stri 阅读全文
posted @ 2022-03-10 21:24
scannerkk
阅读(264)
评论(0)
推荐(0)
摘要:
一、题目描述 二、解题思路 简单dp,dp数组的含义为前i个数的最长上升子序列,因为这里的数据范围很小,故不需要二分进行优化,最后扫一遍整个数组的最大值就是答案。 三、代码实现 1 #include "bits/stdc++.h" 2 #define PII pair<int,int> 3 #def 阅读全文
posted @ 2022-03-10 21:20
scannerkk
阅读(109)
评论(0)
推荐(0)
摘要:
一、题目描述 二、解题思路 简单暴力解即可以,当然可以在if条件出进行优化,if这个数能被2整除一定不是素数,然后再是判断是否是回文,再判断是否是素数,这样能最大减小常数。 三、代码实现 1 #include "bits/stdc++.h" 2 #define PII pair<int,int> 3 阅读全文
posted @ 2022-03-10 21:17
scannerkk
阅读(438)
评论(0)
推荐(0)

浙公网安备 33010602011771号