- 博客(35)
- 收藏
- 关注
原创 B3772 [信息与未来 2022] 沙滩面积
是看一个位置有没有走过来进行拓展,但是,这里有步数这一设定,所以要把走到一个位置的步数进行记录,如果再到这个位置时耗用步数更少就能拓展出更大的沙地,否则直接跳过就行。遍历,如果没有沙盘外的空间,这题将非常简单,但由于题意,我们甚至需要把负下下标的位置考虑进去,这里提供两种方法(一种详解,一种略解)开始遍历,需要找到水的范围,再从水的周围一圈开始遍历沙滩的范围,所有遍历过的区域减去水的面积就是沙滩面积了。的情况,蓝色的格子代表水域,标为黄色的陆地格子是沙滩。列的矩形,矩形中的每个格子要么是陆地(用半角点号。
2025-08-08 13:18:06
907
原创 P8661 [蓝桥杯 2018 省 B] 日志统计
小明维护着一个程序员论坛。N行。其中每一行的格式是ts id,表示在ts时刻编号id的帖子收到一个“赞”。现在小明想统计有哪些帖子曾经是“热帖”。如果一个帖子曾在任意一个长度为D的时间段内收到不少于K个赞,小明就认为这个帖子曾是“热帖”。具体来说,如果存在某个时刻T满足该帖在TTD这段时间内(注意是左闭右开区间)收到不少于K个赞,该帖就曾是“热帖”。给定日志,请你帮助小明统计出所有曾是“热帖”的帖子编号。
2025-07-26 22:52:19
258
原创 P2847 [USACO16DEC] Moocast G
Farmer John 的N头奶牛(1≤N≤1000)希望组织一个紧急的“哞播”系统,用于在它们之间广播重要消息。为了避免在长距离上互相哞叫,奶牛们决定为自己配备对讲机,每头奶牛一个。这些对讲机每个都有一个有限的传输半径,但奶牛们可以通过多次跳跃的路径中继消息,因此并非每头奶牛都需要能够直接与其他每头奶牛通信。奶牛们需要决定在对讲机上花费多少钱。如果它们花费X,每头奶牛将获得一个能够传输到X距离的对讲机。也就是说,两头奶牛之间的平方距离必须不超过X,它们才能通信。
2025-07-12 18:56:15
416
原创 P1014 [NOIP 1999 普及组] Cantor 表
现代数学的著名证明之一是 Georg Cantor 证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的:我们以 Z 字形给上表的每一项编号。第一项是1/1,然后是1/22/13/12/2,…
2025-07-08 23:33:11
342
原创 P8889 [入门赛 #7] 狠狠地切割 (Hard Version)
的定义有疑问,可以参照「样例 #1」及「样例解释 #1」进行理解。的概念有疑问,可以参照「样例 #2」及「样例解释 #2」进行理解。特别的,如果在切割后,某一段内没有数组,那这一段不可被叫做。方法是,将该位置的数字去除,然后在这个位置将其左右的。容易知道,第二个位置和第四个位置为切割点,我们使用。本题输入规模较大,建议考虑使用较快的读入读出方式。为切割点,其与开头和结尾之间也不存在片段。中的每一个切割点,我们在这个位置进行一次。中的数,最后统计有多少个片段就行。你需要计算,在进行了所有可能的。
2025-07-06 17:01:10
912
原创 P8355 「WHOI-1」ymh 是 AK 哥!!!
2077年春。15岁的 miku 正在对着你谷发呆,突然看到一个奇怪的问题,你能帮帮他么??你要先学会一些定义。我们约定一个字符串下标从1开始,slr表示slsl1sr拼接成的一个字符串。AAABAB括号匹配前缀长度是指最大的k使得s1k是一个括号匹配串。
2025-07-06 13:12:17
516
原创 1276:【例9.20】编辑距离
s1s1s1字符串1s2s2s2字符串2dpijdp[i][j]dpij将s1s1s1的前iii个字符与s2s2s2的前jjj个字符变成一样的所需的步数。
2025-07-04 11:16:26
897
原创 1297:公共子序列
我们称序列Z=<z1,z2,…,zk>是序列X=<x1,x2,…,xm>的子序列当且仅当存在严格上升的序列<i1,i2,…,ik>,使得对j=1,2,…,k,有xij=zj。比如Z=<a,b,f,c> 是X=<a,b,c,f,b,c>的子序列。现在给出两个序列X和Y,你的任务是找到X和Y的最大公共子序列,也就是说要找到一个最长的序列Z,使得Z既是X的子序列也是Y的子序列。
2025-07-03 10:24:57
785
原创 P1111 修复公路
并告诉你每条公路的连着哪两个村庄,并告诉你什么时候能修完这条公路。问最早什么时候任意两个村庄能够通车,即最早什么时候任意两条村庄都存在至少一条修复完成的道路(可以由多条公路连成一条道路)。任意两个村庄之间有联通就是最小生成树,我们只需要从小到大遍历每一条边,直到构建出了最小生成树,输出此时用时(补充:边用完了还不是连通图就输出-1)A 地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车。如果全部公路修复完毕仍然存在两个村庄无法通车,则输出。,否则输出最早什么时候任意两个村庄能够通车。
2025-04-05 14:37:16
751
原创 P1102 A-B 数对
相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈!的数对的个数(不同位置的数字一样的数对算不同的数对)。给出一串正整数数列以及一个正整数。个正整数,作为要求处理的那串数。一行,表示该串正整数中包含的满足。2017/4/29 新添数据两组。的个数的情况下只需要枚举。出题是一件痛苦的事情!,要求计算出所有满足。以下代码中给出详细思路。
2025-04-05 12:15:52
974
原创 P5119 [USACO18DEC] Convention S
Farmer John 正在机场等待奶牛们到来,并且准备安排到达的奶牛们乘坐大巴。当最后一头乘坐某辆大巴的奶牛到达的时候,这辆大巴就可以发车了。Farmer John 想要做一个优秀的主办者,所以并不想让奶牛们在机场等待过长的时间。如果 Farmer John 合理地协调这些大巴,等待时间最长的奶牛等待的时间的最小值是多少?一头奶牛的等待时间等于她的到达时间与她乘坐的大巴的发车时间之差。输出一行,包含所有到达的奶牛中的最大等待时间的最小值。到达的奶牛乘坐第三辆,那么等待时间最长的奶牛等待了。
2025-04-04 09:52:09
884
原创 1569:【 例 1】石子合并
将 n堆石子绕圆形操场排放,现要将石子有序地合并成一堆。规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆的石子数记做该次合并的得分。请编写一个程序,读入堆数 n及每堆的石子数,并进行如下计算:1、选择一种合并石子的方案,使得做 n−1次合并得分总和最大。2、选择一种合并石子的方案,使得做 n−1次合并得分总和最小。
2025-03-22 12:44:22
1073
原创 二维费用的01背包
前置知识不同于一维费用的01背包,二维费用的01背包多了一个费用w1和w2) 基本概念与一维01背包完全相同不在重复dpijijdpijmaxdpijdpi−w1j−w2ci。
2025-02-22 14:41:59
1091
原创 1294:Charm Bracelet
经典0—1背包问题,有n个物品,编号为i的物品的重量为w[i],价值为c[i],现在要从这些物品中选一些物品装到一个容量为m的背包中,使得背包内物体在总重量不超过m的前提下价值尽量大。
2025-02-22 12:45:46
385
原创 01背包问题
一个背包n件物品m的容量对于每件物品有一个重量wi和一个价值ci可以选择装或者不装两种选择在有限的空间中获得最大的价值,这样的问题叫做01背包问题。
2025-02-22 12:39:16
363
原创 1293:买书
【题目描述】小明手里有n𝑛元钱全部用来买书,书的价格为1010元,2020元,5050元,100100元。问小明有多少种买书方案?(每种书可购买多本)【输入】一个整数 n𝑛,代表总共钱数。【输出】一个整数,代表选择方案种数。【输入样例】20【输出样例】2【提示】样例输入样例输入2:15样例输入3:0样例输出样例输出2:0样例输出3:0题目分析动态规划,方案数定义:dp[ i ]使用 i 元可以获得的方案数。
2025-02-22 11:46:19
213
原创 1351:【例4-12】家谱树
【题目描述】有个人的家族很大,辈分关系很混乱,请你帮整理一下这种关系。给出每个人的孩子的信息。输出一个序列,使得每个人的后辈都比那个人后列出。【输入】第1行一个整数N𝑁(1≤N≤1001≤𝑁≤100),表示家族的人数;接下来N𝑁行,第i𝑖行描述第i𝑖个人的儿子;每行最后是00表示描述完毕。【输出】输出一个序列,使得每个人的后辈都比那个人后列出;如果有多解输出任意一解。【输入样例】504 5 1 01 05 3 03 0【输出样例】2 4 5 3 1题目分析拓扑排序。
2025-02-08 13:35:54
290
原创 1350:【例4-11】最短网络(agrinet)
【题目描述】农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场。当然,他需要你的帮助。约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场。为了用最小的消费,他想铺设最短的光纤去连接所有的农场。你将得到一份各农场之间连接费用的列表,你必须找出能连接所有农场并所用光纤最短的方案。每两个农场间的距离不会超过100000。【输入】第一行:农场的个数,N(3≤N≤100)𝑁(3≤𝑁≤100)。
2025-02-08 12:43:47
378
原创 1349:【例4-10】最优布线问题
【题目描述】学校有n𝑛台计算机,为了方便数据传输,现要将它们用数据线连接起来。两台计算机被连接是指它们有数据线连接。由于计算机所处的位置不同,因此不同的两台计算机的连接费用往往是不同的。当然,如果将任意两台计算机都用数据线连接,费用将是相当庞大的。为了节省费用,我们采用数据的间接传输手段,即一台计算机可以间接的通过若干台计算机(作为中转)来实现与另一台计算机的连接。现在由你负责连接这些计算机,任务是使任意两台计算机都连通(不管是直接的或间接的)。【输入】
2025-02-08 12:22:32
337
原创 最小生成树:Kruskal
一种最短路算法,适用于有向加权图中时间复杂度O(m log m)(m为边数)1.排序复杂度控制时间复杂度2.也可以用优先队列,一条一条试,取一条边的时间复杂度是 log m,m条边就是m log m空间复杂度O(n + m)(n为点数,m为边数)在一个图中生成一张连通图(每个节点都相互联通,且用的总边权最短)
2025-02-07 21:50:39
292
原创 1286:怪盗基德的滑翔翼
【题目描述】怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯。而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。有一天,怪盗基德像往常一样偷走了一颗珍贵的钻石,不料却被柯南小朋友识破了伪装,而他的滑翔翼的动力装置也被柯南踢出的足球破坏了。不得已,怪盗基德只能操作受损的滑翔翼逃脱。假设城市中一共有N幢建筑排成一条线,每幢建筑的高度各不相同。初始时,怪盗基德可以在任何一幢建筑的顶端。
2025-02-04 14:13:16
532
原创 1296:开餐馆
【题目描述】信息学院的同学小明毕业之后打算创业开餐馆.现在共有n𝑛个地点可供选择。小明打算从中选择合适的位置开设一些餐馆。这 n𝑛个地点排列在同一条直线上。我们用一个整数序列m1,m2,...mn𝑚1,𝑚2,...𝑚𝑛来表示他们的相对位置。由于地段关系,开餐馆的利润会有所不同。我们用pi𝑝𝑖 表示在mi𝑚𝑖处开餐馆的利润。为了避免自己的餐馆的内部竞争,餐馆之间的距离必须大于k𝑘。请你帮助小明选择一个总利润最大的方案。【输入】
2025-02-04 13:52:08
614
原创 1385:团伙(group)
【题目描述】在某城市里住着n个人,任何两个认识的人不是朋友就是敌人,而且满足:1、我朋友的朋友是我的朋友;2、我敌人的敌人是我的朋友;所有是朋友的人组成一个团伙。告诉你关于这n个人的m条信息,即某两个人是朋友,或者某两个人是敌人,请你编写一个程序,计算出这个城市最多可能有多少个团伙?【输入】第1行为n和m,1<n<1000,1<=m<=100 000;以下m行,每行为p x y,p的值为0或1,p为0时,表示x和y是朋友,p为1时,表示x和y是敌人。【输出】
2025-01-24 21:02:08
434
原创 1292:宠物小精灵之收服
【题目描述】宠物小精灵是一部讲述小智和他的搭档皮卡丘一起冒险的故事。一天,小智和皮卡丘来到了小精灵狩猎场,里面有很多珍贵的野生宠物小精灵。小智也想收服其中的一些小精灵。然而,野生的小精灵并不那么容易被收服。对于每一个野生小精灵而言,小智可能需要使用很多个精灵球才能收服它,而在收服过程中,野生小精灵也会对皮卡丘造成一定的伤害(从而减少皮卡丘的体力)。当皮卡丘的体力小于等于0时,小智就必须结束狩猎(因为他需要给皮卡丘疗伤),而使得皮卡丘体力小于等于0的野生小精灵也不会被小智收服。
2025-01-23 21:26:33
913
原创 有效涂色问题
有效涂色问题## 题目描述一共有$n$个格子,$m$种颜色,在每个格子里填涂$m$种颜色中的一种颜色。当$n$个格子都填涂了颜色,且$m$种颜色都被使用过,我们称之为有效填涂,请问有多少种有效填涂的方案。由于方案数可能很大,结果需要对$1e9+7$取模## 输入格式一行两个整数,$n、m$。## 输出格式一个整数,有效填涂的方案数对$1e9+7$取模的结果## 样例 #1### 样例输入 #1```5 1```### 样例输出 #1```1```## 样例 #2。
2025-01-23 20:08:59
241
原创 1282:最大子矩阵
输入是一个N×N𝑁×𝑁的矩阵。输入的第一行给出N(0<N≤100)𝑁(0<𝑁≤100)。再后面的若干行中,依次(首先从左到右给出第一行的N𝑁个整数,再从左到右给出第二行的N𝑁个整数……如图所示:目标矩阵的面积等于绿色面积,计算方法为summ[x][y] - summ[x][j - 1] - summ[i - 1][y] +summ[i][j](重合部分)。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 × 1)子矩阵。定义:summ[i][j] 左上角为(1,1),右下角为(i,j)的矩阵
2025-01-23 19:17:29
338
原创 P1010 幂次方
所以 1315最后可表示为 2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)(直到出现2的1次方和2的0次方)相加的形式。所以最后 137 可表示为 2(2(2)+2+2(0))+2(2+2(0))+2(0)例如 137=2^7+2^3+2^0。7= 2^2+2+2^0 ( 2^1 用 2 表示),并且 3=2+2^0。又如 1315=2^{10} +2^8 +2^5 +2+1。由此可知,137 可表示为 2(7)+2(3)+2(0);
2024-07-06 13:55:07
405
原创 P1928 外星密码
经过很长时间的努力,小队终于收到了外星生命的回信。解开密码的第一道工序就是解压缩密码,外星人对于连续的若干个相同的子串 X 会压缩为 [DX][DX] 的形式(D 是一个整数且 1≤D≤99),比如说字符串 CBCBCBCB 就压缩为 [4CB] 或者[2[2CB]],类似于后面这种压缩之后再压缩的称为二重压缩。如果是 [2[2[2CB]]] 则是三重的。现在我们给你外星人发送的密码,请你对其进行解压缩。当我们读入‘[’时就说明这个字符后面的东西是被压缩过的。还需要一个int 类型的数来存放重复的次数。
2024-06-22 20:55:06
274
原创 P1498 南蛮图腾
2.向上复制时 fu_x = height + 1 ,fu_y = lon / 2 + 1。用fu_x , fu_y 来存储左下角的坐标(二维平面需要两个坐标确定位置)2.向上复制时 fu_x = height,fu_y = lon / 2。1.向左复制时 fu_x = 1 , fu_y = lon + 1。1.向左复制时 fu_x = 1 - 1, fu_y = lon。根据观察我们可以看出图腾的生成方法,先向右复制,在向上复制。用height ,lon 来存储图形的大小。这样我们就只用找到复制的。
2024-06-21 16:38:04
351
原创 B3860 [语言月赛 202309] pip install
pip install` 是 Python 安装包的重要指令。Python 的包具有依赖关系,在安装某些包之前,需要先安装这些包的依赖。假定一共有依次编号为 1 - N 的N个包,第i个包共有 Ki 个依赖。现在,小 F 想要安装编号为1 的包。在完成 1 号包及其全部依赖的安装,一共安装了多少个包?
2024-06-09 07:57:26
679
空空如也
freopen与关闭同步流同时使用无输出问题
2025-04-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
2