• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

RomanLin

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

11 2024 档案

【分块】LibreOJ 6282 数列分块入门6
摘要:题目 https://loj.ac/p/6282 题解 数据范围 \(1 \leq n \leq 10^5\),因此进行分块最多分 \(\sqrt{10^5} ≈ 318\) 块。且数据是随机生成的,因此插入数据后,每个块的长度期望值为 \(\frac{318+(318 + 100000/318)} 阅读全文

posted @ 2024-11-30 16:27 RomanLin 阅读(46) 评论(0) 推荐(0)

【二分+前缀和+后缀和】codeforces 2026 D. Sums of Segments
摘要:题目 https://codeforces.com/problemset/problem/2026/D 题意 第一行输入一个正整数 \(n(1 \leq n \leq 3e5)\),第二行输入 \(n\) 个整数 \(a_1, a_2, ..., a_i, ..., a_n(-10 \leq a_i 阅读全文

posted @ 2024-11-28 21:55 RomanLin 阅读(137) 评论(0) 推荐(2)

【分块】LibreOJ 6281 数列分块入门5
摘要:前言 对一个 int 类型的非负整数进行开方下取整,最多只会开方四次大小就不会再发生变化。一个大于 \(0\) 的正整数开方下取整最后的结果比如是 \(1\),而 \(1\) 开方的结果仍然会是 \(1\);\(0\) 开方的结果仍是 \(0\)。 验证int类型整数最多可以开方的次数的demo # 阅读全文

posted @ 2024-11-27 22:46 RomanLin 阅读(61) 评论(0) 推荐(0)

【分块】LibreOJ 6280 数列分块入门4
摘要:题目 https://loj.ac/p/6280 题解 将 \(n\) 个元素的数组 \(a\) 按块长 \(\sqrt{n}\) 进行分块处理。为每个块设置两个懒添加标记 \(add[i], sum[i]\),分别代表这个区间每个元素共同添加的数值大小,区间和(不包括懒添加的值)。 对于区间加操作 阅读全文

posted @ 2024-11-26 23:51 RomanLin 阅读(48) 评论(0) 推荐(0)

【异或运算】codeforces 1153 B. Dima and a Bad XOR
摘要:前言 异或运算:是一种在二进制数系统中使用的逻辑运算。它的基本规则是对两个二进制位进行比较,如果这两个位不同,则结果为 \(1\);如果相同,则结果为 \(0\)。 异或运算的规则 \(0\) XOR \(0\) = \(0\) \(0\) XOR \(1\) = \(1\) \(1\) XOR \ 阅读全文

posted @ 2024-11-25 23:05 RomanLin 阅读(50) 评论(0) 推荐(1)

【分块】LibreOJ 6279 数列分块入门3
摘要:题目 https://loj.ac/p/6279 题解 将 \(n\) 个元素的数组 \(a\) 按块长 \(\sqrt{n}\) 进行分块处理。为每个块设置一个懒添加标记 \(add[i]\),代表这个区间每个元素共同添加的数值大小。 对于任意一个无序数组,想要维护出该数组内某个值的前驱(即小于某 阅读全文

posted @ 2024-11-25 22:39 RomanLin 阅读(64) 评论(0) 推荐(0)

【分块】LibreOJ 6278 数列分块入门2
摘要:题目 https://loj.ac/p/6278 题解 将 \(n\) 个元素的数组 \(a\) 按块长 \(\sqrt{n}\) 进行分块处理。为每个块设置一个懒添加标记 \(add[i]\),代表这个区间每个元素共同添加的数值大小。 对于任意一个无序数组,想要维护出该数组内小于某个值的元素个数, 阅读全文

posted @ 2024-11-25 22:38 RomanLin 阅读(77) 评论(0) 推荐(0)

【分块】LibreOJ 6277 数列分块入门1
摘要:前言 分块是一种优雅的暴力,将数组按块长 \(\sqrt{n}\) 进行分块,可实现区间加法、区间求和和区间逆序对计数等场景,进行 \(m\) 次操作的时间复杂度:\(O(m\sqrt{n})\)。 对于整个块都进行操作,可以用打上标记的方式来取代操作这个块的全部元素,由于最多只需要处理 \(\sq 阅读全文

posted @ 2024-11-22 21:15 RomanLin 阅读(103) 评论(0) 推荐(0)

【字符串哈希+二分】AcWing 3508. 最长公共子串
摘要:题解 首先思考暴力枚举长度为 \(len∈[1, min(strlen(s), strlen(t))]\),最差情况下为字符串 \(s\) 和字符串 \(t\) 全为长度为 \(10000\) 的全英文字符串,时间复杂度: \(O(n^2)\),显然会超时。 容易证明的是:若存在一个长度为 \(x\ 阅读全文

posted @ 2024-11-19 23:17 RomanLin 阅读(59) 评论(0) 推荐(0)

 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3