自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 洛谷 P1031 [NOIP2002 提高组] 均分纸牌(贪心)

有N堆纸牌,编号分别为12N。每堆上有若干张,但纸牌总数必为N的倍数。可以在任一堆上取若干张纸牌,然后移动。移牌规则为:在编号为1堆上取的纸牌,只能移到编号为2的堆上;在编号为N的堆上取的纸牌,只能移到编号为N−1的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。例如N4时,4堆纸牌数分别为98176。移动3498131039111010110101010。

2024-04-29 16:48:27 314

原创 洛谷 P1028 [NOIP2001 普及组] 数的计算 (递推,数学)

给出正整数nn请你求出,一共有多少个合法的数列。两个合法数列ab不同当且仅当两数列长度不同或存在一个正整数i≤∣a∣,使得ai​bi​。

2024-04-29 12:40:05 997

原创 洛谷 P1012 [NOIP1998 提高组] 拼数 (排序,贪心)

设有n个正整数a1​an​,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。

2024-04-28 09:52:19 858

原创 Codeforces Round 886 (Div. 4) F. We Were Both Children (模拟,思维,*1300)

现在思考一个问题,如果一个青蛙能够跳2格,那么它能够到达的格子会有2,4,6。肯定做不了,因为数据范围达到了2e7,所以需要思考出一种绝妙的方法来解决。在任何青蛙开始跳跃之前,斯拉夫和米哈伊可以在一个坐标上放置。如果不能直接枚举来找每个点能被几个青蛙走到,那么又应该如何做呢?但是,孩子们不能离开家太远,所以他们只能在第一个。之间的点)放置一个陷阱,孩子们不能在。陷阱,以便捕捉所有经过相应坐标的青蛙。,即他的步数的倍数,那么我们只需要。点放置陷阱,因为他们害怕青蛙。,加上相应的数值即可。

2024-04-26 19:32:59 754

原创 [ABC333D] Erase Leaves (树,DFS)

给定一颗n个节点的无根树。每次你可以删除一个叶子节点(即度数为1的点),问最少多少次操作可以删除1节点。2≤n≤3×105。

2024-04-26 08:47:33 486

原创 洛谷 P1498 南蛮图腾 (DFS)

自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果,在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图腾,于是他找上了你的爷爷的爷爷的爷爷的爷爷……帮忙,作为一个好孙子的孙子的孙子的孙子……你能做到吗?

2024-04-25 11:04:46 772

原创 洛谷 B3618 寻找团伙 (DFS,状态压缩)

世界局势风云变幻,你想办一件大事。办事自然要有人参与,你能从n个人里面挑选一部分人共襄盛举。要办这件事,一共涉及k方面的能力,例如游说他人的能力、玩游戏的能力、睡觉的能力。每位人士都会具备某一些能力,例如机器猫就可能擅长睡觉、擅长玩游戏,而不擅长游说他人。你的计划很宏伟,因此你希望团队拥有很全面的能力。不幸的是,如果团队中有偶数个人拥有同一类能力,那么他们就会分成两派,争执不下,导致整个团队丧失这方面的能力。相应地,如果这项能力只有奇数个人拥有,那么他们总能形成一个多数派,帮团队去做这方面的工作。

2024-04-24 20:03:59 594

原创 Codeforces Round 254 (Div. 2) A. DZY Loves Chessboard (模拟,思维,DFS)

本题的定位较为奇怪,总的来看DFS不像是正解。

2024-04-23 17:10:18 532

原创 洛谷 -P1007 独木桥(模拟,思维)

战争已经进入到紧要时间。你是运输小队长,正在率领运输部队向前线运送物资。运输任务像做题一样的无聊。你希望找些刺激,于是命令你的士兵们到前方的一座独木桥上欣赏风景,而你留在桥下欣赏士兵们。士兵们十分愤怒,因为这座独木桥十分狭窄,只能容纳1个人通过。假如有2个人相向而行在桥上相遇,那么他们2个人将无法绕过对方,只能有1个人回头下桥,让另一个人先通过。但是,可以有多个人同时呆在同一个位置。

