随笔分类 - 题解
1
Qoj 9111 Zayin ans String / ABC 356 E
摘要:Qoj 9111 Zayin ans String / ABC 356 E 谨以此帖记录一个有意思的 Trick 题意 给了一个长度为 的目标串 和 个模式串 每个模式串有一个价值 要求从 中选出一个子序列 , 定义
阅读全文
P2048 [NOI2010] 超级钢琴
摘要:P2048 [NOI2010] 超级钢琴 题目链接 其实这道题在我刚学 oi 两个月 (2023.3) 就见过了 当时是作为 st 表的一个例题出现的, 我学 st 表就已经学得迷迷糊糊的了, 更别说这题了哈哈 所以这是第二次见到他, 必须写了(这一次他是作为 NOIP 模拟赛的一个部分分做法出现的
阅读全文
CF1530F Bingo
摘要:CF1530F Bingo 题解 容斥 问至少 1 行/列/对角线 全为 1 的概率 转化为求每 行/列/对角线 至少有 1 个 0 的概率 总概率 1 减去他就是答案 每行的状态相互独立 考虑枚举列和对角线的状态,0 表示存在 0,1 表示全是 1 根据列和对角线能推出每一行的状态 每一行的状态乘
阅读全文
P5446
摘要:P5446 由翻转可知: 因此 R 是 S 的前缀 且 R 的后缀是回文串 用 Manacher 算出最大回文半径 d 此外,R 也可以由多次反转得到 条件是: R' 经过反转后是符合R 是 S 的前缀 且 R 的后缀是回文串 的 且 R' 本身是回文串,
阅读全文
ABC341D
摘要:ABC 341 D 赛时思路: 按 lcm 分周期处理 不可行的理由: a, b 在同一个周期里 排列无规律 lcm 可能很大(周期内最多能有 2e5 左右个数), 不好预处理 正解 二分(二分结果的值) 答案序列内数的排名单增 排名容易 Check mid / n + mid / m - (mid
阅读全文
[国家集训队] 阿狸和桃子的游戏
摘要:# 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]; //如果一条边的两端点被同一个
阅读全文
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
阅读全文
P1121 环状最大两段子段和
摘要:P1121 环状最大两段子段和 非环状最大两子段和 int Solve(){ int ans=-0x3f3f3
阅读全文
CF1759F
摘要:CF1759F 因为每次只对原数加 ,所以表示出来所有的数最多需要 次(一共 种数字, 已经被表示出来了) 对于输入数的最低位 ,如果有比他小的数没被表示出来,那么一定存在进位(进位过程中,所有大于 的数全
阅读全文
P2014
摘要:P2014 题意 从一棵树中选择m条与根节点直接/间接相连的点,使得总权值最大 DP(树上背包) 状态: 表示在以 为根的子树中,选择了 个点的权值最大值 转移 选择第k个点: 不选第k个点:\
阅读全文
1