自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 P3397 地毯

接下来 m 行,每行两个坐标 (x1​,y1​) 和 (x2​,y2​),代表一块地毯,左上角是 (x1​,y1​),右下角是 (x2​,y2​)。第 i 行第 j 列的正整数表示 (i,j) 这个格子被多少个地毯覆盖。对于 20% 的数据,有 n≤50,m≤100。给出这些地毯的信息,问每个点被多少个地毯覆盖。对于 100% 的数据,有 n,m≤1000。第一行,两个正整数 n,m。在 n×n 的格子上有 m 个地毯。输出 n 行,每行 n 个正整数。

2025-11-24 17:37:34 186

原创 P1314 [NOIP 2011 提高组] 聪明的质监员

小 T 不想费时间去检验另一批矿产,所以他想通过调整参数 W 的值,让检验结果尽可能的靠近标准值 s,即使得 ∣s−y∣ 最小。这批矿产共有 n 个矿石,从 1 到 n 逐一编号,每个矿石都有自己的重量 wi​ 以及价值 vi​。接下来的 m 行,表示区间,每行两个整数,中间用空格隔开,第 i+n+1 行表示区间 [li​,ri​] 的两个端点 li​ 和 ri​。接下来的 n 行,每行两个整数,中间用空格隔开,第 i+1 行表示 i 号矿石的重量 wi​ 和价值 vi​。一个整数,表示所求的最小值。

2025-11-24 17:21:31 184

原创 算法竞赛进阶指南 总结与练习

时间限制: 1.00s 内存限制: 512.00MB。

2025-11-23 23:14:14 424

原创 AtCoder Beginner Contest 433

对于正整数 \(x, y\),定义函数 \(f(x, y)\) 如下:将 x 和 y 以十进制表示(无前导零)视为字符串,按顺序拼接得到字符串 S,再将 S 解释为十进制整数,该整数即为 \(f(x, y)\) 的值。

2025-11-23 11:21:49 314

原创 算法竞赛进阶指南 贪心

时间限制: 1.00s 内存限制: 125.00MB。

2025-11-21 18:49:30 328

原创 算法竞赛进阶指南 倍增

时间限制: 1.00s 内存限制: 512.00MB。

2025-11-20 19:18:43 267

原创 牛客2025秋季算法编程训练联赛6-基础组

来源:牛客网。

2025-11-19 23:14:12 273

原创 算法竞赛进阶指南 排序

o(n^2)选择排序一个序列中选一个最小的放入排序序列 删去这个数字 重复插入排序一个数字一个数字插入 找到自己的位置冒泡相邻数字两两比较交换 把逆序对都交换 一个一个把最大值冒泡到当前的末尾o(nlogn)1.堆排序2.归并把数组分成两半 分治 然后再分两半 直到只剩一个数字 对于每个长度大于1 的子段 进行有序合并 回溯的时候 要合并两个字段 用两个指针卡住两个段 小的放入指针后移直到排好序3.快速排序特殊1计数排序 (与数字大小有关)

2025-11-19 21:33:45 508

原创 算法竞赛进阶指南 前缀和与差分

前缀和一维前缀和可以快速的求出区间的总和 令s[i]为1到i的和那么sum(i,r)=s[r]-s[i-1];二维前缀和对于一个1base的二维数组 定义s[i,j]为点[i,j]到[1,1]的所有和 也就是到左上角所构成的矩形那么我们可以得到以下递推式对于任意一个边长为R的正方形 我们有其中蕴含了容斥原理的思想。

2025-11-17 22:38:31 800

原创 算法竞赛进阶指南 递归

时间限制: 1.00s 内存限制: 128.00MB。

2025-11-16 12:10:39 718

原创 P10447 最短 Hamilton 路径

对于这个题目 只要每个点都走过并且最终停在n-1点即可 这个题的数据不是特别大 可以用二进制枚举 f[state][k]表示在state状态下 正处于k点 state用二进制枚举所有状态 如果是1 就是遍历过了 0位表示没有被遍历 那么从k到j f[s_j][j]=f[s][k]+w[k][j]对于任意的 x,y,z,数据保证 a[x,x]=0,a[x,y]=a[y,x] 并且 a[x,y]+a[y,z]≥a[x,z]。对于所有测试数据满足 1≤n≤20,0≤a[i,j]≤107。

2025-11-16 00:29:05 134

原创 P10446 64位整数乘法

