自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 P6672 [清华集训2016] 你的生命已如风中残烛

那么我们考虑让题目变成引理的形式。如果说在数列的末尾加上一个。我们现在就可以统计答案了。由于我们在数列末尾加了一个。,那么满足使得所有前缀和为正数的排列的数量为。但是这跟原题有一点区别。且前缀和为非负整数,所以不能直接做。,我们为了除去它带来的影响,要除一个。,是不是就可以用引理了呢?这一个引理就是说:有。,所以排列数量就变成。,现在加了一个,变成。一个非常神奇的思路。

2024-08-15 19:20:11 1212

原创 【导数】学习笔记

极限描述的是在自变量的某一变化过程中,函数值的变化情况(废话)。在此之前还得讲一些乱七八糟的东西:左、右邻域与去心邻域。按照直接理解来说,邻域就是附近的区域。在这里,我们定义x0x_0x0​x0−Xx0Xx0​−Xx0​X,其中XXX为一个正数(不过这个东西好像用不到)。自然地,去心邻域指的就是不包括中心的邻域。我们定义x0x_0x0​x0−Xx0∪x0x0Xx0​−Xx0​∪x0​x0​X。

2024-08-14 20:31:21 1740

原创 CF1566C MAX-MEX Cut

如果不可以,可以打上标记,等后面的,看看可不可以合并。,那么看看是否可以和前一列合并。,那么肯定是直接合贡献更大,答案直接加。

2024-08-14 19:18:42 402

原创 CF1932G Moving Platforms

然后我们就可以用 exgcd 求了,这里讲一下 exgcd 的执行过程。最短路很明显可以用 dijkstra 解决,我们考虑高度如何处理。对于每个点,有一个初始高度,每个单位时间会变化某个定值。时,即可通过,然后就可以求出最快的可通过的时刻。为满足题目要求,我们设在。那么我们就可以求出通解。

2024-08-13 18:49:22 1000

原创 P3119 [USACO15JAN] Grass Cownoisseur G

一个有向图,每个点上有一个宝藏,走到这个点时可以获得这个宝藏,但只能获取一次。有一次走反向边的机会,从。因为强连通分量两点之间可以互相走到,这样可以保证获得宝藏数多且不需要使用机会。先进行缩点,这样可以保证现在的图上无环。缩点后,我们考虑存图,可以用。,可以达到走反向边的效果,剩下的边按照原图建即可。除了原边,还要建跨两层的边。水过,我这篇题解用的就是后者的方法。最后跑一下最长路记录答案,输出即可。对于每一条边,设这条边起始点为。求最多获得的宝藏数。建图后就是一个有向无环图。

2024-08-13 18:47:55 1196

原创 CF1956D

我们在区间里取两个数,对他们本身进行操作,最多通过两次操作使它们变成。这个式子可以使用区间 dp 维护,枚举断点即可。再对这两个数所在区间进行操作,使它们变成。接下来对其中一个数进行操作,使它变成。给定一个序列,定义一次操作为将区间。值,求最后序列最大值以及操作方法。以此类推,可以将数列里所有数变成。由于可以不进行操作,所以我们要与。最后变一次,让整个序列全变成。看到条件,首先考虑理论最大值。,理论可以让整个序列变成。现在已经处理好最大值,设。

2024-08-12 07:36:40 458

原创 P2856

然后我们要求确定的奶牛数,可以将每个字符串表示成一个数,用数组存起来,对这个数组进行排序,最后暴力判断与左边和右边是否相同,取最大值输出。考虑暴力分配字母在哪个按键上,可以开一个数组记录,令这个数组名为。数组可以用深搜来求。

2024-08-12 07:34:59 449

原创 CF1609D

我们考虑一个联通块的最大度数,设这个联通块有。如果需要判连通性,可以使用并查集解决。条边,所以最大度数是最大的。

2024-08-11 12:55:18 421

原创 CF1338A

我们将输入的数组遍历,对于当前的数,如果这个数比前一个数小,我们就对他进行操作。能否比下一个数大,如果可以,将答案与。因为数的最大减最小值是。遍历,看看当前数加上。取最大值,最后输出。

2024-08-11 12:52:24 316

原创 CF1213D1

这题我们需要两个数组,一个存这个数可以出现多少次,另一个存到这个数的次数。,那么我们将个数加一,次数加上与上一个变出这个数的操作间隔次数。对于每个数,我们考虑这个数能变成哪些数,每次对这个数除以。我们在输入时取数组中最大值,方便最后输出。遍历到最大值,如果这个数出现次数大于。,意味着此代码可以同时通过简单和困难版。,我们就将答案取最小值,最后输出即可。,如果这个数的出现次数小于。简单版和困难版区别就在于。,但本质做法没有区别。

2024-08-09 14:08:12 616

原创 CF460B

这题暴力枚举数会超时,所以我们考虑枚举数字和,因为。如果符合,就将答案加一。,看看数字和是否符合。

2024-08-09 14:07:31 295

原创 CF1207F

状态转移方程就是:当他为低的时候,$dp_{i+1,0} = min(dp_{i-1,0}+ a + 2b)那么我们分类讨论一下,发现可以用二维 dp 来实现,第一层表示低,第二层表示高。当他为高的时候,$dp_{i+1,0} = 10^{18}这道题第一眼肯定会想到 dp。这题在不需通车的地方可以保持。的高度,也可以下降变成。为到这个位置的最小费用,

