随笔分类 -  题解

1
Qoj 9111 Zayin ans String / ABC 356 E
摘要:Qoj 9111 Zayin ans String / ABC 356 E 谨以此帖记录一个有意思的 Trick 题意 给了一个长度为 \(n\) 的目标串 \(s\) 和 \(m\) 个模式串 每个模式串有一个价值 \(v\) 要求从 \(s\) 中选出一个子序列 \(t\), 定义 \(t\) 阅读全文
posted @ 2024-09-06 15:57 Bubble_e 阅读(68) 评论(0) 推荐(0)
P2048 [NOI2010] 超级钢琴
摘要:P2048 [NOI2010] 超级钢琴 题目链接 其实这道题在我刚学 oi 两个月 (2023.3) 就见过了 当时是作为 st 表的一个例题出现的, 我学 st 表就已经学得迷迷糊糊的了, 更别说这题了哈哈 所以这是第二次见到他, 必须写了(这一次他是作为 NOIP 模拟赛的一个部分分做法出现的 阅读全文
posted @ 2024-09-06 11:35 Bubble_e 阅读(36) 评论(0) 推荐(0)
初赛模拟题一
摘要:初赛模拟题一 T1 (C++ %) C++ "%" 的规则 \[a \% b = c \]\[c = a - \lfloor \frac{a}{b} \rfloor * b \]\(\lfloor \rfloor\) 的规则: 向 0 取整, 如 \((-9) / 5 = -1\),\(9 / 5 阅读全文
posted @ 2024-09-03 11:16 Bubble_e 阅读(18) 评论(0) 推荐(0)
CF1530F Bingo
摘要:CF1530F Bingo 题解 容斥 问至少 1 行/列/对角线 全为 1 的概率 转化为求每 行/列/对角线 至少有 1 个 0 的概率 总概率 1 减去他就是答案 每行的状态相互独立 考虑枚举列和对角线的状态,0 表示存在 0,1 表示全是 1 根据列和对角线能推出每一行的状态 每一行的状态乘 阅读全文
posted @ 2024-02-22 22:11 Bubble_e 阅读(44) 评论(0) 推荐(0)
CF1093F Vasya and Array
摘要:CF1093F Vasya and Array 题解 容斥 设 \(dp(i, j)\) 为考虑到 \(i\) 位置,该位置填 \(j\) 的方案数 分类讨论 如果 \(a[i] != -1\) 如果 \(j = a[i]\), \(dp(i, j) = \sum 前面的总方案数\) 否则 \(dp 阅读全文
posted @ 2024-02-22 22:10 Bubble_e 阅读(25) 评论(0) 推荐(0)
P10141 [USACO24JAN] Merging Cells P
摘要:P10141 [USACO24JAN] Merging Cells P 题解 正难则反 正着,设 \(dp(l, r)\) 为合并出 \([l, r]\)的概率,枚举大区间两端点合并(区间DP) 复杂度 \(O(n^4)\) 反着,设 \(dp(l, r)\) 表示由 \([1, n]\) 分裂出 阅读全文
posted @ 2024-02-22 22:09 Bubble_e 阅读(94) 评论(0) 推荐(0)
P3435
摘要:P3435 设 \(Q = a[1, i]\),左端绿色虚线终点为 j 则 \(a[1, j] == a[i + 1, n]\),因为他们位于 Q 的相同位置 联想到 kmp 的 next 数组 \(len_Q = n - next[j]\) 只要找到最小的且非0的 \(next[j]\) 就可以最 阅读全文
posted @ 2024-02-20 21:05 Bubble_e 阅读(39) 评论(0) 推荐(0)
P5446
摘要:P5446 由翻转可知:\(S[j, k] == S[k, i]\) 因此 R 是 S 的前缀 且 R 的后缀是回文串 用 Manacher 算出最大回文半径 d 此外,R 也可以由多次反转得到 条件是: R' 经过反转后是符合R 是 S 的前缀 且 R 的后缀是回文串 的 且 R' 本身是回文串, 阅读全文
posted @ 2024-02-20 21:04 Bubble_e 阅读(44) 评论(0) 推荐(0)
P3195
摘要:P3195 斜率优化 暴力转移: \(f(i)\) 表示考虑到第 \(i\) 个玩具达成的最小费用 \(f(i) = min(f(j) + (i - j + \sum_{j + 1}^{i} c - L) ^ 2)\) 设 \(s_i = \sum_1^i + i\) \(f(i) = min(f( 阅读全文
posted @ 2024-02-19 21:56 Bubble_e 阅读(56) 评论(0) 推荐(0)
ABC341D
摘要:ABC 341 D 赛时思路: 按 lcm 分周期处理 不可行的理由: a, b 在同一个周期里 排列无规律 lcm 可能很大(周期内最多能有 2e5 左右个数), 不好预处理 正解 二分(二分结果的值) 答案序列内数的排名单增 排名容易 Check mid / n + mid / m - (mid 阅读全文
posted @ 2024-02-19 12:37 Bubble_e 阅读(37) 评论(0) 推荐(0)
[国家集训队] 阿狸和桃子的游戏
摘要:# include <bits/stdc++.h> # define int long long using namespace std; const int N = 1e6 + 10; int n, m; int k[N], a, b, c; int val[N]; //如果一条边的两端点被同一个 阅读全文
posted @ 2023-11-09 21:12 Bubble_e 阅读(35) 评论(0) 推荐(0)
CSP-S 2019 笔试
摘要:CSP-S 2019 笔试 第6题 没有重复数字的4位数,可选 \(1,2,4,8\),方案数 $ A_4^4 = 24 $ 有一对重复数字,可选 \(1,1,2,4 or 1,1,2,8 or 1,1,4,8 or 8,8,2,4 or 8,8,2,1 or 8,8,1,4\),方案数 $ A_4 阅读全文
posted @ 2023-08-25 10:31 Bubble_e 阅读(75) 评论(0) 推荐(0)
CSP-J 2019 笔试
摘要:CSP-J 2019 笔试 二分最大次数 二分最大次数 = floor(__lg(n)) + 1 球相同,盒子相同 //n * 球,m * 盒子 for(int i = 0; i <= n; i++){ for(int j = 1; j <= m; j++){ if(i == 0 || j == 1 阅读全文
posted @ 2023-08-24 08:19 Bubble_e 阅读(63) 评论(0) 推荐(0)
P8817 [CSP-S 2022] 假期计划
摘要:P8817 [CSP-S 2022] 假期计划 思路 因为所有边的边权都是 \(1\) ,所以考虑用 Bfs 求全源最短路 \(A,D\) 到 \(1\) 的距离都 $ \le k+1 \(,\) B,C$ 到 $ A,D $ 的距离都 $ \le k+1 $ 枚举 $ B,C $,再根据枚到的 \ 阅读全文
posted @ 2023-06-15 10:41 Bubble_e 阅读(280) 评论(0) 推荐(0)
P3985 不开心的金明
摘要:P3985 不开心的金明 这道题好像是01背包,但价格 \(v[i]\) 是 \(10^9\) 级别的,意味着dp数组的第一维要开到 \(10^9\),显然不可能 题目中说: 对所有的 \(i=1,2,3,…,N\),$ min(v_i) \le v_i \le min(v_i)+3$. 也就是 \ 阅读全文
posted @ 2023-06-10 08:33 Bubble_e 阅读(89) 评论(0) 推荐(0)
P1121 环状最大两段子段和
摘要:P1121 环状最大两段子段和 非环状最大两子段和 \[fr[i]表示第1 \to i个元素的最大子段和 ba[i]表示第n \to i个元素的最大子段和 所以最大两子段和就是max(fr[i]+ba[i+1]),i \in [1,n) \]int Solve(){ int ans=-0x3f3f3 阅读全文
posted @ 2023-06-09 08:44 Bubble_e 阅读(41) 评论(0) 推荐(0)
P5322
摘要:P5322 状态表示 \[dp[i]表示主人公出动i名士兵获得的分数 \]转移 将输入数组进行排序,使得 \(in[i][j]\) 表示对于第 \(i\) 座城堡,出动兵力第 \(j\) 小的玩家的士兵数 这样做,如果主人公能在 \(i\) 城堡打败第 \(j\) 个人,将获得 \(i \times 阅读全文
posted @ 2023-06-08 10:23 Bubble_e 阅读(35) 评论(0) 推荐(0)
P7074
摘要:P7074 状态 \[up[i][j]表示这一步向上或向右走到(i,j)的最大价值 \]\[down[i][j]表示这一步向下或向右走到(i,j)的最大价值 \]\[dp[i][j]表示走到(i,j)的最大价值 \] 第一维表示行,第二维表示列 转移 第一列和最后一列只能从上往下走(最后一列还可以从 阅读全文
posted @ 2023-06-02 16:58 Bubble_e 阅读(70) 评论(0) 推荐(0)
CF1759F
摘要:CF1759F 因为每次只对原数加 \(1\),所以表示出来所有的数最多需要 \(p-1\) 次(一共 \(p\) 种数字,\(in[1]\) 已经被表示出来了) 对于输入数的最低位 \(in[1]\),如果有比他小的数没被表示出来,那么一定存在进位(进位过程中,所有大于 \(in[1]\) 的数全 阅读全文
posted @ 2023-06-02 16:19 Bubble_e 阅读(38) 评论(0) 推荐(0)
P2014
摘要:P2014 题意 从一棵树中选择m条与根节点直接/间接相连的点,使得总权值最大 DP(树上背包) 状态: \(dp[i][j]\)表示在以\(i\)为根的子树中,选择了\(j\)个点的权值最大值 转移 选择第k个点:\(dp[i][j]=dp[i][j-k]+dp[to][k]\) 不选第k个点:\ 阅读全文
posted @ 2023-05-10 14:08 Bubble_e 阅读(42) 评论(0) 推荐(0)

1