自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CF1792

可以发现,最后一次动的一定是(1,n),剩下2,3....,n-2,n-1,倒数第二次动(2,n-1),依次类推。所以当我们有一个[k,n-k+1],这里面数字在排列上位置有序,则这一段不用动,动外部即可。考虑如何求这个区间最大长度,首先长度最小时,k为。CF1792B,第1类肯定全选,第二类与第三类交替选,这样可以让两个人都不会下场,然后第二和第三类多的那个看看能演多少,如果它也能演完,再考虑第四类就可以。CF1792A,当怪物血量为1时,可两个一起杀,否则就单杀。,然后往两边扩展即可。

2024-11-27 13:52:52 193

原创 CF1923

CF1923C,我们想让一个区间内两数组和相同,相应位置的数两两不同,我们可以想,若区间内有奇数个,则。CF1923B,首先,肯定是集中火力先把靠近自己的打掉,所以按与自己距离排序,然后顺序打即可。CF1923A,稍加推导可发现,所有1的块之间隔着的0的个数即为答案。个减1.我们只需判断区间内有多少个1即可(1不能减1)个数减1,其他数加一,有一个加2,偶数个则。

2024-11-24 18:11:55 229

原创 CF1930

由于我们要让得分最大化,肯定是大的尽量选,所以让小的和小的凑对,大的和大的凑对,具体实现就是先排序,让后编号为奇数的都取。再排序就可以,但他要不可重,所以当有一段重复,我们让第i个数为min(i-1个数-1,i个数)即可.,所以直接贪心,发现1则填1,下面两位不用管即可。,首先考虑S可重时,我们直接取所有。,这样就可以了,所以可以构造。表示以i为结尾的答案和,若。,上一题的升级版,由于。

2024-11-22 15:30:44 269

原创 CF1976

首先,可以发现可能人员爆表的只有一个职业,我们使它是。,可以发现,当一个不删时,有一个节点,结点前的贡献都是。更近,就先变,在挪到n+1处,否则直接挪,取min。,当我们删这个点之后的点求从总贡献中减。,若删这个点之前的点,若删去的点贡献为。,否则它会使后面一个点从贡献。,我们要从其中挑一个拿到。,首先,在1~n中每个。,不用额外耗费,否则若。,找出这个点,计算。

2024-11-20 15:38:34 256

原创 CF1946

先排序,然后可发现,如果中位数下一个数大于它,则加一次就行,否则计算从中位数开始,和中位数相等的有多少个,加这麽多次,便可以将中位数变大1。,最小值最大,单调性易证,考虑二分。每次二分到一个最小值,dfs取check,能分开就分开,看最后分出的段是否大于k。,先求最大字段和(可以一个不选),每次将这些数相加,将和插入它们之中,所以就是最大子段和*(1+2+4...+

2024-11-18 13:34:53 190

原创 CF1969

CF1969A,通过手模发现,当有两个人互为最好朋友时,2张邀请函(给他俩),否则邀请3人(比如3人A,B,C,a->B,b->c,邀请ABC,AB会来。表示a的前i项操作j次,然而,在定义时,容易发现,我们不好判断在 j次操作中,的不买(怎么都亏本),一定买k个以上(要不还是亏),要被B白嫖k个,其它的。可发现这里都是一段一段改变的,所以可得转移式。CF1969C,显然,贪心不行,所以dp,设。B策略,因为买一个会让A亏。CF1969D,考虑A的策略,为了方便,我们钦定状态中,,mn数组可预处理。

2024-11-12 15:17:12 178

原创 CF1998

rs为n/2右面第最远的b[i]为1的位置,ls为n/2+1最近的b[i]为1。再考虑k没有全部加到选出的数里(为什么会这样?因为当我们想为一个数加k可能会改变他的位置),二分中位数即可。CF1998C,先将数组排序,首先考虑没有加k情况,答案一定是。的特殊路径全没用,而一条路径u->v,E能在B前到v,CF1998D 注意到一个性质,当B从s出发,起点。的和,则我们将原排列最后一数提到最前面,则原。,否则先考虑k全部加到我们要选的数里,,所以u->v路径E能获胜s的范围为。

2024-11-11 14:25:02 202

原创 CF1999

CF1999E,由于它每次将一个数除以三时要将另个数乘三,且我们要让全变为0出的次数少,可以想到将一个数除为0后别的乘0都往它身上乘(因为这样不会增加除的次数),这样只有第一个被除的数的次数需要乘二,我们让最小的数作为第一个。CF1999D,要将s中所有问号改掉,由于不要求连续,s与t能匹配上的字符就匹配,碰到问号就直接将他改成与t需匹配的位置相同字符,其他问号随便改个字符即可。CF1999F,由于只有01,0做中位数时不会产生贡献,所以我们只要考虑1的贡献,而当1有贡献,选的k个数中至少有。

2024-11-09 13:56:39 165

原创 CF1988

CF1988E,用单调栈处理每个点左面与右面第一个小于它的,计算不删除时每个点贡献,然后分类讨论删除的位置位j时对每个f[i]有什么贡献即可。CF1988C,每次选数最后一个一定是n,所以从n最低1位1开始置为0,一次向上枚举即可。CF1988B,可将每段0合并成1个0,若1总数>合并后0总数,则可,否则不可。CF1988A ,因为每次可以加k-1个1和1个n-k+1,加一些特判。代表u点被第i次选到,可证最多选log+1次,就可以直接做了。CF1988D,树形dp,设。

2024-11-08 15:37:49 208

原创 CF1986

当桶中有偶数个时,第1个与第2个配,第三个与第四个配.....,当有奇数个,需要有一个不用参与改变,它将两边分开,每向右挪一次,将右面的一部分给左面。考虑它要求选i尽量小,i相同j尽量小,所以当某个位置未变为不合法,则比它i/j大的位置不会用到,就顺次往下,统计答案就行。由于要让改后字典序最小,肯定是吧c字符串中小的往前放,于是我们对ind和c排序,将ind去重(要不就被覆盖了),然后将对应位置赋值就行了。的复杂度,因为要n-2个符号,所以必有一个两位数,我们枚举这个两位数是啥,然后处理序列。

2024-11-06 15:16:36 281

原创 CF38题解(ABCE)

这题一眼$dp$或贪心,由于$n$较小,考虑$dp$,设$dp_{i,j}$表示考虑到$i$,最后一个固定的为$j$。$dp_{i,j}(j<i)$由$dp_{i-1,j}$转移$dp_{i,i}$由最小的$dp_{i-1,j}$转移。棋盘上的马和车能吃到的位置,和放马后后吃掉原马和车的位置都不能放。显然,这是一个签到题。容易发现,从a升到b其实就是$d_a$到$d_{b-1}$的和,做个前缀和就好了。注意到,$a_i$和$n$的范围都不大,可以枚举百叶窗长度,然后求一下面积,最后取个$max$就行。

2024-10-30 11:21:24 339 1

空空如也

空空如也

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

TA关注的人

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