2024-04-22 21:01:41 641

原创 洛谷 - P1020 [NOIP1999 提高组] 导弹拦截 (Dilworth定理,贪心,子序列问题)

首先阐述Dilworth定理的具体应用,即原链最长长度 = 反链划分数最小值。其中对于子序列问题而言,上升子序列和不上升子序列(即下降相等)是互为反链,下降子序列和不下降子序列(即上升相等)是互为反链。那么根据这个定理,在同一个序列中,最长上升子序列的长度 = 不上升子序列的最小划分数,最长下降子序列的长度 = 不下降子序列的最小划分数。那么依据以上理论,就能够利用贪心的方法求解出这道题,在加上二分就能将时间复杂度控制在O(NlogN),一定能够过掉这道题。

2024-04-22 12:28:38 656

原创 笔记-----BFS宽度优先搜索

对于BFS:宽搜第一次搜到就是最小值,并且基于迭代,不会爆栈。Flood Fill 模型如果直译的话就是:洪水覆盖,意思就是像是从一个点一圈圈的往外扩散,如果遇见能够连通的就扩散,如果遇见无法联通的就不去扩散,然后再去以扩散出去的点为起点再去扩散。Flood Fill 可以实现在线性时间复杂度内找到某个点所在的连通块。例题:1.AcWing 1097. 池塘计数农夫约翰有一片 N∗MN∗MN∗M 的矩形土地。最近,由于降雨的原因,部分土地被水淹没了。现在用一个字符矩阵来表示他的土地。每

2024-04-19 19:41:19 1083

原创 PTA 团体程序设计天梯赛-练习集 L2-014 列车调度(set,贪心)

两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。} 的顺序排队等待进入。如果要求它们必须按序号递减的顺序从出口离开,则至少需要多少条平行铁轨用于调度?这道题的意思是某一些列车进入到了中间过渡阶段铁轨的时候可以停在那里,然后等待调度。在一行中输出可以将输入的列车按序号递减的顺序调离所需要的最少的铁轨条数。就去找一个最接近的并且然当前车排到那辆车后面,如果没有就必须另开一条道。,下一行给出从1到N的整数序号的一个重排列。火车站的列车调度铁轨的结构如下图所示。

2024-04-19 16:14:34 176

原创 PTA 团体程序设计天梯赛-练习集 - L2-007 家庭房产 (并查集,结构体)

