随笔分类 -  算法合集 / 搜索

摘要:对于最短路径树SPT,首先给你一张正权无向图,源点任意,然后要求你删除或者选择全部边的某些边,使得尽可能多的保持两点之间的最短路径,输出边的编号即可 首先从源点跑一遍最短路,在最短路中我们需要记录一个东西,还记得怎么输出路径嘛?是不是在遍历的时候记录一个pre数组即可?同样的,我们把这些前驱点保 阅读全文 »
posted @ 2024-03-29 18:58 o-Sakurajimamai-o 阅读(25) 评论(0) 推荐(0) 编辑
摘要:迭代加深: //迭代加深搜索 //给搜索设定一个范围,如果在这个范围内没有答案那么再加大搜索范围 //这么做是为了防止搜索过深,导致利用大量时间搜索无用信息 //如果当前搜索是第10位,搜索的是个二叉树,那么前9个就是2^0+2^1+2^2+..+2^9=2^10-1,所以时间复杂度并没增大太多 / 阅读全文 »
posted @ 2023-11-02 20:03 o-Sakurajimamai-o 阅读(22) 评论(0) 推荐(0) 编辑
摘要:杨辉三角: //https://www.luogu.com.cn/problem/P1118 //最优性剪枝: //由高中知识可得,abcd四个数符合杨辉三角的数相乘,即 //res=a+3*b+3*c+d,前面的常数项也就是杨辉三角的数字 //根据此结论,进行剪枝 //由于暴力枚举全排列+部分剪枝 阅读全文 »
posted @ 2023-10-16 19:02 o-Sakurajimamai-o 阅读(43) 评论(0) 推荐(0) 编辑
摘要:医院设置 题目描述 设有一棵二叉树,如图: ![](https://cdn.luogu.com.cn/upload/image_hosting/kawht13x.png) 其中,圈中的数字表示结点中居民的人口。圈边上数字表示结点编号,现在要求在某个结点上建立一个医院,使所有居民所走的路程之和为最小, 阅读全文 »
posted @ 2023-08-17 23:58 o-Sakurajimamai-o 阅读(13) 评论(0) 推荐(0) 编辑
摘要:原代码 O(n2): 772ms #include<bits/stdc++.h> #define int long long using namespace std; const int N=1e6+10,M=1e4+10; int n,m,res,f[N],p[N],a[N],s,k,level[ 阅读全文 »
posted @ 2023-08-08 09:47 o-Sakurajimamai-o 阅读(14) 评论(0) 推荐(0) 编辑
摘要:Apple Tree time limit per test 4 seconds memory limit per test 512 megabytes input standard input output standard output Timofey has an apple tree gro 阅读全文 »
posted @ 2023-07-11 15:40 o-Sakurajimamai-o 阅读(43) 评论(0) 推荐(0) 编辑
摘要:Edgy Trees time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You are given a tree (a conne 阅读全文 »
posted @ 2023-06-16 15:31 o-Sakurajimamai-o 阅读(12) 评论(0) 推荐(0) 编辑
摘要:题目描述 有一个 n×m 的棋盘,在某个点 (x,y) 上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。 输入格式 输入只有一行四个整数,分别为 n,m,x,y。 输出格式 一个 n×m 的矩阵,代表马到达某个点最少要走几步(不能到达则输出 −1)。 输入输出样例 输入 #1复制 3 3 阅读全文 »
posted @ 2023-06-11 16:47 o-Sakurajimamai-o 阅读(23) 评论(0) 推荐(0) 编辑
摘要:题目描述 你有一张某海域 ×N×N 像素的照片,. 表示海洋、 # 表示陆地,如下所示: ....... .##.... .##.... ....##. ..####. ...###. ....... 其中 "上下左右" 四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有 22 座岛屿。 由于全 阅读全文 »
posted @ 2023-06-11 11:07 o-Sakurajimamai-o 阅读(21) 评论(0) 推荐(0) 编辑
摘要:题目背景 注意:本题为上古 NOIP 原题,不保证存在靠谱的做法能通过该数据范围下的所有数据。 题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分 阅读全文 »
posted @ 2023-06-07 14:10 o-Sakurajimamai-o 阅读(26) 评论(0) 推荐(0) 编辑
摘要:[NOIP2002 提高组] 字串变换 题目背景 本题疑似错题,不保证存在靠谱的多项式复杂度的做法。测试数据非常的水,各种做法都可以通过,不代表算法正确。因此本题题目和数据仅供参考。 题目描述 已知有两个字串 ,A,B 及一组字串变换的规则(至多 66 个规则),形如: 1→1A1​→B1​。 2→ 阅读全文 »
posted @ 2023-06-06 21:13 o-Sakurajimamai-o 阅读(30) 评论(0) 推荐(0) 编辑
摘要:题目描述 给定一个正整数 N。你可以对 N 的任意一位数字执行任意次以下 2 种操作: 将该位数字加 1。如果该位数字已经是 9,加 1 之后变成 0。 将该位数字减 1。如果该位数字已经是 0,减 1 之后变成 9。 你现在总共可以执行 1 号操作不超过 A 次,2 号操作不超过 B 次。 请问你 阅读全文 »
posted @ 2023-06-05 11:13 o-Sakurajimamai-o 阅读(17) 评论(0) 推荐(0) 编辑
摘要:题目描述 本题使用 Special Judge。 Farmer John 把农场划分为了一个 r 行 c 列的矩阵,并发现奶牛们无法通过其中一些区域。此刻,Bessie 位于坐标为 (1,1)(1,1) 的区域,并想到坐标为 (,)(r,c) 的牛棚享用晚餐。她知道,以她所在的区域为起点,每次移动至 阅读全文 »
posted @ 2023-06-04 11:49 o-Sakurajimamai-o 阅读(9) 评论(0) 推荐(0) 编辑
摘要:题目描述 N 架飞机准备降落到某个只有一条跑道的机场。其中第 i 架飞机在 Ti​ 时刻到达机场上空,到达时它的剩余油料还可以继续盘旋 Di​ 个单位时间,即它最早可以于 Ti​ 时刻开始降落,最晩可以于 +Ti​+Di​ 时刻开始降落。降落过程需要 Li​ 个单位时间。 一架飞机降落完毕时,另一架 阅读全文 »
posted @ 2023-06-01 13:13 o-Sakurajimamai-o 阅读(132) 评论(0) 推荐(0) 编辑
摘要:[蓝桥杯 2022 省 B] 扫雷 题目描述 小明最近迷上了一款名为《扫雷》的游戏。其中有一个关卡的任务如下,在一个二维平面上放置着 n 个炸雷,第 2023-05-31i 个炸雷 (,,)(xi​,yi​,ri​) 表示在坐标 (,)(xi​,yi​) 处存在一个炸雷,它的爆炸范围是以半径为 ri 阅读全文 »
posted @ 2023-05-31 13:32 o-Sakurajimamai-o 阅读(35) 评论(0) 推荐(0) 编辑
摘要:题目简单,A完之后看题解,看到大佬的一片题解有感而发,这位大佬的DFS确实精妙 看完题之后你会发现只需要5行就可以解决,c++自带的全排列函数,但是有位大佬手写DFS的方法非常巧妙,直接精确定位,让我对dfs的理解多多少少又加深一层 题目描述 人类终于登上了火星的土地并且见到了神秘的火星人。人类和火 阅读全文 »
posted @ 2023-05-26 18:36 o-Sakurajimamai-o 阅读(31) 评论(0) 推荐(0) 编辑
摘要:[ 提交 ] [状态] 题目描述 The knight is getting bored of seeing the same black and white squares again and again and has decided to make a journey around the w 阅读全文 »
posted @ 2023-05-24 20:46 o-Sakurajimamai-o 阅读(8) 评论(0) 推荐(0) 编辑
摘要://Satellite Photographs //农民约翰购买了卫星照片W×H他的农场像素(1W80,1H1000)并希望确定最大的“连续”(连接)牧场。 //当牧场中的任何一对像素可以通过遍历作为牧场一部分的相邻垂直或水平像素来连接 阅读全文 »
posted @ 2023-05-24 13:00 o-Sakurajimamai-o 阅读(29) 评论(0) 推荐(0) 编辑
摘要://DPS(深度搜索) //n-皇后问题 //方法一(与数字全排列相似) #include<bits/stdc++.h> using namespace std; const int N = 80; int n,res=0; char Q[N][N]; bool cow[N],dg[N],rdg[N 阅读全文 »
posted @ 2023-05-24 12:59 o-Sakurajimamai-o 阅读(17) 评论(0) 推荐(0) 编辑

-- --
点击右上角即可分享
微信分享提示