注意 直接做的话一定会爆longlong 除非用高精度 但是完全没有必要 可以运用一下快速幂中的思想 进行计算。每次处理 让a乘2 也就是b的那一位对应的数字倍数的a 如果这一位是1 那就相加 0 不做处理。第一行输入整数 a,第二行输入整数 b,第三行输入整数 p。相乘溢出 但是相加不会溢出 a*b可以看作把a加b次。求 a 乘 b 对 p 取模的值。

2025-11-16 00:03:58 181

原创 快速幂[模板]

注意这里的ans=1%p不要丢掉%p因为如果出现极端数据 0 1 那么b不会进入循环 这个时候的答案应该是0 如果丢掉%p 会输出1 导致错误;求a的b次方 对p取模的值。

2025-11-15 23:54:20 67

原创 P1955 [NOI2015] 程序自动分析

考虑一个约束满足问题的简化版本:假设 x1​,x2​,x3​,⋯ 代表程序中出现的变量,给定 n 个形如 xi​=xj​ 或 xi​=xj​ 的变量相等/不等的约束条件,请判定是否可以分别为每一个变量赋予恰当的值,使得上述所有约束条件同时被满足。例如,一个问题中的约束条件为:x1​=x2​,x2​=x3​,x3​=x4​,x4​=x1​,这些约束条件显然是不可能同时被满足的,因此这个问题应判定为不可被满足。在第一个问题中,约束条件有三个:x1​=x2​,x2​=x3​,x3​=x1​。

2025-11-15 10:59:08 276

原创 牛客小白月赛123 [e] 背包dp

来源:牛客网。

2025-11-15 09:37:36 353

原创 牛客小白月赛123 [d] 最短路dijkstra

来源:牛客网假设当前两人起点在编号为 111 的地点,而祥子的学校羽丘女子学园在编号为 nnn 的地点,整个城市可简化为一张带权无向图,祥子需要从顶点 111 出发,目标是到达顶点 nnn,每条路的长度为非负整数,走一条路需要付出其路的长度大小的时间。\hspace{15pt}加藤翔子能够做的事情是:如果祥子沿无向边 u ⁣− ⁣vu\!-\!vu−v 从 uuu 走到 vvv,紧接着立刻沿。

2025-11-14 23:57:52 1520

原创 牛客小白月赛123 [c]

来源:牛客网。

2025-11-14 22:11:26 240

原创 P1892 [BalticOI 2003] 团伙

接下来 m 行,每行一个字符 opt 和两个整数 p,q,分别代表关系(朋友或敌人),有关系的两个人之中的第一个人和第二个人。两个人在一个团体内当且仅当这两个人是朋友。请求出这些人中最多可能有的团体数。对于 100% 的数据,2≤n≤1000,1≤m≤5000,1≤p,q≤n。符合了敌人的敌人是朋友的规则。现在有 n 个人,他们之间有两种关系:朋友和敌人。如果a和b是敌人,合并n+b和a,n+a和b。如果c和a是敌人,合并n+c和a,n+a和c。对于这个题目中的信息 敌人的敌人是朋友。

2025-11-14 16:43:44 303

原创 P1621 集合

Caima 给你了所有 [a,b] 范围内的整数。一开始每个整数都属于各自的集合。每次你需要选择两个属于不同集合的整数,如果这两个整数拥有大于等于 p 的公共质因数,那么把它们所在的集合合并。重复如上操作,直到没有可以合并的集合为止。现在 Caima 想知道,最后有多少个集合。

2025-11-14 15:48:35 296

原创 P1525 [NOIP 2010 提高组] 关押罪犯

NOIP2010 提高组 T3。

2025-11-14 14:53:15 379

原创 P3405 [USACO16DEC] Cities and States S

首先分析题目 对于两个城市,它们的前两个字母互为对方所在州的名称 那么也就是说 把一个城市前两个字母和他的州代码拼起来 得到的字符串与他的特殊城市也相同操作得到的字符串相反 比如<mi fi><fi mi>我们称两个城市是一个一对「特殊」的城市,如果他们具有上面的特性,并且来自不同的州。接下来 N 行,每行两个字符串,分别表示一个城市的名称(2∼10 个大写字母)和所在州的代码(2 个大写字母)。确切地说,对于两个城市,它们的前两个字母互为对方所在州的名称。输出共一行一个整数,代表特殊的城市对数。

2025-11-13 21:50:20 391

原创 P3370 【模板】字符串哈希

