自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Lomsat gelral 树上启发式合并

dfs_son函数 原本是return int值 改成void就不超时了。原本的单链表存储改成vector了。

2025-07-31 21:29:01 548

原创 【模板】manacher

给出一个只由小写英文字符 a,b,c,…y,z 组成的字符串 S ,求 S 中最长回文串的长度。一行小写英文字符 a,b,c,⋯,y,z 组成的字符串 S。b串:头尾加一个不同的字符,然后a串每个字母之间加一个#P[i]是i为中心的最长回文串长度(b串内的)这样每个回文串都是一个奇数串,有一个中点。

2025-07-31 15:50:35 102

原创 (AC) 抢占城堡

冬冬正和他的朋友一起玩抢占城堡的游戏,该游戏可以表示为大小为n×m的网格,每个格子最多只能容下一座城堡,每个格子有三种状态:1、空城堡用“.”表示;2、障碍物用“*”表示,所有玩家都不能通过它;3、一名游戏玩家的编号即为数字x,表示该城堡被x占领。游戏是按玩家编号从小到大轮流进行的,在每一轮中,玩家轮流扩张势力范围:首先,第一个玩家扩张,然后第二个玩家扩张,依此类推。扩张规则如下:对于玩家现在拥有的每个城堡,可以扩张到附近的空城堡(未被人占领的)。

2025-07-31 11:44:27 237

原创 (AC)选择

哈哈哈,快忘掉你的烦心事,找张位子坐下来。beny和fife两人作为彼此炉边好友,决定来一场惊心动魄的友谊(py)赛。fife有n个随从,第i个随从有一个能力值,为A[i]。beny也有对应的n个随从,第i个随从同样也有一个能力值,为B[i]。然后,一群随从的战斗力为这群随从能力值的总和。现在,beny和fife每个人都派出自己第L个到第R个(共R-L+1个随从),来一决高下。但是由于他们在一绝高下的同时要py任务,他们要你选择一对(L,R),使双方战斗力差距最小。

2025-07-31 10:43:05 95

原创 (AC)校门内的树

FZYZ 大门的左侧有一排 n 棵树木。它们按照距离的远近排列,第 1 棵树的高度为 a1 米,第 2 棵树木的高度为 a2 米,第 3 棵树木的高度为 a3 米,……,第 n 棵树木的高度为 an米。为了给同学们以积极向上的感觉,一些同学自发地决定对树木进行修剪,使得树木呈现上升的趋势。具体地说,他们希望对树木进行修剪和整理,使得修剪之后的树木高度 b1,b2,b3,...,bn 米且满足 b1<b2<b3<...<bn。

2025-07-31 09:39:02 187

原创 (补题)小塔的饭

本文提出了一种解决美食分配问题的贪心算法。问题要求为N位朋友分配M种食物,在满足超过半数朋友选择同一种食物的条件下,最大化总好感度。算法核心思想是:首先计算每个人选择自己最喜欢食物时的总好感度,然后枚举每种食物作为可能的"热门食物"。对于每种候选食物,计算强制让最少必要人数选择该食物时的最小好感度损失,最终选择所有候选方案中的最大值。该算法时间复杂度为O(nm logn),能够高效处理题目给出的数据规模(N≤100,M≤1000)。通过实际代码实现验证了算法的有效性,正确解决了这一约束条

2025-07-30 19:46:29 331

原创 函数错误合集

否则答案错误,此时应该用循环或。

2025-07-30 16:39:11 113

原创 机车 最短路径

在一个神奇的小镇上有着一个特别的机车网络,它由一些路口和轨道组成,每个路口都连接着若干个轨道,每个轨道都通向一个路口(不排除有的观光轨道转一圈后返回路口的可能)。在每个路口,都有一个开关决定着出去的轨道,每个开关都有一个默认的状态,每辆机车行驶到路口之后,只能从开关所指向的轨道出去,如果机车司机想走另一个轨道,他就必须下车切换开关的状态。为了行驶向目标地点,机车司机不得不经常下车来切换开关,于是,他们想请你写一个程序,计算一辆从路口A到路口B最少需要下车切换几次开关。

2025-07-30 16:37:21 118

原创 村村通工程 生成树

假设最优解的边权不连续,即存在三条边权满足:,其中 选了 w_a 和 w_c,但没选 w_b,且此时的差值为 。这时会出现两种情况:所以中间值对最后答案没有关系。当连通后,继续加边不会破坏连通性,但差值只会更大(因为最长边会变大)。因此,第一次连通时的区间 [l, r] 就是当前最短边的最优解。每次找到后立刻退出循环枚举答案+并查集计算村庄是否联通(联通时根数量=1)

