摘要:
Codeforces Round #805 (Div. 3) 这场切的真爽,感觉后面题偏简单了。 ABCD C 维护数字第一次和最后出现位置。 D 贪心从最大的开始删,每次删全部,如果删多了,说明只要删当前字符一部分就好,这个二分找一下。 E 题意 $n$ 张多米诺牌,正反两个数字,范围 $[1,n 阅读全文
摘要:
CF1477(gcd,构造) 题意 给出一个序列 $a$,可以用它们按如下规则无限生成数字。 从 $a$ 中选择一对数 $x,y$ 。 将 $2x- y$ 加入序列。 现在给出目标 $k$ 。问能否有原来序列生成。 题意 如果我们注意到 $2x-y = x+(x-y)$ 。 我们设 $d = (x- 阅读全文
摘要:
CF1491D(思维,位运算) 题意 一个无限大的有向图,按如下方式建边,问 $u$ 是否可达 $v$ 。 当 $u&v=v$ 时建立一条从 $u$ 到 $u+v$ 的边 思路 显然可达保证 $u \le v$ 。 之后就没法一眼了,画图考虑一些特殊点。 画个图可以发现,$2$ 的幂次只能走到二的幂 阅读全文
摘要:
两个子序列dp问题 在一个序列上做一些修改,求一些最小操作数,最小划分数,最小长度之类的很多都可以用dp来解,也有一定套路,最近连碰两个。就放一起了。 CF1699D (dp,预处理) Codeforces Round #804 (Div. 2) - Mxrurush - 博客园 (cnblogs. 阅读全文
摘要:
CF1500A(桶思想,鸽巢原理) 题意 对序列 $a$ ,找到一对 $a_i +a_j = a_k+a_w$ 如果有,输出下标 $1 \le a_i \le 250000$ 思路 和的值域为 $[2,5000000]$,对值域开桶,当枚举对数超过值域后,一定会有两对放在同一个桶中。 #includ 阅读全文
摘要:
ABC258E(找循环节) 思路很简单,主要代码很不好写。官方题解的写法很好。 先暴力把每一段长度算出来,然后再环上跳,用一个order数组编号,path寄一下开始结点,之后循环节就很简单能被找到。 #include<iostream> #include<cstdio> #include<cstri 阅读全文
摘要:
A to D 阅读全文
摘要:
CF1512G(数学,筛法,约数和) 题意 求约数和为 $c$ 的最小数字 $n$ 思路 板子题,原题因为数据范围太小甚至能暴力( 因为约数和可以写成 $\prod _{i = 1}^n(1+p_i+p_i^2+...+p_i^{q_i})$ 的形式,所以往下搜就行了。 中间要特判存在一个大质因子( 阅读全文
摘要:
CF1543D1D2(构造,位运算) 题意 交互。 猜一个数 $x$ ,最多 $n$ 次询问,每次如果猜测失败,要将 $x$ 变成 $y$ 如果设此次猜测数字为 $z$ ,则关系表示为 $ x \oplus _k z = y $ 。这里算符表示 $k$ 进制下的不进位加法。 思路 一开始没仔细看题, 阅读全文
摘要:
CF1548B(gcd,思维) 题意 给定长度为 $n$ 的序列 $a$,找到最长子段使得该段中任意元素元素满足 $a_i\mod m = k$。输出其长度 思路 第一眼看这个题的形式不好写,因为 $m,k$ 都不知道。如果知道如下的结论,可以将其转化到好写的形式。 如果 $x \mod m = y 阅读全文