算法
文章平均质量分 69
Sear_ch_
这个作者很懒,什么都没留下…
展开
-
快速幂入门?
what's 快速幂? 相信大家都看得懂这是什么: a^b mod p=? 注:a^b表示a的b次方,mod即求余 时间复杂度为O(b)的方法相信大家都能写出: #include<bits/stdc++.h> using namespace std; typedef long long ll; ll a,b,p; int main(){ cin>>a>>b>>p; for(ll i=1;i<=b;i++) a=(a%p*a%p)%原创 2021-07-12 19:21:42 · 104 阅读 · 0 评论 -
浅析搜索(search)NO.5
【阅读部分】 搜索是OI之路上,人人必会的强大算法。自古便有名言:“暴力进省队”(实际上,很多考试你打好所有暴力就可以拿到不错的分数)。 在考场上,搜索常常是与正解的对拍板子(当然有时搜索就是正解),且一般搜索都会有20~30分。 而想要写好搜索,剪枝必不可少(有时出题人不会给纯暴力分)。 what's 剪枝? ...原创 2021-06-13 10:32:37 · 261 阅读 · 0 评论 -
浅析搜索(search)NO.4
迷宫(3): 【题目部分】 有一个mn格的迷宫(表示有m行、n列),其中有可走的也有不可走的,如果用0表示可以走,1表示不可走,文件读入这mn个数据和起始点、结束点(起始点和结束点都是用两个数据来描述的,分别表示这个点的的行号和列号)。现在要你编程找出从起点到终点的最少步数和最少步数的总走法,要求所走的路中没有重复的点,走时只能是上下左右四个方向。如果一条路都不可行,则输出“No Answer! ”。 Input 第一行是两个数 m、n,接下来是m行n列由10组成的数据,最后两行是起始..原创 2021-06-11 23:11:17 · 149 阅读 · 4 评论 -
浅析搜索(search)NO.3
废话不多说上题目: 【题目部分】 有一个mn格的迷宫(表示有m行、n列),其中有可走的也有不可走的,如果用1表示可以走,0表示不可走,文件读入这mn个数据和起始点、结束点(起始点和结束点都是用两个数据来描述的,分别表示这个点的的行号和列号)。现在要你编程找出所有可行的道路总数,要求所走的路中没有重复的点,走时只能是上下左右四个方向。如果一条路都不可行,则输出相应信息(用 -1表示无路)。 Input 第一行是两个数 m、n(1 < m,n < 15),接下来是m行n列由...原创 2021-05-31 23:15:54 · 246 阅读 · 0 评论 -
浅析搜索(search)NO.2
上一道回溯基础题(虽然我第一次做这道题花了好久): 【题目部分】 列出所有从数字式1到数字n的连续自然数的排列,要求所产生的任一数字序列中不允许出现重复的数字。 Input n(1<=n<=9) Output 由1~n组成的所有不重复的数字序列,每行一个序列,每个数字场宽为5。 Sample Input 1 3 Sample Output 1 1 2 3 1 3 2 2 1 3 ...原创 2021-05-31 22:53:58 · 168 阅读 · 0 评论 -
浅析搜索(search)NO.1
先来上一道回溯经典题目(NOIP2002普及组二 选数): 已知 n 个整数 x1,x2,…,xn,以及一个整数 k(k < n)。从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为: 3+7+12=22 3+7+19=29 7+12+19=38 3+12+19=34。 现在,要求你计算出和为素数共有多少种。 例如上例,只有一种的和为素数:3+7+19=29...原创 2021-05-31 22:40:38 · 251 阅读 · 0 评论