自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 高精度加法(有浮点数)

【代码】高精度加法(有浮点数)

2023-03-19 17:03:48 335

原创 洛谷 P1265 公路修建(prim最小生成树)

在下一轮修建中,每个“城市联盟”将被看作一个城市,发挥一个城市的作用。如果三个或以上的城市申请修建的公路成环。如下图,A 申请修建公路 AB,B 申请修建公路 BC,C 申请修建公路 CA。为解决这一“行路难”的问题,政府决定修建公路。在每一轮中,每个城市选择一个与它最近的城市,申请修建通往该城市的公路。你的任务是根据城市的分布和前面讲到的规则,计算出将要修建的公路总长度。当所有城市被组合成一个“城市联盟”时,修建工程也就完成了。如果两个或以上城市申请修建同一条公路,则让它们共同修建;

2023-03-17 14:12:31 355

原创 Dijkstra求最短路 (堆优化 && +权值)模版

堆优化支持权值只要为正的都行,并且时间复杂度也更优越。朴素版,仅仅支持权值为1。

2023-03-16 10:37:58 187

原创 有向图的拓扑序列(bfs && 邻接表)

请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出。共一行,如果存在拓扑序列,则输出任意一个合法的拓扑序列即可。� 条边的有向图,点的编号是。若一个由图中所有点构成的序列。�,图中可能存在重边和自环。� 满足:对于图中的每条边。� 是该图的一个拓扑序列。� 行,每行包含两个整数。�,表示存在一条从点。

2023-03-15 14:54:57 354

原创 图中点的层次(求最短的1到n的距离 && 树的bfs)邻接表和链式向前星存储两种

� 条边的有向图,图中可能存在重边和自环。� 号点的最短距离,如果从。� 行,每行包含两个整数。� 号点的最短距离。

2023-03-15 08:51:40 88

原创 繁忙的都市(最小生成树 && kruskal)模版

城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造。城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个交叉路口之间最多有一条道路相连接。这些道路是双向的,且把所有的交叉路口直接或间接的连接起来了。接下来m行是对每条道路的描述,u, v, c表示交叉路口u和v之间有道路相连,分值为c。两个整数s, max,表示你选出了几条道路,分值最大的那条道路的分值是多少。3.在满足要求1、2的情况下,改造的那些道路中分值最大的道路分值尽量小。

2023-03-13 22:21:57 122

原创 单链表模拟(也是邻接表的前置)

� 次操作,进行完所有操作后,从头到尾输出整个链表。� 个插入的数并不是指当前链表的第。例如操作过程中一共插入了。� 个数,则按照插入的时间顺序,这。共一行,将整个链表从头到尾输出。个插入的数后面插入一个数 x。,表示向链表头插入一个数 x。个插入的数后面的数(当 k。个插入的数后插入一个数。时,表示删除头结点)。个插入的数后面的数;向链表头插入一个数;

2023-03-12 19:57:03 213

原创 树的重心(树的dfs遍历)

重心定义:重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点被称为树的重心。请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。�,表示将重心删除后,剩余各个连通块中点数的最大值。�−1 行,每行包含两个整数。给定一颗树,树中包含。�,表示树的结点数。� 之间存在一条边。

2023-03-12 19:01:31 154

原创 八数码(bfs + map优化)(dddd)

【代码】八数码(bfs + map优化)(dddd)

2023-03-11 20:02:16 82

原创 友好城市(最长上升子序列 线性dp)

在这个题我们将其抽象成图像的话能很明显的知道我们的目的就是找到最多的不香蕉的线段,而想要达到这个目的的话,首先我们应该想到,选当前这个友好城市和不选这两种,而为了达到目的的最大化,我们就能知道这其实是一个dp(动态规划)问题,带入线性dp这个板子之后我们就能明白,我们能先将其一端的进行固化排序,然后对另一端进行讨论,为了达到最多不香蕉线段的目的,也就是寻找另一端的最长上升子序列(因为每个城市仅有一个友好城市,所以遍历就行了),最终就能找到最多的。仅一行,输出一个整数,表示政府所能批准的最多申请数。

