自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 codeforces day 5 Permutation Operations

【代码】codeforces day 5 Permutation Operations。

2023-04-25 20:33:49 100

原创 codeforces day 4(含set的使用)

然后,我们还要创建两个set。我们可以用一个为0的生命值数据进行两个set中的互相清零清除。我们来分析题意,这道题的意思就是每一次都要将怪兽的生命值减去值为k的生命,并且将所有还活着的怪兽的最小攻击值用k减去然后继续这样的操作,直到怪物死光,或者k值小于等于0。即我们第一个set中的hp=0之后,我们可以用这个关键字去第二个set中清除掉,并且set还能在同时自动排序,得到最小的那个攻击值。注意到关键词,一个存活,一个最小,只要实现这两个关键点就可以完成本题,于是,本弱学到了一个新的东西set。

2023-04-23 20:20:02 116

原创 洛谷1111修复公路(并查集的应用)

我们可以对每一个输入的村庄修建的时间进行排序,先将小时间的全部修好,每一次判断一下现在拥有的祖宗节点数,当祖宗节点为一时,这样的连通块就已经变成一个完美的集合,并且我们得到了一个最小的时间。并查集是一个什么样的东西呢,就是一个祖宗带着一堆孙子的问题,而若对应到图上,我们可以看到这样可以视为一个连通块的问题。用c++自带的sort自然没有错误,但是我们还不能移动x,y所以,我们可以用结构体来储存,只对时间进行排序。N个村庄,要求连通,很明显的并查集问题,但是我们也要考虑到一个关键问题,那就是最小时间。

2023-04-20 21:27:23 92

原创 codeforces day 3(一个明显的贪心思想,疫苗包的开封)

二是,在这个人到达时候,并没有被打开的疫苗包,那么,这时我们要立即打开一个疫苗包吗?很明显不是,让我们等待这个人到达忍耐度最大w时,看一看这期间会不会有新的人到达,这样就可以最大化利用疫苗包。分析题意可得,我们首先要满足两个前提:一是要让所有病人都能够打到疫苗,二是让使用得到的疫苗包尽可能的少。首先分为两种情况:第一就是在一个人来时这时已经有一个被打开的疫苗包,那么在小于等于k的情况下立即使用。那就是让每一个疫苗包都尽可能的让更多的人使用的到。很详细的注释,希望能帮助到大家。比如,疫苗包的使用时间之类的。

2023-04-20 15:15:15 89

原创 洛谷p3406海底高铁(前缀和差分思想)

分析题意,首先,若要从1到达5城市,只能由1-2-3-4-5这样的方式乘坐,而从5到3也只能5-4-3来乘坐,这也就代表着,每一次到达一个城市都得经历他们路上的每一个城市。而这个次数值一定是和我们的选择有关的,这一点想必不用多说。答案也不难想到,利用贪心策略,让每一次每一个城市的价钱都最小,即次数*价钱的最小值,代码也就不难想到了。很简单,我们从上述题意中分析到要让某个区间内的数字全部加上,减上某个值,那么来吧!买一张c的卡,享受b的价钱,但有一些数据他是a小于后面的值的,或者有时只经过一次时用a更省钱。

2023-04-19 21:51:25 175

原创 洛谷p3397地毯(2)更新版。

因此,我们可以先将这个初始的a数组当成一个差分数组,对其进行相应的加减操作后,在对其求前缀和来得到这一个覆盖后的数组。首先原谅我的菜鸡,导致前面那一篇题解颇有疏漏,我将继续不断更新,保证随着我水平上升的同时,题解也能够更加优秀。我们先来分析题意,他的意思就是在每一次得到左上角和右下角的坐标后将这一片区域的二维数组值全部加上1。这很明显是典型的二维差分思想。然后让我们开始了解这段代码吧!

2023-04-19 20:53:59 133 1

原创 codeforces day 2

没啥好说的,比较就行了。

2023-04-19 18:43:21 43 1

原创 洛谷p3397地毯

此题约为NOIP提高组Day2T1难度。

2023-04-18 17:46:15 147

原创 codeforces day 1

我们这时候发现n-k得到的数字是2和3这是我们拥有的两枚硬币的大小,因此我们可以想到通过这样也可以排除一大批数字。很明显,没有,因为我们的面额组成是任意个k和任意个2的和,这样的操作下来,我们已经把所有得到n的操作进行完毕了。8-8很明显,8是偶数,即一定可以用2面额的硬币来表示,因此我们可以首先将所有为偶数的n面额输出为yes。6也是如上的情况,而根据这样的思路我们很容易推出任何k的倍数也一定可以表示出n面额的金额。目的很明确就是通过分析数据来得出什么样的n能用k和2表示出来。

2023-04-18 14:53:58 183 2

空空如也

空空如也

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

TA关注的人

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