2025-07-30 16:06:47 297

原创 label 拓扑排序

有N个球,重量从1到N,各不相同,每个球有个编号也是从1到N,各不相同。现在给你一些约束条件,每个约束条件给出数字A,B,表示A号球轻于B号球。请你求出满足约束条件的某个球的重量的全排列,注意如果有多个排列满足条件,我们希望1号球的重量越小越好;当1号球的重量一样时,希望2号球的重量越小越好;当2号球的重量一样时,希望3号球的重量越小越好……

2025-07-30 11:34:09 249

原创 (AC)机器工厂 自定义operator

小T开办了一家机器工厂,在N(N<=10000)个星期内,原材料成本和劳动力价格不断起伏,第i周生产一台机器需要花费Ci(1<=Ci<=5000)元。若没把机器卖出去,每保养一台机器,每周需要花费S(1<=S<=100)元,这个费用不会发生变化。机器工厂接到订单,在第i周需要交付Yi(0<=Yi<=104)台机器给委托人,第i周刚生产的机器,或者之前的存货,都可以进行交付。请你计算出这n周时间内完成订单的最小代价。

2025-07-30 09:22:03 186

原创 梦幻布丁 启发式合并

n 个布丁摆成一行,进行 m 次操作。每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色。开一个P数组 维护每个颜色对应的集合链表 每次把小的集合插入大的集合 然后修改颜色和P的对应关系。先遍历,修改颜色,然后直接把这个集合(链表)挂在另一个集合(链表)头/尾。第二行有 n 个整数,第 i 个整数表示第 i 个布丁的颜色 ai​。例如,颜色分别为 1,2,2,1 的四个布丁一共有 3 段颜色.第一行是两个整数,分别表示布丁个数 n 和操作次数 m。对于不同的颜色的集合,进行合并操作,

2025-07-29 15:42:25 206

原创 (AC)小塔的公约数

小塔是数学系的一名学生,最近她参加了一个数学研究项目。在研究数论问题时,她遇到了一个有趣的整数对性质:对于两个正整数a和b,当它们的最大公约数等于它们的差的绝对值时,即gcd(a,b)=∣a−b∣,这样的数对具有特殊的数学性质。为了深入研究这个性质,小塔决定编写一个程序来计算给定数列中满足这一条件的数对数量。你能帮助她高效地解决这个问题吗?给定一个包含n个正整数的序列a1,a2,...,an ,计算有多少对索引i,j,其中1≤i≤j≤n,满足:gcd⁡(ai,aj)=∣ai−aj∣。

2025-07-29 13:57:55 302

原创 Gray Code 格雷码

生成格雷码(Gray Code)有一个经典的递归构造方法,利用了格雷码的自相似特性。

2025-07-28 20:27:51 149

原创 只因 找规律

有一张N个点的图,点的编号为1~N,i号点和j号点(1≤i<j≤N)之间有一条双向边,当且仅当i+2=j或i+3=j。艾斯洛克打算从一个点出发,走一条路径,经过N个点中的每个点恰好一次。你需要按顺序输出路径上的每个点。如果有多条路径,输出任意一条即可;因为艾斯洛克是永远滴神,所以如果不存在满足条件的路径,你只要输出-1就好了。

2025-07-28 17:13:21 165

原创 绳子切割 图论

Nanarikom 正在切割绳子。Nanarikom 有一根横梁(使用编号 0 表示)和 n 个苹果(使用编号 1 到 n 表示),并且使用 m 根绳子将它们连接,每根绳子的两端分别连接一个编号在 [0,n] 内的物品。如果一个苹果可以经过若干绳子与横梁直接或间接连接,则这个苹果处于悬挂状态。初始状态下,所有苹果都处于悬挂状态。Nanarikom 可以按任意顺序依次切割绳子,被切割的绳子将不再构成连接。如果某一次切割操作后,编号为 i 的苹果不再处于悬挂状态,则这个苹果会落在地上。

2025-07-28 15:15:16 218

原创 (AC)真爱口上

Nanarikom 在学习口上。在日系偶像表演中,观众常在歌曲间奏的空档喊出约定俗成的口号,「口上」也是其中的一类。为了符合间奏的节拍,口上往往如同诗句一般被编写成长度合适的句式。但是,其中的长度指的不是音节的数量,而是另一个语音单位「Mora」的数量。为了统计一句日语中有多少 Mora,我们可以应用以下规则。其中,双斜杠记号表示中间的内容是我们约定的一种日语注音方式。

2025-07-28 14:50:21 389

原创 (AC)储值购物

