自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2022牛客算法基础集训营3:智乃的数字积木

题目传送门题目大意:有N块积木,每一块积木都有自己的颜色以及数字,这N块积木颜色的范围从1到M,有k次操作,每次操作可以把一种颜色换成另外一种颜色,相邻而相同颜色的积木可以互换位置,求每次染色操作后所能排列的积木的最大数字。思路分析:对于染色前的操作,只需要把不同颜色的积木进行标记,并把每段相同颜色的积木上的数字排序后即可得到最大的数字。因此我们可以开一个数组记录原始积木的数字,在另外开一个数组记录相应的颜色,每种颜色的下标对于其相应颜色的下标。之后只需要对颜色的数组进行切段并记录

2022-02-19 10:31:40 2491

原创 GDUT_专题三:G-食物链 【图论】【类拓扑】【记忆化搜索】

题目链接题目大意:现在给你n个物种和m条能量流动关系,求其中的食物链条数。思路分析:由题目给出的数据范围与数据给出的关系,我们可以考虑邻接表建图,而对于一条食物链而言,我们需要找到生产者,之后确定各级营养级,直至最高营养级。而像这样找到一个一个阶级的顺序的问题,我们可以想到拓扑的思想,并且因为是食物链所以不会出现有环图,因此拓扑排序的思想是完全可行的,而对于拓扑排序,生产者的入度肯定为0,最高营养级的出度也肯定为0,对此我们就能确定一条最长的食物链了,并在次基础上对每个结点进行...

2022-02-19 10:02:46 189

原创 洛谷P1002 过河卒题解 【动态规划】

题目链接思路分析:由于图上每个不在边界上的点都有可能从上面向下走或者左边向右走,所以能达到这个点的方案数很明显可由上面点的方案数加左边点的方案数之和得到,由此可以得到递推公式为:f(i,j)=f(i−1,j)+f(i,j−1)而对于在边界上的点我们只需要将范围外的点初始化为0种方案即可,对此题目给出的(0,0)的起始点很难满足该操作,因此我们将起始坐标改为(1,1),之后另其他点移动相同的位置即可,这样二维数组的第0行和第0列即可标记为边界外且方案数为0。之后只需要标记出马能到达的坐标,在遍历

2022-02-17 18:07:38 563

原创 2022牛客寒假算法基础集训营3:B题智乃买瓜

题目传送门题目大意:有N个不同的西瓜,第i个西瓜的重量为wi,每次可以选择买一个瓜,半个瓜,或者不买,求购买质量分别为k=1,2,3,......,M时的方案数。每个瓜的质量都为偶数。第一行输入瓜的数量,之后输入每个瓜的质量。输出购买不同质量的瓜的方案数。思路分析:对于每个瓜都有选择买或不买两种选择,是一道很明显的背包问题,不同的是每次还能选择只买半个瓜的情况,所以这是一道01背包的变式,也是一道简单的分组背包问题。并且背包中维护的不是最大的价值数,而是维护每种质量的方案数而对

2022-02-16 17:11:50 369

原创 GDUT_专题五:H - Buy Tickets 【线段树,单点修改】

题目传送门题意:输入n,表示插队的人数(一开始没有有排队)0号位置为售票处接下来n行分别输入一个pos,val,表示插队的位置和插队的人的标号。插队的位置只能在已排队的人的位置插队。求最终的队伍的排列顺序。思路分析:每次插队后,都插在插队位置的后面,那么位置后面的人都需要后退一个空位,才能成功插入,显然这样维护起来十分麻烦。所以我们不如倒过来排,对于先排的人,他的位置便不会再改变,对于后排的人,如果已经有人排了,那么就只能寻找后面的空位。那为了方便找到想排的位置已经被占的情

2022-02-14 00:10:18 169

原创 GDUT_专题五:G - Mayor‘s posters 【线段树,离散化】

题目传送门题意:一共有n张海报,可以贴在长度为10000000 的墙上,按顺序给出张贴的海报的区间,后贴的海报可以覆盖已经贴上的海报,问最后能看见的海报的数目。思路分析:以海报张贴的顺序给海报标记,然后每张贴一张海报就用线段树标记这个区间记录下是第几张海报,如果之前已经有海报被贴上了,就更新这个区间为新的海报,算是比较直接的想法。然后对于题目所给的墙的长度虽然很大,但是海报的张数最多只有1000张,所以我们需要对题目给出的区间的值进行离散化压缩空间。之后对于区间的维护,将区间换新一种海

2022-02-13 23:43:21 380 1

