摘要: E \(dp[i][j]\) 表示前 \(i\) 个里有多少个后缀答案为 \(j\)。 \(if (c[i] == '0') \{\) \(dp[i][0] = 1;\) \(dp[i][1] = dp[i - 1][0] + dp[i - 1][1];\) \(\}\) \(else \{\) \ 阅读全文
posted @ 2024-02-08 18:40 FLY_lai 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 直接从 F 开。 F 三维偏序。 把盒子按 \(h_i\) 排序,离散化,正常跑三维偏序(注意不能相等)。 还要处理 \(h_i\) 相等的情况,可以再把 \(h_i\) 从大到小排序,然后 \(w_i,d_i\) 都要求严格大于,如果发现有一种情况是无论 \(h_i\) 咋排序都可以的,就删掉这种 阅读全文
posted @ 2024-02-08 18:39 FLY_lai 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 前三题过水。 D \(dp[i][j]\) 表示吃完前 \(i\) 个菜,胃的状况为 \(j\)(\(0\) 是健康,\(1\) 是不好)所获得的最大美味值。 E 暴力的平衡树。用 multiset 也行,一个记录前 \(k\) 大的,一个记录除了前 \(k\) 大之后的所有数。 每次修改看看是从哪 阅读全文
posted @ 2024-02-08 18:39 FLY_lai 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 题目列表 前三题过水,第四题分类讨论两个端点之间的距离和所在位置是清醒或睡眠 即可。 E 题意:一张图上有一些结点有保安,每个保安有不同的警戒度 \(h_i\),定义 一个结点是安全的 为这个结点可以到达一个保安 \(x\),且距离 \(\leq x\)。 问有多少个安全的结点。 痛失第五题 很简单 阅读全文
posted @ 2024-02-08 18:39 FLY_lai 阅读(2) 评论(0) 推荐(0) 编辑
摘要: T4 在一个平面上有一块面积无限的蛋糕,给出 \(n\) 颗草莓的所在位置和 \(a\,(b)\) 条平行与 \(x\,(y)\) 轴的切刀位置。 切刀会把蛋糕沿 \(x\,(y)\) 轴切开。因此一共会切出 \((a+1)(b+1)\) 块蛋糕。 问:现在蛋糕上草莓数量最少的一块蛋糕,草莓数量是多 阅读全文
posted @ 2024-02-08 18:38 FLY_lai 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 比赛 理理思维 第一反应居然是分块而不是线段树? 线段树解法:因为只有 \(26\),所以每个节点开一个桶完全可以,操作一二不提,操作三只需要多次查询,然后多次赋值即可。 分块解法:操作一不提,操作二懒标记,操作三枚举 \(26\) 字母算 \(cnt\),然后桶排(可以用操作一)。同时做一点优化: 阅读全文
posted @ 2024-02-06 08:54 FLY_lai 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 【树状数组是什么】 树状数组(Binary Indexed Tree, BIT) 支持单个元素修改 和 前缀查询。 比较一下: 子段和 修改单个元素 数组 \(O(n)\) \(O(1)\) 前缀和 \(O(1)\) \(O(n)\) 树状数组 \(O(\log n)\) \(O(\log n)\) 阅读全文
posted @ 2024-02-05 14:35 FLY_lai 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 【朴素 LCA】 LCA 是树的一个重要概念,意为两结点的最近公共祖先。 先给出朴素求 LCA 的代码。 int get_LCA(int u, int v) { if (d[u] > d[v]) swap(u, v); while (d[u] != d[v]) v = p[v]; while (u 阅读全文
posted @ 2024-02-05 14:32 FLY_lai 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 【倍增算法】 先来介绍一些倍增。 倍增是用来加速枚举过程的算法。 一般可以把算法变成 \(\log\) 级别 \(O(n)=>O(\log n)\)。 举个栗子。 这里有一个小人,他想去右边的目标,但是他并不知道这个目标有多远。 不过他知道目前自己是在终点的左边还是右边。 我们说,他可以一步一步走, 阅读全文
posted @ 2024-02-05 14:31 FLY_lai 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 【最小生成树是什么】 在一张图 \(G\)(设 \(n\) 个结点)中,选取 \(n-1\) 条边,用这些边把结点之间连通。 那么这 \(n-1\) 条边和原来的结点所构成的图 \(S\),就叫做 \(G\) 的生成树。 最小生成树,就是希望 \(S\) 中边权的和最小。 而求最小生成树,有两种比较 阅读全文
posted @ 2024-02-05 14:30 FLY_lai 阅读(4) 评论(0) 推荐(0) 编辑