自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2023.5.30codeforces训练记录

显然,对于L = b-a+1,是满足题意的,我们从x=a开始检索,显然,检索a的时候,L的值为b-x+1,这时先比较L和前面的所得的能到达的L的最小值minres,若小于minres,显然不能该L值及其往下不能作为结果,反之,则寻找sum[x'] - sum[x-1] = k的x',若无法找到,说明该L值及其往下不能作为结果,若找到了,需要判断x'-x+1即区间长度是否小于等于L,若小于等于L,则该L值能作为结果,反之,则无法作为结果。思路一:显然,当无论x,y为什么值,当+-的个数相同时,可以满足题意。

2023-05-31 00:37:11 191 1

原创 2023.5.25~5.29codeforeces训练记录

当大于n/3时,先判断该字符是否已经存在n/3个,若已存在,则无论如何,都需要找到最小的字符数量小于n/3的字符替换该位置,若小于n/3个,则先判断是否有比这个字符小的的字符的数量小于n/3,如果有则直接修改;显然,当从左边开始,若一列全为W则可以从下一列开始走,若全为B,则可以从下一列的任一行走,当遇到第一个有B和W的列时,才决定走的行是第1还是2行,然后遍历下一列,若下一列的该行为W则无法到达,反之能继续进行。填补为0,1,使得得到的数组a,在经过最少次翻转就能成为升序数组。思路:从n开始建立反向边。

2023-05-29 23:15:37 396 1

原创 2023.5.24codeforces训练记录

那么对于任意一个x,显然满足条件的个数为x/(a*b)个循环周期的个数以及1~x %(a*b)中满足条件的个数的和。我们可以使用dijkstra,每当到达一个新点时,需要做的操作是根据该顶点的t[i]数组判断能出发到其他顶点的最早时间,然后再扩展其他新点。然后输入 m 条边,每条边包含 3 个数 a b c(1≤c≤1e4),表示有一条边权为 c 的无向边连接 a 和 b。输入 n(2≤n≤1e5) m(0≤m≤1e5) 表示一个 n 点 m 边的无向图(节点编号从 1 开始)。你从 1 出发,要去 n。

2023-05-25 00:04:42 185

原创 2023.5.23codeforces训练记录

1 连接的连通块。输入 n(2≤n≤1e5) k(2≤k≤100) 和一棵无向树的 n-1 条边(节点编号从 1 开始),每条边包含 3 个数 x y c,表示有一条颜色为 c 的边连接 x 和 y,其中 c 等于 0 或 1。思路:由图可得,总共有n^k个序列,要求至少经过一条 c=1 的边的序列 a 的个数,由容斥定理可得,我们需要求出没有经过c=1的边的序列b的个数。比如:[2,2,3,4,3,1],取一次,[1,2,3,4],取第二次, [2,3]每次分配1时,将1给非0的a,b其中之一。

2023-05-24 00:24:55 167

原创 2023.5.19~20codeforces训练记录

那么长度为m的数组b,就相当于数组a的一个长度为m的滑动窗口,且滑动窗口中的最大值与最小值即a[l],a[l+m]的差的绝对值小于m。如果选定l=2,r=3,在反转后是a={2,1,3,5,4},[1,l-1]与[r+1,n]即[1,1]与[4,5]的元素互换后是a={5,4,1,3,2}。如果最小的元素x是奇数, 那么a中的奇数直接赋值到b中即可,a中的偶数又比x大,故可以通过a-x得到大于0的奇数赋值给b,故x是奇数时, 必然能构造出b;对于a的第i小的元素,应当匹配b中的第i小的元素。

2023-05-20 22:53:39 260 1

原创 2023.5.17~18codeforeces训练记录

思路1:由题意得,对于b[i],由于max(p[2*i-1],p[2*i]) = b[i],p为一个排列,故另一个数必小于b[i],为了保证字典序最小,故必有p[2*i-1]<p[2*i] ,即 p[2*i] = b[i];故可得,若向前移动 i位,会使得分乘上 a[d-i]/(i+1)。大意:已知n个茶,n个品茶师,每个品茶师一次只能喝a[i] 份茶,每喝一次则需要向前走动一位,即第一次,第i位品茶师会品茶第i个茶,第2次会品茶第i-1个.问,所有品茶师都无法再喝茶时,每位品茶师喝了多少份茶。

2023-05-19 01:32:01 215 1

原创 05.16codeforeces训练记录

当字符串中的字符不能与其他任意字符互换时,不妨设i位置上s[i]不能互换,则有 i-k< 0 && i+k>=n ,则得出 n-k <= i <k ,故当n-k < k时,[n-k,k)上的元素不能任意互换,故需要判断这个区间上s与t的字符是否相同。思路:当使出k力,有k*(k+1)/2 >2n时,由于1+2+...+2n = n*(2n+1) ,模上n为0.故每2n为一个循环。大意:给定长度为n的两个字符串s,t ,并给出k,每次操作,能使字符串中的任意字符与距离为k或k+1的字符交换位置。

2023-05-17 00:42:42 349

原创 码题集 硬币塔

将硬币塔的结构视为数轴,分区间讨论结果的分段函数。通过递归实现问题的解决。

2023-03-07 00:13:16 451 2

空空如也

空空如也

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

TA关注的人

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