随笔分类 -  题解

1
Qoj 9111 Zayin ans String / ABC 356 E
摘要:Qoj 9111 Zayin ans String / ABC 356 E 谨以此帖记录一个有意思的 Trick 题意 给了一个长度为 n 的目标串 sm 个模式串 每个模式串有一个价值 v 要求从 s 中选出一个子序列 t, 定义 t 阅读全文
posted @ 2024-09-06 15:57 Bubble_e 阅读(33) 评论(0) 推荐(0) 编辑
P2048 [NOI2010] 超级钢琴
摘要:P2048 [NOI2010] 超级钢琴 题目链接 其实这道题在我刚学 oi 两个月 (2023.3) 就见过了 当时是作为 st 表的一个例题出现的, 我学 st 表就已经学得迷迷糊糊的了, 更别说这题了哈哈 所以这是第二次见到他, 必须写了(这一次他是作为 NOIP 模拟赛的一个部分分做法出现的 阅读全文
posted @ 2024-09-06 11:35 Bubble_e 阅读(12) 评论(0) 推荐(0) 编辑
初赛模拟题一
摘要:初赛模拟题一 T1 (C++ %) C++ "%" 的规则 a%b=cc=aabb 的规则: 向 0 取整, 如 (9)/5=1,\(9 / 5 阅读全文
posted @ 2024-09-03 11:16 Bubble_e 阅读(3) 评论(0) 推荐(0) 编辑
CF1530F Bingo
摘要:CF1530F Bingo 题解 容斥 问至少 1 行/列/对角线 全为 1 的概率 转化为求每 行/列/对角线 至少有 1 个 0 的概率 总概率 1 减去他就是答案 每行的状态相互独立 考虑枚举列和对角线的状态,0 表示存在 0,1 表示全是 1 根据列和对角线能推出每一行的状态 每一行的状态乘 阅读全文
posted @ 2024-02-22 22:11 Bubble_e 阅读(17) 评论(0) 推荐(0) 编辑
CF1093F Vasya and Array
摘要:CF1093F Vasya and Array 题解 容斥 设 dp(i,j) 为考虑到 i 位置,该位置填 j 的方案数 分类讨论 如果 a[i]!=1 如果 j=a[i]dp(i,j)= 否则 \(dp 阅读全文
posted @ 2024-02-22 22:10 Bubble_e 阅读(4) 评论(0) 推荐(0) 编辑
P10141 [USACO24JAN] Merging Cells P
摘要:P10141 [USACO24JAN] Merging Cells P 题解 正难则反 正着,设 dp(l,r) 为合并出 [l,r]的概率,枚举大区间两端点合并(区间DP) 复杂度 O(n4) 反着,设 dp(l,r) 表示由 [1,n] 分裂出 阅读全文
posted @ 2024-02-22 22:09 Bubble_e 阅读(29) 评论(0) 推荐(0) 编辑
P3435
摘要:P3435 设 Q=a[1,i],左端绿色虚线终点为 j 则 a[1,j]==a[i+1,n],因为他们位于 Q 的相同位置 联想到 kmp 的 next 数组 lenQ=nnext[j] 只要找到最小的且非0的 next[j] 就可以最 阅读全文
posted @ 2024-02-20 21:05 Bubble_e 阅读(18) 评论(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 阅读(9) 评论(0) 推荐(0) 编辑
P3195
摘要:P3195 斜率优化 暴力转移: f(i) 表示考虑到第 i 个玩具达成的最小费用 f(i)=min(f(j)+(ij+j+1icL)2)si=1i+i \(f(i) = min(f( 阅读全文
posted @ 2024-02-19 21:56 Bubble_e 阅读(11) 评论(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 阅读(14) 评论(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 阅读(16) 评论(0) 推荐(0) 编辑
CSP-S 2019 笔试
摘要:CSP-S 2019 笔试 第6题 没有重复数字的4位数,可选 1,2,4,8,方案数 A44=24 有一对重复数字,可选 1,1,2,4or1,1,2,8or1,1,4,8or8,8,2,4or8,8,2,1or8,8,1,4,方案数 $ A_4 阅读全文
posted @ 2023-08-25 10:31 Bubble_e 阅读(24) 评论(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 阅读(38) 评论(0) 推荐(0) 编辑
P8817 [CSP-S 2022] 假期计划
摘要:P8817 [CSP-S 2022] 假期计划 思路 因为所有边的边权都是 1 ,所以考虑用 Bfs 求全源最短路 A,D1 的距离都 k+1\(\)B,CA,D 的距离都 k+1 枚举 B,C,再根据枚到的 \ 阅读全文
posted @ 2023-06-15 10:41 Bubble_e 阅读(148) 评论(0) 推荐(0) 编辑
P3985 不开心的金明
摘要:P3985 不开心的金明 这道题好像是01背包,但价格 v[i]109 级别的,意味着dp数组的第一维要开到 109,显然不可能 题目中说: 对所有的 i=1,2,3,,Nmin(vi)vimin(vi)+3. 也就是 \ 阅读全文
posted @ 2023-06-10 08:33 Bubble_e 阅读(38) 评论(0) 推荐(0) 编辑
P1121 环状最大两段子段和
摘要:P1121 环状最大两段子段和 非环状最大两子段和 fr[i]1iba[i]nimax(fr[i]+ba[i+1])i[1,n)int Solve(){ int ans=-0x3f3f3 阅读全文
posted @ 2023-06-09 08:44 Bubble_e 阅读(26) 评论(0) 推荐(0) 编辑
P5322
摘要:P5322 状态表示 dp[i]i转移 将输入数组进行排序,使得 in[i][j] 表示对于第 i 座城堡,出动兵力第 j 小的玩家的士兵数 这样做,如果主人公能在 i 城堡打败第 j 个人,将获得 \(i \times 阅读全文
posted @ 2023-06-08 10:23 Bubble_e 阅读(27) 评论(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 阅读(17) 评论(0) 推荐(0) 编辑
CF1759F
摘要:CF1759F 因为每次只对原数加 1,所以表示出来所有的数最多需要 p1 次(一共 p 种数字,in[1] 已经被表示出来了) 对于输入数的最低位 in[1],如果有比他小的数没被表示出来,那么一定存在进位(进位过程中,所有大于 in[1] 的数全 阅读全文
posted @ 2023-06-02 16:19 Bubble_e 阅读(19) 评论(0) 推荐(0) 编辑
P2014
摘要:P2014 题意 从一棵树中选择m条与根节点直接/间接相连的点,使得总权值最大 DP(树上背包) 状态: dp[i][j]表示在以i为根的子树中,选择了j个点的权值最大值 转移 选择第k个点:dp[i][j]=dp[i][jk]+dp[to][k] 不选第k个点:\ 阅读全文
posted @ 2023-05-10 14:08 Bubble_e 阅读(31) 评论(0) 推荐(0) 编辑

1



点击右上角即可分享
微信分享提示