自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 luogu [PKUSC2018] 星际穿越

设dp[i][j]为i位置向前跳2^j步最远的点,很容易看出每个点向前跳1步就是题目给定的a[i],所以有dp[i][0]=a[i](i>1),由于i位置向前面的跳跃步数可能比i后面位置向前跳的步数小,导致不是最优(如i的a[i]大于a[i+1]会导致i跳到小于i的位置会花费更多步数),所以要从最后面n开始递推,所以有dp[n][0]=a[n],dp[i][j]=dp[dp[i][j-1][j-1]。首先从求解角度,题目求的就是[l,x]的步数总和-[r+1,x]的步数总和。中的其中一个星球,保证。

2024-11-30 00:45:46 1287

原创 HDU 6107 Typesetting

然后进行倍增递推,在dp[i][j-1]不为0的情况下(即递推的前提是前半部分得能放),具体递推为dp[i][j]=dp[i][j-1]+dp[i+dp[i][j-1]][j-1],表示单词i的下2^j行能放的单词数由单词i的下2^i行和单词i+dp[i][j-1]的下2^j行得到。处理完dp数组后进行查询的判断,定义fun1函数为当没有图片时能放的行数,从log2[n]到0遍历记录ans和i的值,最后再特判一下加上剩下的dp1[i][0]fun2函数为从i个单词到lmt行能放到第几个单词。

2024-11-29 01:57:57 1588

原创 luogu P4155 [SCOI2015] 国旗计划

为了使每个区间尽可能覆盖最大的范围,可以贪心的对区间进行排序,这里对每个区间的左端点进行了排序,接下来按照题意如果一一对每个区间进行枚举达到n^2的复杂度会超时,可以考虑倍增法对于每个区间记录倍增若干次后能到达的最远的区间(保证范围不超过对当前区间的相对值m),g[j][i]代表j区间倍增2^i次后达到的最远区间,先利用双指针维护每个点能到达的最远区间后进行递推,递推方程为g[j][i]=g[g[j][i-1]][i-1]。A 国幅员辽阔,边境线上设有 $M$ 个边防站,顺时针编号 $1$ 至 $M$。

2024-11-28 18:43:10 715 1

原创 并查集简述

每个集合用一颗树来表示,树根的编号就是整个集合的编号,每个节点存储他的父节点编号,p[x]表示x的父节点编号。

2024-05-09 12:19:55 335 1

空空如也

空空如也

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

TA关注的人

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