2024-08-08 21:01:09 1129

原创 CF1907F

那么我们要找到一个点,使它可以通过移位或反转成为一个有序序列。第一种操作不会改变数列的顺序,第二种操作改变元素的正反。这题我们把序列当做一个环,我们分类讨论两种操作。如果不能通过操作成为有序序列,直接输出。否则我们需要找到这个点,然后判断最小值。

2024-08-08 14:10:28 273

原创 CF1659C

那么我们比较不迁都省下来的总费用与迁都哪个小,然后直接输出。对于当前位置来说,我们要么攻占和迁都,要么只攻占。

2024-08-08 14:08:49 204

原创 P3166

看到题面,觉得正着想有点难,考虑用整体减去不满足的就是答案。求在网格上,三点都在格点上的三角形个数。前两种都可以直接考虑,以第一种为例,在。在网格里选三个点,方案数是。第二种同理,方案数是。考虑第三种,先选择两点。要想坐标为整数,就要。

2024-08-07 20:15:31 663

原创 CF1615C

的数量是否相同,如果相同那么我们统计他们相同位置不同值的个数,根据性质二可得答案就是他们不同的个数。在两个不同位置进行操作,相当于交换两个位置的状态,剩下位置因为经过偶数次变换,所以不变。的个数不相同,我们继续在分类。,如果相同位置不同值的个数大于极大值,就输出。在一个位置操作两次与没有操作是一样的。否则输出相同位置不同值的个数。那么这题的思路就是统计他们。,因为操作一次他最多会让。

2024-08-07 16:53:43 488

原创 CF1896C

根据这题的题意,先拿一个结构体将题中的。数组也按照值从小到大排序,再用一个。分别表示值和下标,然后创建一个。数组存起来,里面存两个变量。个数判断一下是否大于等于。数组按照值从小到大排序,存储是否合法,初始化为。,然后下半部分也是同理的。小放一起才可以符合题意。个数判断一下是否小于。然后把这两个数组排序,

2024-08-07 16:52:43 405

原创 CF868B

在同一平面内,有三个障碍物和两个点,障碍物不能跨越,问能不能从一个点走到另外一个点。先把输入的变量处理一下,然后我们判断相邻的点有没有解,然后输出。

2024-08-07 16:52:02 266

原创 ABC268F

这题要我们求最后字符串拼起来的最大值。因为任意两个字符串交换顺序是不会改变大小的,所以我们可以利用一种类似与冒泡排序的方法。那么我们可以用一个类似于赋比重的方法,让数组排一次序就可以得出答案。个字符串前面才可以使最大值尽可能大。

2024-08-07 16:50:05 689

原创 P9913

的方法,用一个大正方形,下面横着放。的方法,用一个大正方形,下面横着放。的方法,用三个大正方形,下面用。所以我们只需要特判,然后输出即可。通过手画可得在一到八的范围内,首先,我们通过题意可以知道。从递推我们可以得出,只有当。时,不可以分为题目需要的。再往下可以用递推得到。

2024-08-07 16:49:15 1243

原创 P1401

只需要把每两个数全部判断一遍看看是否越界,然后就可以输出了。

2024-08-07 16:48:29 319

原创 CF467B

位不同就可以成为朋友,那么这题的思路就是暴力。位士兵与 Fedor 异或为。题目说如果二进制最多有。

2024-08-07 16:47:35 461

原创 CF254B

这题的思路就是枚举每一天看一下需要多少人,因为一个人不会用两个人的额,所以我们只需要把每天需要的人数取最大值就可以了。ps:这题要开大空间,否则会 WA。

2024-08-07 16:45:46 311

原创 CF982B

外向者:此类乘客总是会选择已有一人就坐(当然是内向者)的那一排,如果有多排都满足条件,他会选择。内向者:此类乘客总是会选择两个座位都是空的那一排就坐,如果有多排都是空的,他将会选择。这题我们可以用两个堆,一个大根堆和一个小根堆,分别用来表示内向者的首选和外向。因为一开始座位都是空的,所以全部的座位都会分给内向者,每次选座位时,堆顶人。以及乘客上车的顺序。若当前剩下一个座位,就将堆顶弹出。初始时,公交车是空的。个站,每一站将上来一名乘客。最小的那一排中任意一个空座坐下。最大的那一排的空座坐下。

2024-08-07 16:44:49 835

原创 P1135

深搜看一下是否会超出边界,如果没超出就搜索,最后看一下答案是否。被更改,如果没被更改就输出。

2024-08-07 16:43:59 439

原创 CF1863B

这题也是比赛赛题,赛时手打了个快排,然后T了,40分。

2024-08-07 16:41:38 589

原创 CF1870B

模拟赛时过的一道题,看了大佬的题解,感觉不用那么麻烦。

2024-08-07 16:39:30 1024

原创 CF119B题解

个定理熟练度的平均数和已经配好平均数的最大值。个定理被配对,我们要让熟练度最大,就要让剩下中最大熟练度。个定理,那么此时的熟练度就是这。

2024-08-07 16:35:56 395

原创 CF140B题解

我们看一下思路,如果这张贺卡是原来的朋友寄过来的,自己发给自己或发不出去的话,继续循环。否则输出答案,直接退出。的复杂度也是可以过掉这道题的。

2024-08-07 16:31:42 381

空空如也

空空如也

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

TA关注的人

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