哈希 将每个字符串映射为他们的ascll值 然后将每一位看作进制的每一位 和进制一样迭代运算hash=(hash*k+s[i])%mod 计算出他们的哈希值 基数k可以任选 一般不少于128(ascll)字符集的数量 当然求hash值的方法也不唯一 如 只局限于小写字母 可以映射为25 这时进制可以取26 具体情况具体分析 模数mod尽量取一个较大的质数 减少冲突的可能性 如10007 999983。对于 70% 的数据:N≤1000,Mi​≈100,Mmax​≤150。

2025-11-13 20:18:27 188

原创 P1536 村村通

输入包含若干组测试数据,每组测试数据的第一行给出两个用空格隔开的正整数,分别是城镇数目 n 和道路数目 m;随后的 m 行对应 m 条道路,每行给出一对用空格隔开的正整数,分别是该条道路直接相连的两个城镇的编号。市政府 "村村通工程" 的目标是使全市任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要相互之间可达即可)。一共有n个城镇 也就是n个连通块 如果一条路连接了两个独立的连通块 那么就可以把两个连通块变成一个连通块 所以求出m个道路后连通块的个数 再减去1 就是需要的道路。

2025-11-13 14:54:46 211

原创 P1551 亲戚[并查集模板]

若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。

2025-11-13 14:22:22 162

原创 牛客2025秋季算法编程训练联赛5-基础组补题[F]

来源:牛客网。

2025-11-13 13:02:10 226

原创 牛客2025秋季算法编程训练联赛5-基础组补题[E]Hash

来源:牛客网这里有一个hash函数int mod;i < LEN;现给定一个6的字符串s和模数mod,请找到字典序最小且大于sss的一个6的字符串s′,使得其hash值和s的hash相等。

2025-11-12 23:24:36 159

原创 牛客2025秋季算法编程训练联赛5-基础组 [补题D]

来源:牛客网。

2025-11-12 23:09:50 321 1

原创 二叉树 洛谷题单

有 2n(n≤7)个国家参加世界杯决赛圈且进入淘汰赛环节。已经知道各个国家的能力值,且都不相等。能力值高的国家和能力值低的国家踢比赛时高者获胜。1 号国家和 2 号国家踢一场比赛,胜者晋级。3 号国家和 4 号国家也踢一场,胜者晋级……晋级后的国家用相同的方法继续完成赛程,直到决出冠军。给出各个国家的能力值,请问亚军是哪个国家?

2025-11-12 22:04:23 934

原创 P2234 [HNOI2002] 营业额统计

由于节假日,大减价或者是其他情况的时候,营业额会出现一定的波动,当然一定的波动是能够接受的,但是在某些时候营业额突变得很高或是很低,这就证明公司此时的经营状况出现了问题。第一行为正整数 n(n≤32767) ,表示该公司从成立一直到现在的天数,接下来的 n 行每行有一个整数 ai​(∣ai​∣≤106) ,表示第 i 天公司的营业额,可能存在负数。结果说明:5+∣1−5∣+∣2−1∣+∣5−5∣+∣4−5∣+∣6−5∣=5+4+1+0+1+1=12。特别地,第一天的最小波动值为第一天的营业额。

2025-11-11 14:04:56 250

原创 牛客周赛round117 补题[F]

来源:牛客网。

2025-11-10 23:38:54 346

原创 牛客周赛round117 补题[e ]

E题来源:牛客网。

2025-11-10 19:30:25 534

原创 P1160 队列安排

第 2∼N 行,第 i 行包含两个整数 k,p,其中 k 为小于 i 的正整数,p 为 0 或者 1。若 p 为 0,则表示将 i 号同学插入到 k 号同学的左边,p 为 1 则表示插入到右边。2∼N 号同学依次入列,编号为 i 的同学入列方式为:老师指定编号为 i 的同学站在编号为 1∼(i−1) 中某位同学(即之前已经入列的同学)的左边或右边;接下来 M 行,每行一个正整数 x,表示将 x 号同学从队列中移去,如果 x 号同学已经不在队列中则忽略这一条指令。第一行一个整数 N,表示了有 N 个同学。

2025-11-10 19:28:24 287

原创 P1032 [NOIP 2002 提高组] 字串变换(疑似错题)