原创 GDUT_专题四_K - Blocks 【组合,二项式】

1

2022-02-11 16:57:43 233

原创 GDUT_专题四:L - Happy 2006 【欧拉函数】

题目:Two positive integers are said to be relatively prime to each other if the Great Common Divisor (GCD) is 1. For instance, 1, 3, 5, 7, 9...are all relatively prime to 2006.Now your job is easy: for the given integer m, find the K-th element which is r

2022-02-10 23:31:37 201

原创 GDUT_专题三:F - Built?

题目:There aretowns on a plane. The-th town is located at the coordinates. There may be more than one town at the same coordinates.Ni(xi​,yi​)You can build a road between two towns at coordinatesandfor a cost ofyen (the currency of Japan). It is no...

2022-02-04 12:57:09 177

原创 GDUT_专题三:B - Learning Languages

题目:The "BerCorp" company has gotnemployees. These employees can usemapproved official languages for the formal correspondence. The languages are numbered with integers from1tom. For each employee we have the list of languages, which he knows. Thi...

2022-01-30 12:56:12 432

原创 GDUT_专题二:E - CD

题目:你前面有很长的车程。你有一台录音机,但不幸的是,你最好的音乐是在 CD 上。你需要把它放在磁带上,所以要解决的问题是:你有一个 N 分钟长的磁带。如何从 CD 中选择曲目以充分利用磁带空间并尽可能减少未使用的空间。假设:• CD 上的曲目数不超过 20• 曲目不超过 N 分钟• 曲目不重复• 每个音轨的长度以整数表示• N 也是整数 程序应该找到最能填满磁带的轨道集,并以与轨道存储在 CD 上相同的顺序打印它输入:n<=10000,m<=20;任意数

2022-01-29 12:38:39 445

原创 GDUT_专题二_C - 开餐馆

题目:蒜头君想开家餐馆. 现在共有 n 个地点可供选择。蒜头君打算从中选择合适的位置开设一些餐馆。这 n 个地点排列在同一条直线上。我们用一个整数序列 m1, m2, ... mn,m1​,m2​,...mn​ 来表示他们的相对位置。由于地段关系, 开餐馆的利润会有所不同。我们用 pi​ 表示在 mi​ 处开餐馆的利润。为了避免自己的餐馆的内部竞争,餐馆之间的距离必须大于 k。请你帮助蒜头君选择一个总利润最大的方案。输入格式标准的输入包含若干组测试数据。输入第一行是整数 T (1≤T

2022-01-29 11:41:31 647

原创 GDUT_专题二 — B.最长公共子序列

题目:给出 1∼n 的两个排列 P1​ 和 P2​,求它们的最长公共子序列。输入格式第一行是一个数 n (1 ≤ n ≤ 10^5)。接下来两行,每行为 n 个数,为自然数 1∼n 的一个排列。输出格式一个数,即最长公共子序列的长度。样例输入:5 3 2 1 4 51 2 3 4 5样例输出:3思路分析:求最长公共子序列,首先了解什么是子序列。(子序列:就是将给定序列中零个或多个元素去掉之后得到的结果。)如样例给出的数据,最长的子序列应该是1(2,

2022-01-27 18:56:35 723

原创 GDUT_专题一:H - Error Curves

题目:题意为:F(x)=max(Si(x))(1<=i<=n),求F(x)的最小值。思路:这算是一道三分的板子题,用于求凸函数的最大值或最小值。将函数定义域内的两端不断进行三分,从而使函数值不断逼近最大(最小)值。这道题的坑点在于要注意精度的设置要合理,不能太小,否则会T,不能太大否则不够精确会WA。代码:#include<iostream>#include<cstdio>#include<algorithm>using n..

2022-01-21 18:14:33 403

原创 GDUT_专题一:J - 最大连续和【题解】

题意:给你一个长度为 n 的整数序列 {A_1,A_2,......,A_n}{A1​,A2​,⋯,An​},要求从中找出一段连续的长度不超过 m 的非空子序列,使得这个序列的和最大。思路分析:求连续区间的序列最大和,先用前缀和优化,然后遍历每个区间的的和,利用前缀和相减就能求出每个子段的区间和,直接枚举全部情况的话,时间复杂度会高,最优情况应该是记录每个区间和的最小值,每个和减去区间内的和的最小值更新maxn,最后输出maxn。记录区间内的最小值就可以维护一个单调队列实现。代码:#i

2022-01-21 16:51:59 1342

空空如也

空空如也

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

TA关注的人

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