自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Atcoder ABC214 F - Substrings

当j==s[i]的时候:可以发现第i位字符不取时,方案数为DP[i-1][s[i]],取第i位时,我们在不取第i-1位的所有不同字符串的最后多加上一个s[i]就是方案数,即DP[i-2][27]+1,为什么要+1呢,因为可以只取s[i]一个。满足这个特征的串的个数不就是DP[i-1][s[i]]吗?=s[i]的时候:可以发现第i位字符不可以取,因为取了以后结尾必然是s[i]而不是j,换言之当前位对DP[i][j]没有影响,所以说DP[i][j]=DP[i-1][j]

2023-03-17 18:45:10 235

原创 JSOI 2016 最佳团体

给出n个候选人,每个候选人i有三个属性,能力值Pi、招募费用Si、推荐人Ri

2023-02-28 21:36:00 210

原创 Codeforces 1795E Explosions?

对这个连续子序列我们可以利用数学进行O(1)计算操作次数,根本不用回去遍历,他的操作次数就为len*(a[i]-a[i-1]),然后我们去除冗余的点,只记录a[i]和区间长度,之后我们要计算区间第一个数是否严格大于上一个数,也就是说是否要继续修改上一个区间,如果不严格大于的话,重复执行上述操作。那么我们回过头来看看,把元素分段看成一段一段递减的子序列,现在需要维护的是连续子序列的最大值和长度,所以说有些点我们不用存储,我们只要存储最大的点和长度即可,我们怎么去除连续子序列冗余的点呢?

2023-02-26 20:36:40 230

原创 Codeforces Round #842 (Div. 2) 个人题解

A. Greatest Convex题意:给t组数据,每组数据给定一个k,求出在[1,k)范围内,满足x!+(x-1)!%k==0的最大x题解:赛中可以通过观察法得知输出k-1即可,赛后可以尝试证明实际上对于x!+(x-1)!,取x为k-1,则有x!+(x-1)!=1*2*3*...*(k-2)*(k-1)+1*2*3*...*(k-2)不难发现提取公因式后,原式可以化简为:x!+(x-1)!=1*2*3*...*(k-2)*k此式一定可以被k整除,所以每组数据直接输出k-1即可。本题代码:过于简单所以略。

2023-02-26 15:46:52 1179

原创 牛客寒假训练营6 阿宁睡不醒

数据范围很大所以我们不能用常规的二维DP求解,考虑到二维dp实际上有很多冗余,如果没有坏点我们可以用数学方法O(1)求解某一个DP值,所以说,我们可以只计算必要的值,用容斥处理这题,间接计算答案。要想达到目标,要向下走x-1步,向右走y-1步,那么我们可以把向下走的操作和向右走的操作进行一个排列组合,也就是一共进行(x-1+y-1)次操作,选择其中(x-1)步放置向下操作的方案数。题意:输入n,m代表一个n*n的网格中有m个坏点,随后输入m行的x,y坐标,表示所有坏点的位置。其中u为满足条件的坏点个数。

2023-02-26 12:34:18 162

原创 Codeforces 56/D. Changing a String(DP)

给定两个字符串a,b,保证字符串长度都在1000以内,你可以对A进行三种操作,删除a中任意位置一个字符,在a中任意位置插入一个任意字符,将a中某个位置的字符更换成任意字符,输出最小操作次数,并且输出每次具体操作。

2023-02-12 23:00:00 190

原创 Atcoder-abl_d-Flat Subsequence题解(线段树+dp)

ACL Beginner Contest D - Flat Subsequence(线段树+dp)

2023-02-04 17:51:33 355 1

空空如也

空空如也

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

TA关注的人

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