思路比较简单,首先这个关系树就要用并查集来维护,其次对于题目要求的排序方式就只有定义结构的的解决方法(只有这样才能保持所有数值捆绑在一起)。其中编号是每个人独有的一个4位数的编号;父和母分别是该编号对应的这个人的父母的编号(如果已经过世,则显示。首先在第一行输出家庭个数(所有有亲属关系的人都属于同一个家庭)。家庭信息首先按人均面积降序输出,若有并列,则按成员编号的升序输出。给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数、人均房产面积及房产套数。对于测试点2,3,4错误的:记得有。

2024-04-19 11:14:07 451

原创 Codeforces Round 903 (Div. 3) D. Divide and Equalize(数学)

您可以输出任何情况下的答案(例如,字符串 “yEs”、“yes”、"Yes "和 "YES "都将被识别为肯定答案)。仔细分析两个操作可能带来的后果,如果一个数除以x之后另一个数又乘了x,那么就会导致整个数组的乘积永远不会改变。,想要实现所有数的质因数都相同,就必须进行质因数的转移,如果到最后能够转移出来,就必须满足。确定是否有可能通过一定次数(可能为零)的运算使数组中的所有元素都相同。即在这种情况下,其实是某个数的因数转移给了另一个数。,只有都是n的倍数才能够转移之后平均下来。然后是每个测试用例的描述。

2024-04-16 09:28:19 507

原创 Codeforces Round 171 (Div. 2) B. Books (双指针)

对于这道题而言,有序性指的是Valera在读书的时候必须从当前选择的书往后读,直到不能够再读或者到头了。瓦莱拉会把每本书读完,也就是说,如果他没有足够的空闲时间读完这本书,他就不会开始读这本书。双指针算法使用的条件是有序性,这里的有序不是数组元素的从小到大,而是操作时的有序性。的书,从这本书开始逐本阅读。当瓦莱拉有空闲时间时,他会去图书馆看书。本书,并为每本书估算了阅读所需的时间。之间的整数为这些书编号。的那本书所需要的时间,然后再。为读这些书的总时间,在。的书,然后阅读编号为。的书,接着阅读编号为。

2024-04-15 18:17:58 517

原创 Codeforces Round 899 (Div. 2) B. Sets and Union (模拟,数学)

简化一下就是:找到给出的集合,找出他们中的某个并集,使得这个并集的长度是小于所有集合的并集的长度的条件下是长度最大的一个并集。这些数,然后再去枚举集合,如果某个集合中不含有这个数就合并上这个集合,并维护一个最终并集的长度的最大值。如果一个集合中包含了一些数,那么只需要减少其中一个数,就可以得到一个长度减。的联集定义为至少存在于其中一个集合中的元素的集合。的并集(如果存在的话),这个并集就满足了是最优解。的并集,根据给出的数据范围,我们只需要循环。中一个也不选,那么它们的联合就是空集。

2024-04-15 15:52:47 507

原创 华南理工大学程序设计竞赛 - A-KNN算法 (二分)

如果我们有一个数组a[],并且我们想要找到给定任意一个xxx值的第kkk近的数,那么我们可以定义一个按照数组中每个元素按照其与xxx的差值的大小进行排序的办法。此方法主要适用于sort()函数。

2024-04-15 12:32:38 817

原创 Codeforces Round 295 (Div. 2) B. Two Buttons (BFS)

这是一类问题:多个操作方式对数操作,可以使用DFS或者BFS,当然BFS更为安全,并且具有最短路的特性,所以如果不需要回溯的话就尽量使用BFS。对于此题,只需要搜遍所有操作就可以了,但是要加上一个限制条件,即被操作后的数不能够超过1e5,如果不加限制的话就可能会导致永远搜不完了。装置的前面板上有一个红色按钮、一个蓝色按钮和一个显示正整数的显示屏。点击红色按钮后,设备将显示的数字乘以。如果某个时候数字不再是正数,设备就会崩溃。显示屏可以显示任意大的数字。点击蓝色按钮后,设备从显示屏上的数字中减去。

2024-04-14 12:04:19 869

原创 Codeforces Round 266 (Div. 2) - A. Cheap Travel(模拟)

安最近开始乘坐地铁上下班。我们知道,地铁票的单程票价为。判断来判断去,肯定是很难得到最终答案,所以我们可以。乘车券涵盖的乘车次数、一张乘车券的价格和一张。请帮助安,告诉她最少要花多少钱才能乘坐。打印一个整数 - 安需要花费的最低卢布金额。,因为如果这种情况成立的话,就说明全选。次的特价票(可以多次购买)。安计算了一下,她需要乘坐地铁。此外,安安还发现她可以购买。单行包含四个空格分隔的整数。情况很多,如果你想要用一堆。–安计划的乘车次数、

2024-04-14 09:46:10 512

原创 洛谷 - P1187 3D模型

一座城市建立在规则的n×m网格上,并且网格均由1×1正方形构成。在每个网格上都可以有一个建筑,建筑由若干个1×1×1的立方体搭建而成(也就是所有建筑的底部都在同一平面上的)。几个典型的城市模型如下图所示:现在给出每个网格上建筑的高度,即每个网格上建筑由多少个立方体搭建而成,要求这个建筑模型的表面积是多少。

2024-04-12 07:27:11 770

原创 Codeforces Round 142 (Div. 2) - B. T-primes (数论)

首先我们知道,一个质数的因数只有1和他自己,那么一个质数的平方数的因数,就只有1和他自己还有他开平方的数。知道了这一点就可以直接开始写出求约数个数的函数,只要按照是质数并且是一个平方数判断就可以。给你一个由 n 个正整数组成的数组。请判断其中每个整数是否为 Т-prime。我们知道,质数是具有两个不同正除数的正整数。行应包含"是"(不带引号);,显示数组中有多少个数字。虽然标签有模拟,但是这是纯纯的数论题。行应包含"否"(不带引号)。是 Т-prime,则第。恰好有三个不同的正除数。第一行包含一个正整数。

2024-04-11 21:39:41 496

原创 Codeforces Round 617 (Div. 3) - C. Yet Another Walking Robot(模拟)

这题同样给出了一个新奇且重要的思想,我们不必计算向左右或者上下移动的次数是否相同,可以直接记录坐标,如果当前更新的坐标是之前出现过的,就直接取到之前的坐标为启始,当前坐标为末尾,直接删掉中间的这一段串就可以。例如,"LURLLR "的子串有 “LU”、“LR”、“LURLLR”、“URL”,但没有 "RR "和 “UL”。非空***子串,以优化机器人的路径,使其路径的终点不变。此外,优化后的目标路径也有可能是空字符串(即删除的子串是整个字符串。个字符 “L”、“R”、“U”、"D "组成,即机器人的路径。

2024-04-10 23:24:27 546

原创 Codeforces Round 936 (Div. 2) - A. Median of an Array (数学)

对于每个测试用例,输出一个整数 - 增加数组中位数所需的最少操作数。,因为只有这样才能够满足数组的有序顺序不会改变。了之后他们也是大于等于中位数,不会影响整体顺序。你的任务是找出增加数组中位数所需的最少操作次数。) - 测试用例的数量。然后是测试用例的描述。下标处的数就被认为是中位数,暂时使这个下标为。,如果想要改变中位数的数值,那么就要使得。不用管大于中位数的数是因为,就算中位数加。每个测试用例的第一行包含一个整数。是按非递减顺序排序的数组。每个测试用例的第二行包含。不一定包含不同的数。

2024-04-09 20:50:31 561

原创 Codeforces Round 611 (Div. 3) - B. Candies Division (模拟,数学)

首先明确,我们能给出去的不同的物品数量最多不能相差1,也就是说你最多也就只能给出两种数量。故我们就可以先把能够平均分出去的糖果全部分出去,然后再去考虑能多送出去多少个。为每个测试用例打印答案–圣诞老人能给孩子们的糖果的最大数量,这样他就会。圣诞老人不能把一颗糖果分成几份,但他可以不用一些糖果。你的任务是找出圣诞老人能给孩子们的糖果的最大数量,这样他就会。表示的是能够平均分给每个人的糖果数量,而。他想把尽可能多的糖果分给所有的。是平均分后所有人被分到的糖果数量的和。颗糖果,得到最多糖果的孩子有。

2024-04-09 08:31:25 708

原创 AcWing 2069. 网络分析 (并查集,树上差分)

小明有时会测试当时的网络,他会在某个节点发送一条信息,信息会发送到每个相邻的节点,之后这些节点又会转发到自己相邻的节点,直到所有直接或间接相邻的节点都收到了信息。在增加信息量的操作时,我们先给那些建立的根节点加上,然后再最后遍历所有根节点,让每棵树的值通过根节点一步步传递到叶节点,最终打成连通增加信息量的效果。可以在合并集合的过程中同时建立起多颗树,这时候就可以保证信息量的加法仅加在集合中,并且能过查询单点。给出小明连接和测试的过程,请计算出每个节点存储信息的大小。台电脑,称为节点,用于收发和存储数据。

2024-04-08 16:06:52 1049

原创 14届蓝桥杯 C/C++ B组 T7 子串简写 (字符串)

存好下标之后,可以先定位好启始的字符,然后去搜结尾字符符合长度k并且最靠近启始字符的下标,找到之后可以直接取到这个下标之后的所有下标,因为都满足了长度大于等于k。采用存储目标字符下标的方法,此题的想法比较新奇,故予以记录。

2024-04-07 19:49:48 186

原创 14届蓝桥杯省赛 C/C++ B组 T8 整数删除(双向链表,堆)

同时需要注意,在删除元素之后,我们又对两个元素进行了值的增加,所以这时候堆里对应的值和元素真实对应的值是不同的,则这时候取出来的最小值对应的下标不一定就是最小值了,如果我们扫到了真实值和堆中值不同的元素,就要重新把改变后的元素压入堆,这样才能保证完全正确。所以定义一个pair类型优先队列,每次取出堆顶进行删除,并且同时让删除元素的左右元素加上其值。瞬间定位一个数的左边或者右边,需要用到双向链表。在过程中不断维护最小值,需要用到堆。

2024-04-07 19:04:42 158

原创 14届蓝桥杯省赛 C/C++ B组 T4 飞机降落 (DFS)

如果一个飞机的到达时刻加上盘旋时间能够超过或者等于上一架飞机降落后的时间,那么就可以降落。当作下一层的时间,否则的话,把上一个飞机降落的时间加上当前飞机降落的时间当做下一层的时间。对于此题,我们将降落的飞机的个数和时间轴作为DFS的形参,这样可以节省手动回溯的过程。之后要再进行判断,如果这个飞机的到达时间是超过了上一架飞机降落后的时间的,那么就直接把。并且在DFS的过程中我们要加入一些贪心策略,否则直接爆搜有可能搜不出来答案。记录此题提醒自己,此类时间轴问题可以通过DFS解决。

2024-04-07 16:32:23 1667 1

原创 14届蓝桥杯 C/C++ B组 T6 岛屿个数 (BFS,FloodFill,填色)

首先拿到这道题不要想着去直接判断环里面的岛屿,这样太困难了,我们可以使用之前做过的题的经验,在输入加入一圈海水,然后从(0,0)点开始BFS,这里进行八向搜索,搜到的0全部都染色成2,假如2能够蔓延到岛屿的周围,就说明这个岛屿不在环里面,因为从外面无法蔓延到环里面。在经历了染色过程之后我们就可以直接BFS搜索岛屿了,搜到任何被2围绕的岛屿就让答案加1。

2024-04-07 16:24:17 542

原创 14届蓝桥杯 C/C++ B组 T5 接龙排序 (最长上升子序列DP+优化)

此处代码写出来是为了枚举比较首尾,那么如果我们能够直接定位和a[i]的首部相同尾部的子序列的长度不就不需要判断了吗。那么如何优化,注意到暴力程序只有一个地方达到了两层的循环,所以我们只要优化掉一层循环即可。不难发现这是一个LIS问题,但是如果直接套用LIS的模版,在数据范围到达。中某一个数结尾的接龙子序列的最长长度,在状态转移时直接省掉了判断的步骤。的情况下,就只能够得到一半的分数,所以我们需要对其进行优化。所以使用一个数组来存尾部是。

2024-04-07 14:53:44 247

原创 洛谷 - P2622 关灯问题II (状态压缩,BFS)

现有n盏灯,以及m个按钮。每个按钮可以同时控制这n盏灯——按下了第i个按钮,对于所有的灯都有一个效果。按下i按钮对于第j盏灯,是下面3中效果之一:如果aij​为1,那么当这盏灯开了的时候,把它关上,否则不管;如果为−1的话,如果这盏灯是关的,那么把它打开,否则也不管;如果是0,无论这灯是否开,都不管。现在这些灯都是开的,给出所有开关对所有灯的控制效果,求问最少要按几下按钮才能全部关掉。

2024-04-06 20:51:14 601

原创 洛谷 - P1441 砝码称重 (状态压缩dp,bitset)

现有n个砝码,重量分别为ai​,在去掉m个砝码后,问最多能称量出多少不同的重量(不包括0请注意,砝码只能放在其中一边。

2024-04-06 17:25:02 973

原创 状态压缩DP

有一架弹弓位于 (0,0) 处,每次 Kiana 可以用它向第一象限发射一只红色的小鸟, 小鸟们的飞行轨迹均为形如 y=ax2+bx 的曲线,其中 a,b 是 Kiana 指定的参数,且必须满足 a

2024-04-06 11:17:30 658

原创 AcWing 4199. 公约数(数学-约数)

注意这里我们需要找到特定的满足在范围内的最大约数,那么就不可以直接枚举所有范围内的数然后询问是否为约数,这样一定会超时。注意这里有一个结论:两个数的公约数一定小于等于它的最大公约数,且这个公约数一定可以整除最大公约数。所以预处理出来所有的公约数之后将其排序为有序序列,那么我们就可以二分出来一个答案。首先围绕R来二分,如果一个数大于等于R就让其变小,除此之外使其变大。如果到最后这个数是大于等于L的,就说明有解,否则无解。每个询问输出一行答案,即满足条件的最大的。,你需要找到最大的整数。行,每行包含两个整数。

2024-04-05 20:39:11 479

原创 AtCoder Beginner Contest 321 - B - Cutoff (EASY,模拟)

记录此题提醒自己,有些模拟题不需要想的太复杂,直接模拟找答案分界点即可。

2024-04-02 09:15:00 399

原创 小红的抛弃后缀 (EASY,数学)

看到这个整数的取值范围就一定要想到用字符串存数字。然后对于所有的数字,只要每一个位数加起来之后是。所以我们只需要从前往后扫,如果加成。的倍数,那么这个数就是。的倍数,结论相同的还有。

2024-04-02 08:55:05 271

原创 游游的01串操作(EASY,模拟)

只需要先枚举一遍第一个字符为1的情况,然后再枚举一遍第一个字符为0的情况,然后答案取最小值即可。并非一道贪心题而是模拟题。

2024-04-02 08:52:03 218

原创 小美的加法 (EASY,模拟)

并且注意本题需要开longlong,不然会爆。本题仅需要直接枚举使加号变为乘号的位置即可。有些模拟需要结合枚举。

2024-04-02 08:49:27 212

原创 2020CCPC - 秦皇岛 - E. Exam Results (单调队列---滑动窗口)

亚历克斯需要知道,在所有情况下,最多有多少学生能通过考试。你能回答他的问题吗?因此无法预测考试成绩。假设这些学生的最高分是。心态良好,他/她就会表现出色,得到。对于每个测试用例,第一行包含两个整数。亚历克斯教授正在为他的学生准备考试。输入的第一行给出了测试用例的数量。对于每个测试用例,输出一行包含 "% 的学生将通过考试。

2024-03-31 13:52:59 819

原创 CCPC2020 - 秦皇岛 - G. Good Number (数学)

这道题需要找规律,如果打表把所有的能够符合要求的数打出来的话,就会发现他们有的是对应了连续几个。所以就只需要求每一个区间内有多少能够整除。对于每个测试用例,唯一的一行包含两个整数。的情况,那么就在这一次取完答案之后跳出。输入的第一行给出了测试用例的数量。对于每个测试用例,输出一行包含 "次方,下取整后能够得到的数都是。比如n为250,k为2的情况。并且注意,因为题目给出要求。范围内的数都只能下取整到。了,所以这种情况直接特判。这么算完之后,如果遇见了。亚历克斯认为,正整数。至于下取整,直接强转。

2024-03-30 19:58:39 920

空空如也

空空如也

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

TA关注的人

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