自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Best Cow Fences 中讨论浮点精度问题

这里对为什么对序列做此处理给出笔者的个人理解:对于本次搜索的平均值, 设为mid, 原序列设为a, b是序列a的子段, len表示序列b的长度, 而我们需要判断的是(b1+b2+…由此我们把问题转化成了判断序列c是否大于0, 对序列a全部做减去mid的处理, 可以知道c是处理后的a序列的子段, 于是问题变成了一个我们熟悉的问题, 即为求序列中的最大子段和, 因为该子段对长度有限制, 所以我们不方便使用动态规划, 采取取序列前缀和数组右端点减去左边最小点的策略(关于细节可以看看我之前写的博客。

2024-09-16 11:08:16 812

原创 Tallest Cow

FarmerJohn 有n头牛,它们按顺序排成一列。FarmerJohn 只知道其中最高的奶牛的序号及它的高度,其他奶牛的高度都是未知的

2024-09-12 15:13:37 979

原创 Fractal Streets|分形之城

令红色格子对应为编号为1的房子, 此时如果只是单纯的将旋转后的图形平移覆盖原图, 那么红色格子在右上点, 但是所有城市编号1的房子都是在左上角, 所以我们并不能单纯的平移, 只能通过沿x轴翻转矩阵(注意, x轴为垂直向下的直线), 于是推导出(x', y') = (y, x)矩阵顺时针旋转90°,即逆时针旋转270°, 把270°代入上面的数学公式, 可得。(x', y') = (y, -x), 观察上图, 也确实符合对应结论。度的公式, x, y是原坐标, x', y'是变换后的坐标。

2024-09-09 14:42:15 409

原创 费解的开关

乍看到题目或许会觉得有些难以下手, 哪怕是暴力算法一时半会也并没有思路。为什么会产生“就算是暴力也做不了的吧”的想法呢, 我想应该是因为十字型不规则的覆盖方式加“图”, 这种方格图加不规则的覆盖方式就给人一种很难把控继续下去会发生什么, 看到这里的读者不如思考一个比原问题更简单一点的问题, 试问, 对于一个给定5x5的01矩阵, 是否可以通过有限次十字覆盖使它全为1呢, 如若不能, 进行到何种程度能给出这么一个结论, “以十字覆盖形式用元也不能使其成为全为1矩阵”

2024-09-05 20:49:16 545

原创 起床困难综合症

我们仔细思考为什么会出现错误, 确定代码符合优化三的逻辑且并没有出错的情况下, 发现, 对于数m , 若m的二进制位有k位, 那么当二进制位上全部取1时, 所得的结果其实是可能大于m的, 倘若此时ans = o0|o1的值完全由o1主导, 那么所得的最大值ans其实是由一个超过m范围的数提供的, 答案在此时也就没有了意义, 意识到了这点, 我们重新整理一下思路。o1=o2, 可以预见, 如果ori越大, 最终后续二进制位上可选择范围是越小的, 所以我们此时选取o2对应原二进制位0。于是我们有了下面的代码。

2024-09-05 09:41:58 545

原创 P1115 最大子段和

目光来到最后一行, 注意到, 以5为右端点的区间, 最大子段和为pre[5]-min(pre[0], pre[1], pre[2], pre[3], pre[4])前置芝士:对于一个数列a,若数列pre中的每一项都是数列a前n项和, pre即是a的前缀和数列(pre[i] = a[0]+a[1]+...+a[i])注意到, 设以端点i为右端点的区间最大子段和为f(i), 那么f(i+1)为max(f(i)+a[i+1], a[i+1])对于长度位5的数组有如下的组合, 表示区间[i, j]

2024-09-01 19:55:57 330 2

空空如也

空空如也

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

TA关注的人

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