随笔分类 -  OJ——Codeforces

摘要:Description Luogu传送门 Solution 先对物品按照品质从大到小排序,相同品质的按价格从小到大排序。 依次枚举每一个物品,考虑对于一个物品,其价格为 \(c\),品质为 \(q\): 拥有钱数小于 \(c\) 的人买不起,不用管。 拥有钱数大于等于 \(c\) 的人买得起,也必须 阅读全文
posted @ 2021-12-24 10:55 xixike 阅读(85) 评论(0) 推荐(0)
摘要:Description Luogu传送门 Solution 并不需要复杂的 DS( 考虑对于两个点 \(x,y\ (x < y)\),什么情况下才能使它们都有贡献。 第一个条件: \[ a_x < a_y \] 这个比较显然吧,就不多说了。 第二个条件: \[ x - a_x \leq y - a_ 阅读全文
posted @ 2021-12-22 21:50 xixike 阅读(171) 评论(0) 推荐(0)
摘要:持续更新中~(尽量不咕) P1650 田忌赛马 有很明显的贪心思路,用田忌最烂的马去怼齐王最好的马。 由于田忌是有主动权的,所以我们直接让齐王从优到劣出马。 设计 \(dp\) 状态: 普通 \(dp\): \(dp_{i, j}\) 表示齐王的前 \(i\) 匹马,对上了田忌的前 \(j\) 匹马 阅读全文
posted @ 2021-12-12 21:45 xixike 阅读(80) 评论(0) 推荐(0)
摘要:Description Luogu传送门 Solution 神仙贪心题。 关于基础的反悔贪心,详见博客浅谈反悔贪心。 首先进行一些预处理,把物品从大到小排序,并按价值分组,即相同价值的放一起(能否白嫖只与比当前物品价值更大的物品有关)。 错误的贪心:能白嫖就白嫖(观察样例就知道显然是错误的)。 还是 阅读全文
posted @ 2021-11-07 14:48 xixike 阅读(77) 评论(0) 推荐(1)
摘要:Description Luogu传送门 Solution 非常有意思的一道题。 看到回文子串,首先想到的 manacher 算法。emm……但是写了 manacher 之后怎么做呢? 我们发现,求相交的回文子串非常麻烦,所以直接一波正难则反,用总的回文子串数减去不相交的。 接下来考虑如何求不相交的 阅读全文
posted @ 2021-11-05 19:50 xixike 阅读(88) 评论(0) 推荐(0)
摘要:Description Luogu传送门 Codeforces传送门 题目翻译有一点问题,应该是问能否掉进终点。 Solution 考虑直接 dfs,蒟蒻第一遍写时,是先从搜到起点搜到终点,然后再从终点开始搜,判断能否搜回来,然而…… Time limit exceeded on test 14 然 阅读全文
posted @ 2021-11-04 18:01 xixike 阅读(50) 评论(0) 推荐(0)
摘要:Description 洛谷传送门 Solution 感觉题解区的各位大佬代码都写麻烦了(sto @SGColin 学长 orz)。 还是并查集的做法,但是连边的时候直接连即可。 首先开 \(n\) 个 vector,假设当前要让联通快 \(x\) 和 \(y\) 相邻(\(x\) 和 \(y\) 阅读全文
posted @ 2021-11-02 16:28 xixike 阅读(38) 评论(1) 推荐(0)
摘要:Description 洛谷传送门 Solution 看到 \(n\) 个点 \(n\) 条边,显然的基环树(可能是基环树森林),所以我们对于环上的点和非环上的点分别处理。 假设一共有 \(cnt\) 个环,每个环上有 \(d_i\) 个点,我们来分类讨论一下: 对于环上的点,我们发现只有两种情况会 阅读全文
posted @ 2021-11-02 07:37 xixike 阅读(90) 评论(4) 推荐(0)
摘要:Description 洛谷传送门 输入格式 第 1 行两个整数 \(n\),\(m\),表示一个 \(n \times m\) 的矩阵。 第 2 行一个整数 \(k\),表示有 \(k\) 个点已经被填上数。 第 \(3\) ~ \(k + 2\) 行,每行 3 个整数 \(a\),\(b\),\ 阅读全文
posted @ 2021-11-02 00:05 xixike 阅读(52) 评论(0) 推荐(0)
摘要:Description 洛谷传送门 Solution 看到最大值最小这样的字眼,自然想到二分答案。 我们二分所选边权的最大权值,那么比这个值大的边都不能反向,小于等于它的边都可以选择反向。 设当前二分到的权值为 \(mid\),我们不用去管小于等于 \(mid\) 的边(总有方法让它形成不了环),所 阅读全文
posted @ 2021-11-01 23:22 xixike 阅读(60) 评论(0) 推荐(0)
摘要:博客食用更佳 Description 洛谷传送门 题目描述 给出 \(n\) 个数据中心,\(m\) 份资料。要把 \(m\) 份资料放到其中的两个数据中心备份,需要保证任意时刻都可以至少在一个数据中心进行备份。定义一天有 \(h\) 个小时,每个数据中心在一天内有一小时维护时间 \(u_i\)(\ 阅读全文
posted @ 2021-11-01 22:09 xixike 阅读(47) 评论(0) 推荐(0)
摘要:Description 洛谷传送门 Solution 本题要不难想到要用线段树或树状数组之类的数据结构,但是题目要求在树上操作,我们该如何处理呢? 首先我们要用到一个叫dfs序的概念。其实并不难,刚接触的同学不要被它吓到,它本质上就是一棵树的先序遍历,所谓先序遍历就是先遍历根,然后遍历左子节点,最后 阅读全文
posted @ 2021-10-30 09:57 xixike 阅读(48) 评论(0) 推荐(0)
摘要:Description 洛谷传送门 Solution emm……这是我为数不多的黑题之一,所以来写篇博客记录一下。 我们发现边权过大,只能用高精度来算,但是这样的复杂度太劣了,无法通过此题。 观察到边权只能是 \(2^x\),所以我们可以给它压成二进制数,然后跑最短路时单点加。 我们再来考虑一下 \ 阅读全文
posted @ 2021-10-30 08:24 xixike 阅读(79) 评论(0) 推荐(1)
摘要:Description 洛谷传送门 Solution 首先吐槽一句:不知道这题是怎么评到紫的。 观察题意: 如果有一个检查站在 \(i\) 路口,保护 \(j\) 的条件是:\(i==j\) 或者警察巡逻车可以从 \(i\) 走到 \(j\),并且能回到 \(i\)。 这不就是让我们求强连通分量吗? 阅读全文
posted @ 2021-10-28 22:30 xixike 阅读(30) 评论(0) 推荐(0)
摘要:Description 洛谷传送门 Solution 似乎各种做法都可以过,这里提供一篇 \(dsu\ on\ tree\) (树上启发式合并)的题解。 不会的同学可以看我的博客 浅谈 dsu on tree 题目要求我们求出长度为 \(k\) 的路径有多少条。 那么我们可以开一个桶 \(cnt_x 阅读全文
posted @ 2021-10-27 21:59 xixike 阅读(100) 评论(0) 推荐(0)
摘要:Description 洛谷传送门 Solution 注意到题目要求我们计算出最多能买多少个纪念品,所以容易想到二分。 我们二分最多能买多少个纪念品,把每个纪念品的实际花费计算出来,从小到大排个序,取出前 \(mid\) 个,判断花费是否合法即可。 Code #include <iostream> 阅读全文
posted @ 2021-10-11 22:20 xixike 阅读(37) 评论(0) 推荐(0)
摘要:Description 洛谷传送门 Solution 一道非常友好毒瘤的贪心题。 前置:本文与题目中变量名不同,本文:有 \(n\) 个正整数,\(m\) 个操作,选 \(k\) 个。 题目中要求 3 种操作。 把 \(a_i\) 赋值为 \(b\); 把 \(a_i\) 加上 \(b\); 把 \ 阅读全文
posted @ 2021-10-08 10:44 xixike 阅读(93) 评论(0) 推荐(0)
摘要:Description 洛谷传送门 Solution 转移方程就是斐波那契数列求和,题目里也都给了。 矩阵也比较基础吧,不写了。 但是这道题需要用到线段树维护矩阵乘法。 听着挺吓人的,其实也没有多难。 我们首先建一棵矩阵类型的线段树。 然后 \(build\) 为初始输入的斐波那契数(即 \(f^{ 阅读全文
posted @ 2021-10-03 07:51 xixike 阅读(42) 评论(0) 推荐(0)
摘要:前置芝士 重链剖分(最好是熟练掌握) 莫队(大概了解即可,有一点相似的思想) dfs序(可有可无,主要是为了加速,其实我就没写过 \(QwQ\)) 主要思想 \(dsu\ on\ tree\) 又名树上启发式合并 (其实是非常暴力的一个东西。) 用途 可处理树上的一些统计类型的问题。 如: 求子树中 阅读全文
posted @ 2021-10-02 22:35 xixike 阅读(91) 评论(2) 推荐(1)