0103abc
0103abc 的网站
= 算法、题解与学习记录 =
文章列表
可以证明每个边双都可以通过给边定向使得点对之间两两可达。因此对图跑边双缩点,那么剩下一个带点权的树。让树根为点数最大的结点,其余点全部指向父亲一定最优。因此做完了。 具体来说:对于新建的缩点后的树,直接从根节点往叶子结点连;对于每一个强连通分量直接在上面 dfs 出一棵树然后剩下的全部连返祖边即可。...
比较简单的 $2300$。考虑把横纵坐标拆分考虑然后分别计算出横纵坐标在矩形内的时间区间 $[tl,tr]$,将全部这些区间取交集即可。时间复杂度为 $O(n)$。 特殊的,需要判断速度为 $0$ 的情况,以及注意点在矩形边界上不算做矩形内。
首先要知道 Zeckendorf's Theorem,即任何一个正整数都可以被表示为若干个不连续的斐波那契数的和。更确切的来说,任意正整数 $n$,都可以找到至少一个单调递增的序列 $a1,a2,\ldots,ak$ 使得 $\forall i\in[1,k),a{i+1}-ai\ge 2$,且...
可以发现题目模拟的其实就是二进制加法和二进制减法。因此考虑用一个线段树来维护每一位的值($0/1$),然后对于每一个操作: 若要让第 $i$ 位 $+1$,则: 若第 $i$ 位的值本来是 $0$,则直接将其变为 $1$。 否则从 $i$ 开始往后找到第一个为 $0$ 的位 $p$,然后把 $p$...
很板的根号分治。对每一行内元素数量分治: 若某一行内元素数量 $\le \sqrt n$,则暴力枚举这一行内的两个元素,并用哈希表或类似的 ds 来判断这两个元素是否可以和上面一行或者下面一行的两点组成正方形。特殊的,若四个点所在行元素数量均 $\le \sqrt...
很明显答案具有单调性,于是考虑怎么二分。首先筛法筛出 $10^7$ 以内的全部质数,然后对于二分到的数 $x$,计算 $x!$ 内有多少个质因数 $p$,比较其和原式中质因数 $p$ 的个数即可。 问题变为如何计算 $\prod\limits{i=1}^k ai!$ 中所有质因子 $p$...
真不会做啊呜呜呜呜呜呜呜呜呜 考虑一个简单的构造:给出一个质因子集合 $S$,然后用 $S$ 内的质因数组合出前 $k$ 小的数。但是这样很明显不能保证正确性,于是考虑调整答案: 将集合 $S$ 内所有元素从大到小排序,依次对于每一个质因子 $x$:若 $x$ 在序列中出现的次数不足 $\frac...
简单题。不知道为什么有 $2300$。 考虑判断等式 $a+b=c$ 是否成立。直接做需要 $O(n)$ 的高精度计算,考虑优化。根据模运算的基本性质,可以知道,对于任意一个正整数 $p$,若 $a+b=c$ 成立,则 $(a\bmod p+b\bmod p)\bmod p=c\bmod p$...
补的 NOIP 集训的题。这种题肯定就只能数位 dp。对于一个数字 $S$,将其所有数位从小到大排序之后 $0$ 会全部变为前导零并消失,还剩下 $1\sim 9$ 这 $9$ 个数字。 可以发现这些数字之间对答案的贡献是互相独立的,因此可以对这 $9$...
首先特判 $r-l+1\le 20$ 的情况,可以直接暴力枚举。 剩下的分类讨论: $k\ge 4$,构造任意相邻四个元素即可,异或值为 $0$。 $k=1$,构造最小值 $l$ 即可。 $k=2$,构造 $2k,2k+1$ 相邻两个数即可,异或值为 $1$。 $k=3$。考虑到构造 $k=2$...