2023-03-11 09:40:32 176

原创 字典树(模版)

【代码】字典树(模版)

2023-03-10 13:59:07 67

原创 连续区间求和(双指针)(尺取)

给出一个数字N(1

2023-03-07 20:09:41 178

原创 初见一维空间 (双指针的运用)(尺取)

尽管XL身处一维空间,但由于维度之刃,XL依然保持着高维度的状态,所以对他来说一维空间就是一条直线。来到这里之前,XL就知道在一维空间里存在着一种生物叫o,但是这些生物的生存空间似乎有限。由于XL保持着高维度的状态,他可以轻松得看到所有o,这时他提出了一个问题“假如有n只生物o,把他们所在的位置分别设为a1,a2,a3......,an,那么在找一段长为k的线段,这条线段里最多有多少只生物o?第一行,两个整数n,k,表示一共有n个生物和长度。接下来n行,每行一个整数,表示第i个生物的位置。双指针,尺取

2023-03-07 19:36:10 129 2

原创 Codeforces Round #855 (Div. 3) A

Codeforces Round #855 (Div. 3) A

2023-03-03 14:40:59 100

原创 Java 学习 >> 字符串.1

Java 学习 >> 字符串.1

2023-02-20 13:40:50 58

原创 Java 基础训练>> 回文字符判断

Java 基础训练>> 回文字符判断

2023-02-20 11:28:06 68

原创 埃氏筛板子(生人勿进!!!)

【代码】埃氏筛板子(生人勿进!!!

2023-02-11 12:44:32 137

原创 Codeforces Round #849 (Div. 4) &D Distinct Split

Codeforces Round #849 (Div. 4) &D Distinct Split

2023-02-04 15:16:51 906

原创 Dijkstra求最短路 (图论基础 )

图论基础 对于求解最短路径的最优方法当然是依次求得每个点的最短,然后遍历更新起点到所有点的最短路径,并储存在点里。

2023-02-03 13:23:10 104

原创 关于算法学习的一些小笔记(持续更新)

一些杂七杂八的算法笔记

2023-02-01 22:54:50 67

原创 多重背包问题( dp 二进制优化版 )*动态规划

/以至于我们能更快的知道m的能由多少组成并且直接调用这些组别的价值和体积进行处理。//所以我们可以用这个观点来进行优化,将n个物品的价值和体积都合并为一组呈现为。//2 的0次方 2的1次方 2的2次方 ....//实质上运用了所有十进制数都能被二进制数组成。

2023-01-30 22:10:04 113

原创 区间选点(重载函数 贪心 *基础运用)

先以右端点排序(利用重载函数),从大到小,然后从头开始遍历 ,如果当前线段的左端点小于上个线段的右端点即可用一个点来表达(在处理的时候就可以忽略掉该线段. 否则就要用另一个点来表达ans ++此题为贪心的基础运用 ,求得需求的最小。

2023-01-29 20:58:43 95

原创 Codeforces Round #847 (Div. 3) 的 C. Premutation(找规律题)

Codeforces Round #847 (Div. 3) 的 C. Premutation(找规律题)

2023-01-28 20:14:32 790 1

原创 倒霉倒霉倒霉(传送门 bfs 三维数组 递归 综合运用

还有一件事,成龙,我用魔法在大厦里开了几个传送门,任意两个传送门是互通的,你进入其中一个传送门,并从另一个传送门出来。当龙叔在某一个房间时,龙叔可以到达前后左右上下6个房间,且龙叔从一个房间到达另一个房间需要一分钟。第一行有三个整数,L,R,C,含义与题面描述一致,且大小均不超过30。如果第i行j列的字符是”#”,表示这个房间着火了,不可以通行。如果第i行j列的字符为S,表示这是龙叔现在的位置,如果第i行j列的字符为E,表示这是大厦的出口,如果第i行j列的字符是C,表示这是一个传送门,

2023-01-26 00:19:17 1096

原创 红红火火恍恍惚惚(bfs_plus.2)(知道吉米你很急!)

此题的妙点在于将火灵和小吉吉的路径都分开进行dfs,然后在小吉吉的路径中进行ans的处理,然后最重要的就是小吉吉想要通过这一条路就必须得比火灵先到达所以(step2[f.x][f.y] + 1 < step[nx][ny])//就是这一段(71行代码),才能继续进行。吉米的目标就是安全逃出这个迷宫,当吉米的位置(x,y) 不在迷宫的范围内时,便认为吉米逃出了迷宫。迷宫可以用一个n*m的字符矩阵来表示,如果第i行j列为’.’,表示这个房间可以通行。如果第i行j列为’J’,表示吉米在这个房间。

2023-01-19 23:19:20 254

原创 骑士(bfs_广度优先搜索plus)

你的一位朋友正在研究骑士旅行问题(TKP)。在一个有n个方格的棋盘上,你得找到一条最短的封闭骑士旅行的路径,使其能遍历每个方格一次。他认为问题的最困难部分在于,对两个给定的方格,确定骑士移动所需的最小步数。每个测试例一行,是两个方格,用空格隔开。棋盘上的一个方格用一个字符串表示,字母(a-h)表示列,数字(1-8)表示行。对每个测试例,输出一行:“To get from xx to yy takes n knight moves.”。当然,你知道反之亦然,所以你帮助他编写一个程序,解决这个“困难的”部分。

2023-01-19 15:08:27 220

原创 抓住那头牛(bfs_广度优先搜索的基础运用)

农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(1

2023-01-19 12:00:40 120

原创 迷宫(bfs版_也就是广度优先搜索)

一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由n * n的格点组成,每个格点只有2种状态, . 和#, 前者表示可以通行后者表示不能通行。每组测试数据的第1行是一个正整数n (1

2023-01-19 10:47:04 135

原创 下棋(dfs搜索)(应该也叫递归)

给出一个棋盘,任意两个棋子不能放在同一行或者同一列,问共有多少种方法。第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n

2023-01-18 14:53:12 99

原创 子段和(所谓前缀和 + 模拟 plus)

个人感觉法一法二无实质区别,均是采用前缀和的思想进行时间和空间的节省。请找到数组中有多少个连续的非空子段,使得这段数字的和大于等于k。对于数字中连续的某一段,我们称之为子段。16和10都大于等于10,因此答案为2。给出一个长度为n的数组和一个整数k。从第1个数,到第4个数的和为16。从第2个数,到第4个数的和为10。

2023-01-18 00:48:04 196

原创 卡片游戏(队列的基础运用)

桌上有一叠牌,从第一张牌(即位于顶面的牌)开始从上往下依次编号1~n。2、然后把新的第一张牌放到整叠牌的最后。输入包括一个整数n表示有n张牌。输入n,输出每次扔掉的牌。

2023-01-12 11:43:54 278 1

原创 火车排序(栈的基础运用)

现在有一些从A线驶入的火车,但它没有按照编号依次升序进入,现在想要借助C线,使得从B线驶出的火车,按照编号升序依次驶出。A线出来的火车只能驶入C线,C线驶出的火车只能驶入B线。第二行包括n个正整数,为火车的编号,保证编号在[1,n]内且不重复。当然,火车也可以在C线停留,我们认为C线的容量是无限大的。第一行为一个正整数n,表示火车的数量(n不超过1000)你认为火车能通过选择正确的换线方式,使得它有序驶出么?P.S. 对于后进入C线的火车,应该先从C线离开。如果有可能,请输出“YES”,否则输出“NO”

2023-01-12 11:24:00 183

原创 复杂的数列(模拟)

但是毫无疑问 koala 解决不了如此复杂的数列问题,又不好意思问 Cola 同学,于是他找到了您。数字是Cola喜欢的,当然这样的数字可能有很多个,请告诉koala "七大数列" 中最小的Cola喜欢的数是第几个就可以啦。7 构成,而且具有严格的单调性,富有美感,koala 对此十分满意。最近 koala 学习了数论,智商不高的他觉得数论十分复杂,但是他喜欢上了数字。7 的赞美之情,他创造了一个长度是无限的数列,并取名为 "七大数列" ,记为。一个整数,表示数列中第几个数是Cola喜欢的。

2023-01-12 10:11:21 146

原创 食物链(扩展域并查集)(权值并查集)

此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话有的是真的,有的是假的。当一句话满足下列三条之一时,这句话就是假话,否则就是真话。你的任务是根据给定的N(1

2023-01-10 10:09:09 165 2

原创 小明的灯泡(并查集plus.3)——知道你很急但你先别急

这是一个狭窄的房间,紧锁的门上有n个灯泡(编号从1开始),有些灯是亮着的,有些灯是熄灭的。墙上有m个开关,这些开关控制着灯泡的亮暗,每个开关会控制若干灯泡,当你按下开关时,对应的灯泡如果是亮的,就会熄灭,如果是灭的,就会亮起。可爱的小明在平时总喜欢吹嘘自己,总说自己才是人群中最靓的仔,是全班同学的指挥中心。每组数据的第二行 n 个0到1之间的数,分别表示每个灯泡的状态,0 表示灯泡是灭的,1 表示灯泡是亮的。每组数据的第一行,有两个正整数 n 和 m , n 是灯泡的数量,m 是开关的数量。并查集的运用++

2023-01-07 23:04:58 67 1

原创 袜子(并查集plus.2)

素质拓展结束,39找到了小伙伴,他灰常的开森,But,39累了一天了,他打算去洗袜子。39有很多的袜子,所以即使不洗袜子,也能穿很久。袜子有很多双,每双袜子都不一样,而39并不记得全部的袜子的样子,他只记得几种。如果39的袜子和其他袜子在同一个晾衣架上,那么可以肯定,这些袜子都是39的。第一行,三个整数n,m,x,表示有n双袜子,编号从1到n;接下来的x行,开头一个整数a,后面跟着a个整数,表示这个晾衣架上挂着的袜子的编号。输出两个整数,用空格分开,表示39能识别出多少双袜子以及有多少种袜子是自己的。并查集

2023-01-05 15:38:29 87 1

原创 会做馅饼的人(二分&&跳石头版)

HJH会做馅饼了,HJH做了N个巨大的馅饼(馅饼是圆形,半径为Ri)。于是HJH邀请了M个朋友。每个人(包括HJH)都只能分得一块馅饼(或者是从某个饼切下来的一块),并且每个人分得馅饼的面积必须相同,否则就会产生抱怨。HJH想知道在不产生抱怨的情况下,每个人(包括HJH)分得馅饼的最大面积S是多大(二分法)

2023-01-03 08:13:50 64 1

原创 最长上升子序列(线性dp(动态规划))

首先很重要的一点是知道什么叫做最长上升序列,就拿样例来说,最长长度是4,也就是1 2 5 6,这4个数,不一定这4个数是连续的,但一定是从左向右遍历完了。线性背包

2023-01-02 21:44:55 171 1

原创 跳石头(二分答案经典案例)

在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达 终点。接下来 N 行,每行一个整数,第 i 行的整数 Di(0 < Di < L)表示第 i 块岩石与 起点的距离。说明:将与起点距离为 2 和 14 的两个岩石移走后,最短的跳跃距离为 4(从与起点距离 17 的岩石跳到距离 21 的岩石,或者从距离 21 的岩石跳到终点)。输入文件第一行包含三个整数 L,N,M,分别表示起点到终点的距离,起点和终 点之间的岩石数,以及组委会至多移走的岩石数。

2023-01-02 15:03:54 559 1

原创 高级の検索する(二分查找&&二分函数的应用)

每次查找一个数字x,输出有多少数比x小,有多少个数比x大.啊~啊~~啊~~~啊~~~~先吼几声吧~~~~~.输入两个数n和q,分别表示n个正整数和q次查找。比5小的有1、2、2、3、4、4。第一行输入 n和q(整数)比5大的有6、7、8、9。第二行输入 n个正整数。第三行输入 q个正整数。

2023-01-02 11:49:10 193 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除