- 博客(37)
- 收藏
- 关注
原创 【SSL 1043】维修栅栏(区间DP)
农场的栅栏年久失修,出现了多处破损,晶晶准备维修它,栅栏是由n块木板组成的,每块木板可能已经损坏也可能没有损坏。晶晶知道,维修连续m个木板(这m个木板不一定都是损坏的)的费用是m。可是,怎样设计方案才能使总费用最低呢?请你写程序帮忙计算。第一行包含一个整数nn<=2500),表示栅栏的长度。第二行包含n个由空格分开的整数(−10001000),如果第i个数是0,则表示第i块木板已经损坏,否则表示没损坏。一个实数,表示最小维修费用。注意:答案精确到小数点后3位。
2024-07-08 09:15:22
532
原创 【luogu 1334】 瑞瑞的木板
瑞瑞想要亲自修复在他的一个小牧场周围的围栏。他测量栅栏并发现他需要n根木板,每根的长度为整数li。于是,他买了一根足够长的木板,长度为所需的n根木板的长度的总和,他决定将这根木板切成所需的n根木板(瑞瑞在切割木板时不会产生木屑,不需考虑切割时损耗的长度)。瑞瑞切割木板时使用的是一种特殊的方式,这种方式在将一根长度为x的木板切为两根时,需要消耗x个单位的能量。瑞瑞拥有无尽的能量,但现在提倡节约能量,所以作为榜样,他决定尽可能节约能量。显然,总共需要切割n−1。
2024-07-08 08:20:14
1022
原创 【SSL 2120】通信线路
郊区有n座通信基站,p条双向电缆,第i条电缆连接基站Ai和Bi。特别地,1号基站是通信公司的总站,n号基站位于一座农场当中。现在,农场主希望对通信线路进行升级,其中升级第i条电缆需要花费Li。电话公司正在举行优惠活动。农场主可以指定一条从1号基站到n号基站的路径,并指定路径上不超过k条电缆,由电话公司免费提供升级服务。农场主只需要支付在该路径上剩余的电缆中,升级价格最贵的那条电缆的花费即可。求至少用多少钱能完成升级。第一行三个整数npk。接下来p。
2024-07-08 08:06:55
755
1
原创 【SSL 1823】消灭怪物(非传统BFS)
小b现在玩一个极其无聊的游戏,它控制角色从基地出发,一路狂奔夺走了对方的水晶,可是正准备回城时,发现地图上已经生成了n个怪。现在假设地图是二维平面,所有的怪和角色都认为是在这个二维平面的点上。请你帮小b计算一下,从现在角色的位置开始,至少要消灭几个怪才能回到基地(坐标原点)。注意:小b控制的角色只能沿平行于坐标轴的方向移动(东、西、南、北),而且每次必须移动整数距离。数据范围1≤n≤500001≤xy≤1000n以及角色的初始位置xy。接下来n。
2024-07-04 23:06:31
360
原创 【SSL 1056】最大子矩阵 (多维DP)
已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1∗1)子矩阵。比如,如下4∗4子矩阵的最大子矩阵是9 2-4 1-1 8这个子矩阵的大小是15。输入一个N∗N1<=N<=500的整数矩阵,每个数的范围在−127127之间。输出最大子矩阵的大小。15。
2024-07-04 22:50:41
482
原创 【SSL 1967】A和B
有一个字符串是由m个′a′和n个′b′字母组成的。求所有这样的字符串中,字典序第k小的字符串是哪个?数据范围:对于15%的数据,1≤mn≤2;对于25%的数据,1≤mn≤10;对于100%的数据,1≤mn≤301≤k≤Cmnm。mnk,中间用空格分割。输出对应的字符串。2 2 4baab。
2024-05-02 17:17:40
20
原创 【SSL 1974】鹊桥(DFS)
据说银河是一个树形结构,共有N个星球,每到七夕时,喜鹊会在星球之间搭起桥,共有N−1座鹊桥。牛郎和织女就会从两个不同的位置出发,沿着最短路相向而行,并在途中相会。假设通过每一座鹊桥的时间都是相等的(通过星球的时间忽略不计),给出牛郎织女出发的位置,问他们相遇的地点是在星球上,还是在鹊桥上?第一行输入两个正整数NQ,分别表示星球的数量和询问的数量。之后N−1行,每行两个数uv,表示星球uv间有一座鹊桥。之后Q行,每行两个数cd,对应Q。
2024-05-02 16:36:42
607
原创 【51nod 1589】移数博弈
小A和小B在玩一个游戏。他们拥有一个数列。小A在该数列中选择出最大的那个数,然后移出该数列;小B在剩下的数列中选择出最大的那个数,并乘上小A的那个值,作为他的答案。那么现在问题来了。他们现在想换一种玩法,把该数列长度大于等于2的区间(即n×n−1/2个区间)单独作为一个数列拿出来,然后做一次上述的游戏,然后计算出小B所有的答案,考虑到输出那么多数比较困难,因此他们想知道所有答案和对10000000071097取模后的值。样例解释: 该数列为2012对于1−。
2024-02-17 23:10:05
931
原创 【51nod 3046】子集和的元素和(DFS)(二分)
给出长度为n的集合AA的非空子集合共有2n−1个,每个子集合有一个元素的加和Sum。求所有Sum中第K小的Sum。第一行:2个数nk。1≤n≤500001≤k≤200000) 第2∼n1行:每行一个数Ai。1≤Ai≤109输出一个数,对应第K小的Sum。3 5 1 2 34对于16的数据,1≤n≤201≤k≤1001≤Ai≤50;对于60的数据,1≤n≤20001。
2024-02-17 10:49:33
1008
原创 【51nod 1109】01组成的N的倍数(广度优先搜索)
给定一个自然数N,找出一个M,使得M0且M是N的倍数,并且M的10进制表示只包含0或1。求最小的M。例如:N4M100。输入1个数N。1≤N≤106输出符合条件的最小的M。4100。
2024-02-08 20:13:14
833
原创 【51nod 1377】最慢的快排
小 nodnodnod 新学了快速排序,并且学会了用 randomrandomrandom 函数获取随机中枢避免最坏复杂度的出现。 代码如下:号称这份代码跑的比谁都快,并且到处找人炫耀。夹克老爷 为了教育他,事先更改了测试机的环境,构造了大小为 kkk 的数组 rrr ,使得快排开始后,第 iii 次调用 randrandrand 函数时返回的是 r[ir[i%k]r[i (注意,这里的 iii 从第 000 次开始),给出 rrr 数组中的 kkk 个数。你能构造一个 1−N1-N1−N 的排列让测试机
2024-02-08 19:49:05
995
原创 【SSL 1538】邮局(区间DP)
一些村庄建在一条笔直的高速公路边上,我们用一条坐标轴来描述这条公路,每个村庄的坐标都是整数,没有两个村庄的坐标相同。两个村庄的距离定义为坐标之差的绝对值。我们需要在某些村庄建立邮局。使每个村庄使用与它距离最近的邮局,建立邮局的原则是:所有村庄到各自使用的邮局的距离总和最小。1≤村庄数≤3001≤邮局数≤301≤村庄坐标≤10000第一行 :nm{表示有n个村庄,建立m个邮局}第二行 :a1a2a3...an{表示n个村庄的坐标}
2023-10-04 17:43:45
58
原创 【luogu 7073】表达式 [CSP-J2020](深搜)
小 C 热衷于学习数理逻辑。有一天,他发现了一种特别的逻辑表达式。在这种逻辑表达式中,所有操作数都是变量,且它们的取值只能为0或1,运算从左往右进行。如果表达式中有括号,则先计算括号内的子表达式的值。aa010小 C 想知道,给定一个逻辑表达式和其中每一个操作数的初始取值后,再取反某一个操作数的值时,原表达式的值为多少。为了化简对表达式的处理,我们有如下约定:表达式将采用的方式输入。
2023-10-04 09:41:06
295
原创 【SSL 1065】打击犯罪(并查集)
某个地区有nn<=1000个犯罪团伙,当地警方按照他们的危险程度由高到低给他们编号为1−n,他们有些团伙之间有直接联系,但是任意两个团伙都可以通过直接或间接的方式联系,这样这里就形成了一个庞大的犯罪集团,犯罪集团的危险程度唯一由集团内的犯罪团伙数量确定,而与单个犯罪团伙的危险程度无关(该犯罪集团的危险程度为n现在当地警方希望花尽量少的时间(即打击掉尽量少的团伙),使得庞大的犯罪集团分离成若干个较小的集团,并且他们中最大的一个的危险程度不超过n/2。
2023-10-01 22:02:57
126
原创 【SSL 1976】凸多边形的划分(区间DP)
给定一个具有N个顶点的凸多边形,将顶点从1至N标号,每个顶点的权值都是一个正整数。将这个凸多边形划分成N−2个互不相交的三角形,对于每个三角形,其三个顶点的权值相乘都可得到一个权值乘积,试求所有三角形的顶点权值乘积之和至少为多少。数据范围N≤50数据保证所有顶点的权值都小于109。第一行包含整数N,表示顶点数量。第二行包含N个整数,依次为顶点1至顶点N的权值。输出仅一行,为所有三角形的顶点权值乘积之和的最小值。
2023-10-01 21:53:38
309
原创 【luogu 1352】没有上司的舞会(树形DP)
某大学有n个职员,编号为1n。他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数ri,但是呢,如果某个职员的直接上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数。对于100%的数据,保证1≤n≤6×103−128≤ri≤1271≤lk≤n。
2023-09-21 23:02:37
39
原创 高精度模板
的用法,弄了一个好用点的高精度模板,可以用于各种题目的高精度改造。但是它还不能处理负数,减法和除法也还没弄出来。到时候大家这样用就可以了。
2023-09-10 11:29:45
43
原创 【SSL 1676】程序自动分析(并查集)
在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足。考虑一个约束满足问题的简化版本:假设x1x2x3代表程序中出现的变量,给定n个形如xixj或xixj的变量相等/不等的约束条件,请判定是否可以分别为每一个变量赋予恰当的值,使得上述所有约束条件同时被满足。x1x2x2x3x3x4x1x4,这些约束条件显然是不可能同时被满足的,因此这个问题应判定为不可被满足。
2023-09-03 23:12:52
43
原创 【SSL 1819】单源最短路径3(贝尔曼福特算法)
给定一个n个点m条边的有向图,图中可能存在重边和自环, 边权可能为负数。请你求出从1号点到n号点的最多经过k条边的最短距离,如果无法从1号点走到n号点,输出impossible。注意:图中可能存在负权回路。1≤nk≤5001≤m≤10000任意边长的绝对值不超过10000。第一行包含三个整数nmk。接下来m行,每行包含三个整数xyz,表示存在一条从点x到点y的有向边,边长为z。输出一个整数,表示从1号点到n号点的最多经过。
2023-09-01 20:33:09
57
1
原创 【YbtOJ算法高效进阶2023 「字符串算法」第4章 字典树 #B】最大异或对(字典树)
给定的N个整数Ai,选出两个数进行xor(异或)运算,求得到的结果的最大值。第一行输入一个整数N。第二行输入N个整数Ai。输出一个整数表示答案。31 2 33。
2023-08-29 16:21:17
52
1
原创 【YbtOJ算法高效进阶2023 「图论」第1章 并查集 #D】超市购物(并查集)
这样如果我们发现临过期的日期被占用了,我们就顺着并查集找到它的根节点,根节点就是可用日期,将根节点标记占用,
2023-08-28 11:53:44
81
1
原创 【SSL 1838】加分二叉树(树形DP)
设一个n个节点的二叉树tree的中序遍历为123...n,其中数字123...n为节点编号。每个节点都有一个分数(均为正整数),记第i个节点的分数为ditree及它的每个子树都有一个加分,任一棵子树subtree(也包含treesubtree的左子树的加分∗subtree的右子树的加分subtree的根的分数。若某个子树为空,规定其加分为1,叶子的加分就是叶节点本身的分数。不考虑它的空子树。试求一棵符合中序遍历为1。
2023-08-27 10:23:17
74
1
原创 【SSL 1872】社交距离
一种新型疾病,COWVID-19,开始在全世界蔓延。为了控制疫情,人们被要求一定要保持社交距离,避免被感染。现在有一个餐厅, 将 n个座位摆成一条直线,每个座位只允许一人就餐,有些位置可能已经有人就餐。现在你和一位同学过来此餐厅吃饭,你们只能选择空位就餐,你们俩也深知社交距离的重要性,因此你们会让自己的社交距离 d 越远越好。
2023-08-23 09:30:55
61
原创 【SSL 1935】小武的方程
小武有 2 个方程,x |y=A,x+y=B,其中 | 为二进制或符号,x 和 y 是未知数,A 和 B 已知,小武想知道这个方程是否有非负整数解。
2023-08-19 22:04:47
89
原创 【SSL 1920】无限序列
我们按以下方式产生序列:1、 开始时序列是: "1";2、 每一次变化把序列中的 "1" 变成 "10" ,"0" 变成 "1"。经过无限次变化,我们得到序列 "1011010110110101101…"。总共有 Q个询问,每次询问为:在区间 A和 B之间有多少个 1。
2023-08-19 17:28:51
60
原创 【SSL 1679】食物链(并查集)
动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述:第一种说法是”1 X Y”,表示X和Y是同类。第二种说法是”2 X Y”,表示X吃Y。此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话有的是真的,有的是假的。当一句话满足下列三条之一时,这句话就是假话,否则就是真话。
2023-08-11 20:49:41
54
1
原创 【SSL 1146】相似度(深搜)
趁着小G出去玩的时候,大G把小G的世界地图上的城市全部打乱并放在了原来这些城市所在的位置(并不是一一对应),又修改了一些道路。小G玩完回来后发现自己的东西被打乱了,感到非常生气,但是他又被一个更有趣的问题吸引了:被修改之后的世界地图与原来的世界地图的最大相似度是多少?但是计算找出最大相似度需要费点神,首先不知道大家是打算怎么存图的,是不是按节点存入它可以抵达的点,如果是这样的话计算相似度怕是有点难以实现,按 m 逐个检查时间复杂度也挺大。第一行为两个整数 $n$,m,表示一共有 n 个城市,m条道路。
2023-08-08 23:05:51
46
原创 特长生校考时血的教训
这个就十分恐怖,第一个,这样子写很多个头文件费时间不说,万一调用到什么它不认得的函数那就惨了。这里只是做个提醒,定义数组如果有多个长度相同的数组,尽量用常量定义,这样只需要修改常量就能修改所有数组,不会有哪个忘记改了的情况。6月份各大高中特长生校考已经展开,在此过程中有许许多多前辈因各种各样低级错误无缘心仪高中,这其中最普遍的就是本地编译器的问题。明显a是不可能有-1号单元格的,但我们可以在本地运行一下,它是可以正常输出的。这个不能说查不出来吧,只是代码一长就很难找,这个代码它只会输出0。
2023-07-05 10:31:33
42
原创 【SSL 1638】星系团(深搜)
深空照片是用二维的像素表示的,某个像素如果是数字 1,就表示那里是恒星系;如果是 0 ,表示没有物体。没有物体的地方可能是什么都没有,也可能是一个黑洞,如果是黑洞,那么黑洞必须严格在恒星系里面,即洞的边和顶点都必须被包围在值为 1 的像素里面。我们都知道一个星系团里面至少要有 1个黑洞,科学家们就想通过这些深空照片来判断有几个星系团。让我们看下面的例子:(不用想,从学校网站上扣的)图中,A、B 和 C 都是 1 个星系团,而 D 不是星系团。
2023-05-20 22:49:07
137
1
原创 【SSL 1528】最长链(深搜)
现给出一棵N个结点二叉树,问这棵二叉树中最长链的长度为多少,保证了1号结点为二叉树的根。第1行为包含了一个正整数N,为这棵二叉树的结点数,结点标号由1至N。接下来N行,这N行中的第i行包含两个正整数l[i], r[i],表示了结点i的左儿子与右儿子编号。如果l[i]为0,表示结点i没有左儿子,同样地,如果r[i]为0则表示没有右儿子。1个正整数,为这棵二叉树的最长链长度。
2023-05-07 22:45:05
85
原创 【SSL 1235】【NOIP2015 普及组】求和(数学解法)
满足上述条件的三元组的分数规定为 (x+z)×(numberx+numberz)。整个纸带的分数规定为所有满足条件的三元组的分数的和。这个分数可能会很大,你只要输出整个纸带的分数除以 10,007 所得的余数即可。第一行是用一个空格隔开的两个正整数 n和m, n表纸带上格子的个数,m表纸带上颜色的种类数。第二行有n个用空格隔开的正整数,第 i个数字number表纸带上编号为i的格子上面写的数字。第三行有 n个用空格隔开的正整数,第i个数字color表纸带上编号为i的格子商染的颜色。这题暴力不用说,必超。
2023-05-04 22:51:37
220
原创 【SSL 1554】抄书(二分答案) (区间DP)
某寺院要求僧人抄写经书,现在把 n本经书放成一排,分给m个僧人抄写,每个人的抄写速度是一样的,一本书只能给一个人抄写,而且每人抄写的书必须是连续的(比如不能把第1本、第3本给同一个人抄写),最后完成抄写的人所花费的时间就是抄写时间。现在告诉你每本书的页数,请你设计一种方案,使得抄写的时间最少。第一行两个整数 n,m。(n≤m≤500)第二行n个整数,表示每本书的页数。共 m行,每行两个整数,第i行表示第i个人抄写的书的起始编号和终止编号。
2023-05-02 12:27:06
64
原创 【SSL 1993】乌龟棋(多维DP)
乌龟棋中M张爬行卡片,分成4种不同的类型(M张卡片中不一定包含所有4种类型的卡片,见样例),每种类型的卡片上分别标有 1,2,3,4 四个数字之一,表示使用这种卡片后,乌龟棋子将向前爬行相应的格子数。游戏中,玩家每次需要从所有的爬行卡片中选择一张之前没有使用过的爬行卡片,控制乌龟棋子前进相应的格子数,每张卡片只能使用一次。游戏中,乌龟棋子自动获得起点格子的分数,并且在后续的爬行中每到达一个格子,就得到该格子相应的分数。现在,告诉你棋盘上每个格子的分数和所有的爬行卡片,你能告诉小明,他最多能得到多少分吗?
2023-04-22 22:11:20
54
原创 【SSL 1963】划分良田(悬线法)
他让人勘探了整个地形后,将荒原划分为 n∗m 的小方格,每个小方格里面写着‘F’或 'R’,'R' 表示土壤贫瘠,'F' 表示土壤肥沃。你从某个点悬一条线下去,在这线上的每一个点看看它向左向右各自能伸多长,这就是矩形的宽,当然矩形的宽取决于这条线上最小的伸长量,矩形的高自然是这条线的长度了。接下来 n 行,每行 m个用空格隔开的字符 'F' 或 'R',描述了矩形土地。于是我们可以用类似DP的东西来提高它的效率,即这个点的悬线长度是上方一个的加一。输出一个整数,表示你能得到的最大的良田的面积。
2023-04-20 22:47:49
59
原创 【SSL 1955】【CSP/J 2022 T3】逻辑表达式(递归)
需要注意的是,如果某处“短路”包含在更外层被“短路”的部分内则不被统计,如表达式 1|(0&1) 中,尽管 0&1 是一处“短路”,但由于外层的 1|(0&1) 本身就是一处“短路”,无需再计算 0&1 部分的值,因此不应当把这里的 0&1 计入一处“短路”。此外,在 C++ 等语言的有些编译器中,对逻辑表达式的计算会采用一种“短路”的策略:在形如 a&b 的逻辑表达式中,会先计算 a 部分的值,如果 a=0,那么整个逻辑表达式的值就一定为 0,故无需再计算 b 部分的值;同种运算并列时,从左向右运算。
2023-04-19 22:27:53
85
1
原创 【SSL 1956】【CSP/J 2022 T4】 上升点列(DP)
在一个二维平面内,给定 n 个整数点 (Xi,Yi),此外你还可以自由添加 k 个整数点。你在自由添加 k 个点后,还需要从 n+k 个点中选出若干个整数点并组成一个序列,使得序列中任意相邻两点间的欧几里得距离恰好为 1 而且横坐标、纵坐标值均单调不减,即 Xi+1−Xi=1,Yi+1=Yi 或 Yi+1−Yi=1,Xi+1=Xi。(就是在它上面或右边)请给出满足条件的序列的最大长度。第一行两个正整数 n,k 分别表示给定的整点个数、可自由添加的整点个数。
2023-04-18 23:04:38
162
1
原创 【Acwing 4261】孤独的照片
Farmer John 最近购入了 N头新的奶牛,每头奶牛的品种是更赛牛(Guernsey)或荷斯坦牛(Holstein)之一。奶牛目前排成一排,Farmer John 想要为每个连续不少于三头奶牛的序列拍摄一张照片。然而,他不想拍摄这样的照片,其中只有一头牛的品种是更赛牛,或者只有一头牛的品种是荷斯坦牛——他认为这头奇特的牛会感到孤立和不自然。在为每个连续不少于三头奶牛的序列拍摄了一张照片后,他把所有「孤独的」照片,即其中只有一头更赛牛或荷斯坦奶牛的照片,都扔掉了。
2023-04-17 23:03:39
91
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人