Nanarikom 正在阅读童话故事。故事的主人公是正在计划购物的豆娃。豆娃的钱包中有若干张储值卡。在一次购物中,豆娃可以支出 x 单位货币,其中 x 需为不大于 W 的正整数。豆娃计划进行若干次购物,使得总支出 ∑xi 恰等于给定值 V,而购物的次数和每次购物的支出可以自由分配。Nanarikom 注意到,尽管总开支不变,但不同的购物方案可能使得豆娃获得不同数量的储值卡。现在,Nanarikom 想知道,在所有的购物方案中,豆娃获得的储值卡数量的最大值。

2025-07-28 14:11:37 182

原创 (补题)森林迷宫 树+DP

在一片神秘的森林中,有一座古老的迷宫,连接着 n 个魔法节点,节点编号从 1 到 n。这些节点通过 n−1 条双向魔法路径相连,形成一个树形结构(无环连通图)。冒险者需要从起点节点 s 出发,找到一条通往终点节点 t 的路线。每条路径都有独特的魔法属性:从节点 u 到节点 v 可以获得 p 分,从节点 v 到节点 u 可以获得 q 分(p 和 q 可以是正数、负数或零)。然而,迷宫的魔法规则限制每条路径的每个方向(u→v 或 v→u)最多只能走一次。

2025-07-28 11:09:29 312

原创 (补题)拼图游戏

克利切洛夫斯基最近制作了一款拼图游戏,在这个游戏中共有K种不同的拼图,克利切洛夫斯基将他们放置在了一个大小为N∗M的网格中,每个格子放置一个拼图。做完这些以后他就去睡觉了,但半夜有一个小偷潜入了他的房间,打算偷走这个拼图。由于房间太黑,小偷看不清这个拼图的具体尺寸,就从网格的左下角开始偷走了大小为X∗Y的一块网格,其中X和Y是任意指定的值,但不会超过原网格的大小,也就是说1≤X≤N,1≤Y≤M。

2025-07-27 21:04:54 252

原创 独到寒山顶

克利切洛夫斯基同学打算在元宵节这天做一些特别的事情庆祝节日,于是他冒着零下十度的严寒爬上了花果山的山顶。在俯瞰美丽的城市风景之后,他发现自己忘记了回去的路。好在高处的视野很开阔,他打算下山前规划好要走的道路,防止出现意外。山上有若干条按顺序并列的山间小道,用1到N标号。每条小道长度都为M格,每一步可以从第i条小道的j格穿行到第i+1或第i-1条小道的同一格上(需保证穿行后的小道标号在1到N之间)。当然也可以在同一条小道上沿着连续的格子进行上下移动。

2025-07-27 12:56:07 184

原创 (AC)缓存系统

快码公司的硬盘遇到了故障!工程师克利切洛夫斯基经过排查发现,故障的原因是他们的OJ把过多的数据存储在了硬盘上,读取量太大导致硬盘发生了损坏。为了彻底解决这个问题,公司领导决定开发一个缓存系统。缓存系统可以将一部分访问较多的数据存储在内存而不是硬盘,来减少硬盘的压力。但内存的成本相比硬盘要高很多,所以他们需要你来帮忙开发一款高效的缓存系统,既能够满足存储在内存中的数据总大小不超过内存的容量,又能够尽可能多的减少硬盘的每日读取次数。

2025-07-27 11:14:37 357

原创 (AC)架子鼓

小K正在学习架子鼓。因为他刚刚开始,所以还只会军鼓和底鼓。他面前有两段乐谱,分别表示军鼓和底鼓的节奏,他需要同时演奏这两段节奏。每段乐谱有若干个音符,每个音符有一个时长,用一个分数p/q来表示,其中p,q是互质的正整数,并且q∈{1,2,3,4,6,8,16}。对于每个音符,小K需要在这个音符对应的时长开始的时刻,击打对应的乐器。特殊地,在时刻0,小K一定同时击打军鼓和底鼓的第一个音符。请问小K有多少次同时击打军鼓和底鼓。

2025-07-27 10:44:19 149

原创 Trailing Zeros 阶乘末尾0

【代码】Trailing Zeros 阶乘末尾0。

2025-07-26 16:49:12 225

原创 二分函数 lower_bound upper_bound

二分查找相关的函数主要定义在头文件中,用于在中快速查找元素,时间复杂度为。

2025-07-26 14:37:31 136

原创 基本通用函数

等适配器不支持(它们设计为仅允许访问顶部 /front 元素)。及范围 for 循环。

2025-07-26 14:26:27 178

原创 SET 用法

set是标准模板库(STL)中的一个有序容器,用于存储的元素,且元素会(默认)。它的底层实现通常是红黑树(一种自平衡二叉搜索树),因此插入、删除和查找操作的时间复杂度都是。

2025-07-26 14:20:58 315

