自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 每日一训(5)

dp[i][j],i表示对应状态,j表示最后一个取的值位置,dp[i][j]是一个bool值,表示此状态可取,用临接表存边的相关信息。每个单独取,用dfs搜索对应边,如果对应状态已经遍历,或者已经存在这种状态,便跳过,否则dfs对应状态和取值。n

2024-04-25 22:51:55 255 1

原创 每日一训(4)

在函数变化过程中,可能存在有小数的情况,但是小数部分不影响根号的取值,所以可以将函数值全部向下取整性质:最大值在根号至多6次后小于二,也就是对后面的f[i + 6]取值贡献为0,或1,因此对整个区间进行分块,每个区块记录一下左端点l,和右端点r,贡献值v,以及让贡献值v+1的最小值,贡献值可以通过函数顺着推过来,最小值可以倒推,v+1=sqrt(f(i + 1)+ a[ i ] )更改一个值后,判断顺推是否满足接下区块的最小值//return ret;ll n, q;

2024-04-24 22:52:50 458

原创 每日一训(3)

如果c有剩余,那么从p中的顺序数中找出还要多少个顺序数pos,将n,v+1,v,v-pos+2移到最前面,再将v -1,v - 2,2 ,1移入,最后移入v,即可构造。2. qi < qj 且 posi > posj ,则w(pos(i)) = qi < qj = w(pos(j)),w为逆序,q为顺序,贡献为1。3. qi > qj 且 posi > posj ,则w(pos(i)) = qi > qj = w(pos(j)),w为顺序,q为逆序,贡献为1。c为负数,基数,且过大时都是不可能构造出来的。

2024-04-23 22:02:44 435

原创 每日一训(2)

对于整个棋盘而言,在对角线上下棋,会让棋盘剩余面积为(n-1)*(n -1),在其他地方下棋,由于复制的原因,剩余面积为(n-2)*(n-2),也就是边长-1和-2,对于剩余的面积而言,可以选择在对角线下和其他地方下,那么剩余面积的方案数就是n-1和n-2由推导出来。假设现在新加一条边,让n边成n+1,我们可以选择在(1,1)下,或者在(1,2-n)和(2-n,1)下,有2*i-2种选择。二进制拆分:要使值增加,对于ak的最高位1来看,左右两边的区间,应该为 0 1 0,或者 1 1 1才能增加,

2024-04-22 21:33:21 814

原创 每日一训(1)

对于每个k,最多需要max(ai)/ k 次去除所有单个的值,经过一个k后会形成多个以0为分界线的连通块,再在连通块中经历k,又可以形成连通块...我们最需要统计对应次数连通块的个数,最后相加即可。对于所有球而言,如果一个球的个数大于其他球的个数,那么这个球可以和其他所有球为一组,答案即为ai,否则为取过的球的个数总和和ai除二(上取整),用背包来做。dfs 对于每一个数,取mex或者不取(用bool数组0和1来判断),当取完每一个数后,更新答案,找到最大的答案为止,更新bool数组。

2024-04-21 20:41:51 674

空空如也

空空如也

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

TA关注的人

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