随笔分类 - 题解
摘要:题目链接:https://www.luogu.com.cn/problem/P4927 题解: ~~《星之梦》真的不错,key顶尖短篇,推荐。~~ 首先看一下期望是什么: 从期望的定义出发,比如先在根节点尝试 次,那么根据概率得有 个情况跑到左子树
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P5304 题解: 给一张图和一个点集 ,问点集内两两最短路的最小值 考虑将集合进行若干次划分: 每次对于一个二进制位 ,如果 该位为 1 ,那么就划到第一个集合,否则划到第二个集合 然后求第一个
阅读全文
摘要:比赛链接:https://atcoder.jp/contests/abc268/tasks 题解: C 对于每个盘子统计一下转那几次(3 种情况)能够满足条件 // by SkyRainWind #include <bits/stdc++.h> #define mpr make_pair #defi
阅读全文
摘要:题目链接:https://codeforces.com/contest/1693 这场的题都非常好啊…… 因为现在是从 div1 开始做了,所以可能刚开始会有点吃力(这场我就会做一个 1B 呜呜呜) 1A 先把后缀的极长 0 段删去 考虑对于每一个 右移 操作,首先必然和一个 左移 操作一一对应(最
阅读全文
摘要:E 注意到后面选对前面的答案没有影响,而且前面选的顺序对后面的影响是连续的一段(如选 2 个,那么对应的 就应该是 (对应 是 1、2、3 个选时的答案)) 然后就可以 dp 了:设 表示考虑到前 个物品,选了 个时的最小花
阅读全文
摘要:题目链接:http://zhengruioi.com/problem/87 题解: 首先考虑 代表什么,官方题解很详细了就不再赘述了: 因此我们要求的就是对于所有 和 的最长公共前缀的 1 的个数,记为 S 容易发现答案就是所有
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P5435 请忽略题目名称 学到一个科技:binary GCD,能够快速求出两个数 GCD(从这道题来看已经接近 了) 代码: // by SkyRainWind #include <bits/stdc++.h
阅读全文
摘要:题目链接:https://codeforces.com/contest/1790/problem/G 题解: 首先一个硬币如果能移动到根节点,必然从他的父亲开始一直到根的路径都是bonus 考虑钦定让某个硬币移动到根,其它的硬币能否为其提供足够的步数。因为是个图,所以先用 bfs 求一下根到这个点的
阅读全文
摘要:题目链接:https://codeforces.com/contest/1779/problem/E 题解: 将一个完全图的每条边定向,构成的有向图叫做 竞赛图 也很好理解, 个人两两比赛,肯定有胜有负,赢家向负者连边,就构成了这张图。 竞赛图有一些有用的性质: 缩点后拓扑序唯一(也可以简单理
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P3121(4824) 题解: 4824 是 Censoring S,只需要对单模式串进行操作,3121 需要对多模式串 4824 开一个前缀hash数组,每次扫到当前点就判一下 是否能与模式串的 h
阅读全文
摘要:比赛链接:https://codeforces.com/contest/225 题解: A 题意题 // by SkyRainWind #include <bits/stdc++.h> #define mpr make_pair #define debug() cerr<<"Yoshino\n" #
阅读全文
摘要:题目链接:http://zhengruioi.com/problem/370 题解: 考虑对于 ,如果要符合条件必然是在最高位分成了至少两段(也可能没有分出来,那就继续下一位) ,其中前半段这一位的字符小于后半段这一位的字符,然后前半段就
阅读全文
摘要:题目链接:http://zhengruioi.com/contest/101/problem/369 题解: 枚举 ,表示 钦定了 或者 位于 处 不妨设是 位于 处, 同理 位于 ,而且 是逆序对,$c,
阅读全文
摘要:比赛链接:https://atcoder.jp/contests/abc285 题解: ABC 水题 int a,b; scanf("%d%d",&a,&b); if(b==2*a||b==2*a+1)cout<<"Yes"; else cout<<"No"; scanf("%d",&n); sca
阅读全文
摘要:题目链接:https://codeforces.com/contest/1775/problem/F 题解: 首先考虑第一问 考虑将答案的图形补成一个矩形 显然出现凹槽不优,因此可以看成一个矩阵去掉几个角之后的图形 因此补成矩形之后周长仍然不变 注意到补成矩形之后的长和宽相差最多1的时候一定可以取到
阅读全文
摘要:设 表示考虑到第 个位置,已经形成了极大的 段,当前位置为 0/1 的期望值 ; 也同理,不过维护的是概率。 (思考:这种不是求最优决策而是求某种固定的答案的问题,可以再开一个数组维护一下当前状态下的其它值,因为没有决策也就
阅读全文
摘要:题目链接:https://codeforces.com/contest/1768/problem/E 题解: 记 P1 为将 排序, P2 为将 排序 首先观察到答案一定不会超过 3( P1P2 之后 的所有数一定在 $1
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P6620 题解: 其实就一个式子 证明可以利用这个式子找一下规律 回到原题,把多项式拆开之后的形式就是开头式子左边的部分,利用得到的式子可以直接$O(
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/UVA193 题解: 注意不是二分图最大独立集和最大匹配没啥关系 直接dfs // by SkyRainWind #include <bits/stdc++.h> #define mpr make_pair #define
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P4043 题意:求图一个的路径并,使得所有边都包含且所有路径的权值之和最小,而且路径都是从1开始的 题解: 每条边都必须经过,容量设一个下限 可以在任意点结束(如果这个点往后的边都读过了),因此 $i \right
阅读全文