原创 Traffic Lights set的使用

multiset 删除原有路段并加入新路段,快速查找当前最大值。使用set 快速找到每个节点插入后的左右节点。cin cout超时。

2025-07-26 14:06:33 450

原创 (AC)Playlist

【代码】(AC)Playlist。

2025-07-26 10:19:05 344

原创 Collecting Numbers II

如果里面有数据重复需要去掉(用set,手写一直错不知道哪里错了反正一直错,卡了一晚上我服了哈哈最后一个set就过了,受不了,大概是已经四了吧)计算出初始轮次后考虑x[a],x[a]+1,x[b],x[b]+1。上一题的加强版,加入了数字交换。

2025-07-26 09:59:55 299

原创 Collecting Numbers

对于每个数字 i,统计数字 i-1 在数组中出现的位置是否在 i 之前。如果 i-1 在 i 之后出现,说明我们需要多一轮才能收集到 i。由于轮次的增减只取决于 “当前数字与前一个数字的位置关系”,且这种关系在遍历过程中可以被依次、独立地判断,因此。

2025-07-25 14:19:56 144

原创 Missing Coin Sum 硬币可以组成的连续面额上限

题目描述输入输出样例输入Copy52 9 1 2 7样例输出6s变量记录连续最大上限将硬币升序排序,每个硬币与s+1比较。如果硬币比s+1大,那么之前已经可以拼成的所有组合中都不可能与这个硬币构成值为s+1的组合。(硬币=s+1,可以继续连续;=s,可以与1组合,达到继续连续的效果,以此类推)贪心。

2025-07-25 13:18:31 173

原创 Stick Lengths 求调整不同长度为同一长度最小花费

当数据中存在极端大(或小)的值时,平均数会被拉向极端值,导致总代价增加。在 “使所有数值调整到同一值的总代价最小(代价为绝对值差)” 的问题中,

2025-07-25 11:05:13 118

原创 Maximum Subarray Sum 最大连续和

Kadane 算法的核心思想是:遍历数组时,对于每个元素,判断是将其加入当前子数组,还是以它为起点重新开始一个子数组,始终保持当前子数组的和最大。可以使用 Kadane 算法高效解决,时间复杂度为 O (n)。

2025-07-25 11:03:09 141

原创 Restaurant Customers 餐馆最大人流量

创造一个向量,frist存储时间用于排序,second存储人物进出状态。最后排序后根据时间顺序累加人物状态即可。

2025-07-24 20:29:57 335

原创 Concert Tickets 二分+并查集

用并查集查询已经被购买的情况(一直查询更小的票价,售空为止)find需要特判-1的情况,不然会运行错误。二分查找,分配门票(每个人越贵越好)

2025-07-24 19:35:25 367

原创 Distinct Numbers 统计不同数字个数

2.排序去重(运行显示这个更快。

2025-07-24 15:53:41 141

原创 Two Knights(数学归纳)

每一个方向公式都一样,所以一个马在不同位置可能攻击到的格子总数为4*(k-2)*(k-1)对于其中一个方向右1上2(=左1下2),马可以有效攻击的格子范围:(行-2)*(列-1)k*k的格子内,两个马可以放 (k*k)*(k*k-1)/2 个(去掉重复)考虑攻击,两个马攻击的时候他们是对称的,所以计算只考虑半边8/2=4个。(如果此时再计算左1下2,就是把这一组多算了一遍)

2025-07-24 15:44:25 155

原创 (AC)问题 E: 自动鸡Q-automa-chicken

贝斯比(Bisbey)是个养鸡的农家。贝斯比一共使用四种厂牌的饲料来喂鸡:N 牌、P 牌、 S 牌与 C 牌。这四种厂牌的饲料各有各的优点,因此贝斯比会规划鸡接下来几餐要吃哪一个厂牌的饲料。贝斯比规划鸡饲料的方法如下:贝斯比为每一只鸡都设置了一个长型的饲料槽,这个饲料槽的宽度恰好是一包饲料的宽度,最前面是鸡吃饲料的地方,而最后面则是贝斯比把饲料放进饲料槽的地方。

2025-07-24 15:21:23 777

原创 位运算 原码、补码

1.位运算// 按位与:对应位都为1才为1a & b// 按位或:对应位有一个为1就为1a | b// 按位异或:对应位不同则为1a ^ b// 按位取反:0变1,1变0(注意符号位)~a// 左移:a << n 相当于 a * 2^na << 2// 右移:a >> n 相当于 a / 2^n(向下取整)b >> 12. 原码、补码的基本概念在计算机中,整数以二进制表示,负数采用。

2025-07-24 14:51:48 849

空空如也

空空如也

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

TA关注的人

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