自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Remove the Bracket

分析我们会发现当xi和yi这两个值处于两个极端(一个尽可能大,一个尽可能小)时,我们的式子的值才能最小化;又因为(xi-s)*(yi-s)>=0,xi*yi>=(xi+yi)*s-s*s;又因为xi+yi=a[i],所以a[i]*xi-xi*xi>=a[i]*s-s*s;这时我们二分找到当前最小的xi的值,之后我们再利用dp,分别用xi,yi跟前面的x[i-1],y[i-1]相结合结果取最小值即可。注意当我们数组中含有0的时候,我们最小值不一定是0。

2024-04-03 17:15:42 114 1

原创 Longest Increasing Subsequence

这个就表明把a[i]删除了,之后我们在从当前的位置出发,将当前的点的里面个数+1,直到我们现在的点最大值转换的点全部不在了,那么我们就将这个点原本的异或值抵消,同时它的f[i]现在减少了1,再把现在的(f[i]-1)*(f[i]-1)异或上,另外这个点也没有了,也要删,直到我所影响的遍历完,最后输出值就行了。

2024-04-03 10:55:12 154 1

原创 思维:Shocking Arrangement

很容易发现当数组全是0时,是"NO";题中的数据保证a[1]+a[2]+....+a[n]=0,因此在枚举的时候,就能保证a[l]+a[l+1]+..a[r]<max-min;先将0放在最前面,不影响结果。如果现在数组中的和为负数,优先放入正数;如果现在数组中的和为正数时,优先放入负数。

2024-03-29 21:31:17 317 1

原创 水水水水水

但是我们在直接遍历斜线的话,会不是很好想,但是也是能写出来的,根据行数和列数的大小分类讨论,总共要遍历个数是(n+m-3)/2,如果(n+m-3)是奇数的话,最中间的那一列我们不用统计,因为(n+m-3)为奇数的话(n+m-1)也是奇数,中间的那一个对应的回文串也就是自己。给定一个n*m的图,方格中的数仅由1和0组成,要求从(1,1)到(n,m)的所有路径都成回文串需要修改的最小数量。但是还有一种更简单的方法就是我们统计(i+j-1)这一条斜线上的0和1的个数,之后我们再从两边统计即可。

2024-02-18 21:03:44 575

原创 【无标题】

我们删除的只有前面的几个数,后面的我们只能在空的单元格内添加平台,因此,我们先从后到前面来进行遍历,如果当前的数为0时,我们要付出的代价就是a[i]=x+a[i+k];如果种数大于k的话,在第一个b数组中,我们可以直接消除前k个数,在第二个数组中,前面已经消除的我们要用0来填上,这时剩下(k-1)种,第三个数组中,也是最多可以消除(k-1)种。我们要找出m个大小为n的非递减的b数组,使得a[i]=b[1][i]+b[2][i]+....b[m][i]‘),那么s[i]=s[i+m]=..='1';

2024-01-14 23:03:36 1509 1

原创 2023年女生专场

2023女生专场

2023-10-24 11:40:42 186 2

原创 B. And It‘s Non-Zero(思维+预处理)

在写的时候,没有想那么多,直接进行计算[l,r]中出现的二进制位数上为1的个数,然后找到所有位数上个最多的,结果就是r-l+1-max.就这样很愉快的TLE了。t组数据,每组数据给出一个[l,r]的范围,通过删去其中的数,使得剩下的数通过与运算的值不为0.输出删去个数最小的。:通过前缀和处理出[1,2e5]中二进制中所有位数上为1的个数。

2023-08-10 16:24:41 72 1

原创 D. Twist the Permutation

看是否可以通过操作得到数组,不能输出-1,能的话输出第i次操作时右移的次数。再左移回到未操作时的位置,然后小于这个数的都要跟着当前数一起向左移动相同次数。思路: 会发现在第i次操作时,只对前i个元素有影响,而对后面的数字没有影响,因此,题意:n次操作,第i次操作选择前i个元素整体向右移任意次,给出最终的数组,我们可以从大的数开始向小的数枚举,每次找到当前数的右移的次数,

2023-07-28 11:02:10 62 1

原创 C. Get an Even String

2:出现过,此时就是min(把当前的字符删去;不删).不删的时候找到与他最近的那个位置之间的个数;dp[]表示的是当前删去字符的最小数量;st[]表示的是当前字符最后出现的位置;1:当前的字符在之前还没有出现过,这就将将当前的字符暂时删去;每次找的都是最优解。

2023-07-27 11:32:31 79 1

原创 2021 Shandong Provincial Collegiate Programming Contest C - Cat Virus

题意。

2023-07-17 10:01:56 141 3

空空如也

空空如也

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

TA关注的人

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