测试数据非常的水,各种做法都可以通过,不代表算法正确。规则的含义为:在 A 中的子串 A1​ 可以变换为 B1​,A2​ 可以变换为 B2​⋯。若在 10 步(包含 10 步)以内能将 A 变换为 B,则输出最少的变换步数;bfs 每次遍历一遍变换的字符串 变换后加入队列 进行下一次变换。接下来若干行,每行有两个字符串 Ai​,Bi​,表示一条变换规则。对于 100% 数据,保证所有字符串长度的上限为 20。共进行了 3 次变换,使得 A 变换为 B。本题为搜索题,本题不接受 hack 数据。

2025-11-09 15:06:32 246

原创 三晋七校第一届新生赛(线下赛)[赛后反思 以及补题]

跑酷大湿来源:牛客网。

2025-11-09 10:59:43 1419

原创 P1162 填涂颜色

可以在原图的基础上 裹上一层0 即边界0 和n+1 均为0 作为外层 将外层想象成一个连通块 将外层所有的连通块都涂色 2 ,其他的1 和内部的0 不用操作 最后输出2与图中每个元素的差即可。由数字 0 组成的方阵中,有一任意形状的由数字 1 构成的闭合圈。如果从某个 0 出发,只向上下左右 4 个方向移动且仅经过其他 0 的情况下,无法到达方阵的边界,就认为这个 0。接下来 n 行,由 0 和 1 组成的 n×n 的方阵。的 0 是连通的(两两之间可以相互到达)。

2025-11-05 21:22:43 226

原创 P1596 [USACO10OCT] Lake Counting S[连通块问题]

dfs解决连通块问题 思路 找到连通块中的一个元素后 递归将这个连通块的所有元素都染成无关元素 解决完一个连通块之后再去找下一个连通块的子元素 重复进行。一个水塘是由连通的水方格组成的,其中一个方格被认为与它的八个邻居相邻。由于最近的降雨,水在农夫约翰的田地里积聚了。每个方格中要么是水(注意此题的W是大写!不是小写 不要因为这个卡题 血与泪的教训!第 2 行到第 N+1 行:每行 M 个字符,表示农夫约翰田地的一行。输出详情:共有三个水塘:一个在左上角,一个在左下角,还有一个沿着右侧。

2025-11-05 20:30:55 177

原创 P2404 自然数的拆分问题

任何一个大于 1 的自然数 n,总可以拆分成若干个小于 n 的自然数之和。现在给你一个自然数 n,要求你求出 n 的拆分成一些数字的和。每个拆分后的序列中的数字从小到大排序。然后你需要输出这些序列,其中字典序小的序列需要优先输出。题目要求字典序输出 可以考虑存储一个变量 每次分割一个数学的时候 后接的数字都等于分割前末尾的那个数字 保证字典序。输入:待拆分的自然数 n。输出:若干数的加法式子。数据保证,2≤n≤8。

2025-11-05 19:55:07 186

原创 P1101 单词方阵

单词在方阵中是沿着同一方向连续摆放的。摆放可沿着 8 个方向的任一方向,同一单词摆放时不再改变方向,单词与单词之间可以交叉,因此有可能共用字母。输出时,将不是单词的字母用。给一 n×n 的字母方阵,内可能蕴含多个。第一行输入一个数 n。(7≤n≤100)。第二行开始输入 n×n 的字母矩阵。突出显示单词的 n×n 矩阵。代替,以突出显示单词。

2025-11-05 14:33:13 184

原创 P1019 [NOIP 2000 提高组] 单词接龙(疑似错题)

s.substr(0,j) 可以判断后面单词的头 s.substr(s.size()-j)可以确认其哪一个单词的后面部分 j套上循环 令j小于两个单词中最小的 既可以遍历整个单词 又可以避免包含的情况;单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一部分,例如。只需输出以此字母开头的最长的“龙”的长度。NOIP2000 提高组 T3。

2025-11-04 22:30:49 326

原创 P1433 吃奶酪

对于两个点 (x1​,y1​),(x2​,y2​),两点之间的距离公式为 (x1​−x2​)2+(y1​−y2​)2​。第 2 到第 (n+1) 行,每行两个实数,第 (i+1) 行的实数分别表示第 i 块奶酪的横纵坐标 xi​,yi​。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在 (0,0) 点处。对于全部的测试点,保证 1≤n≤15,∣xi​∣,∣yi​∣≤200,小数点后最多有 3 位数字。输出一行一个实数,表示要跑的最少距离,保留 2 位小数。第一行有一个整数,表示奶酪的数量 n。

2025-11-04 19:49:55 117

空空如也

空空如也

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

TA关注的人

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