摘要:
B. BAN BAN 题意:给你一个 $n$,生成一个字符串为 BAN 重复 $n$ 遍。每次操作可以选择两个位置进行交换,问至少多少次交换后可以使该串不存在 BAN 的子序列。输出方案。 显然对于每个 BAN 都至少要动一下,而每次交换可以动两位,所以答案的下界是 $\lceil\frac{n}{ 阅读全文
摘要:
比赛传送门 D. Challenging Valleys 题意:给你一个数组,判断它是否为“山谷形”。 tourist 的做法是假想在最左边和最右边插入一个极大值(结果不变)来统一情况,然后只需要判断下凹(比左右两边都低)的位置个数。如果为 $1$ 则正确。 By tourist #include 阅读全文
摘要:
比赛传送门 A. Divide and Conquer 题意:给你一个数组,每次操作可以将一个数变为它除以二下取整,求将数组的和变为偶数的最小次数。 显然如果数组本来就是偶数,则为 $0$,否则一定是选一个数一直除到改变,而其他数不动(动了显然更劣)。于是对于每个数求改变奇偶的最小次数,模拟即可。 阅读全文
摘要:
题意:给你一个由 0、1、&、|、(、) 组成的字符串,保证是一个合法的逻辑表达式。其中括号优先级最高,与运算优先级高于或运算,同级之间从左到右算。定义一次短路为,或运算的左边结果为 1,或者与运算的左边结果为 0,此时后面部分无需计算(也不统计短路)。询问该逻辑表达式的结果以及与、或运算各自的短路 阅读全文
摘要:
比赛传送门 A. Monsters (easy version) 题意:有 $n$ 个怪物,每个有 $a_i$ 滴血,每次可以选择一个怪物减一滴血,也可以“让所有怪物减一滴血,且如果杀死怪物则重复操作”。其中,第二种攻击只能使用一次。问杀死所有怪物,使用第一种攻击的最小次数。 显然要让第二种攻击发挥 阅读全文
摘要:
比赛传送门 C. Another Array Problem 题意:给你一个数组 $a$,每次可以选两个位置 $i,j(i<j)$,将 $[i,j]$ 内的所有数替换为 $|a_i-a_j|$。问最终数组的和最大为多少。 首先一个显然的结论为,任意位置最终结果都不会超过数组最大值。于是可以考虑能不能 阅读全文
摘要:
比赛传送门 C. Interesting Sequence 题意:给你 $n,x$,求最小的 $m\ge n$,使 $n&(n+1)&(n+2)&\cdots&m=x$,或判断无解。 首先每一位独立,分别考虑。与运算每一位都越来越小,所以 $x$ 的每一位都不能大于 $n$,否则直接无解。于是一位的 阅读全文
摘要:
挖个巨坑,慢慢填。 从 Nim 游戏入手 问题:有 $n$ 堆石子,第 $i$ 堆石子有 $s_i$ 个,两个人轮流取石子,每人每次只能从一堆中取任意数量的石子,可以取完,不能不取。问先手必胜还是必败。 前置知识: 异或 $\oplus$:有两个数均为 $0$ 或 $1$,若它们相等则异或结果为 $ 阅读全文
摘要:
01背包 由于01背包太过经典,所以一定要把每一个细节理解透彻! 有 $n$ 个物品和一个容量为 $m$ 的背包,每个物品有体积 $w_i$ 和价值 $v_i$,求用这个背包所能装下的最大价值。 设 $f_{i,j}$ 表示只考虑前 $i$ 个物品,体积不超过 $j$ 的最大价值。如果我们算完了前 阅读全文
摘要:
引入———十二重法 考虑对 $n$ 元集到 $m$ 元集的映射进行计数,根据一些不同的限制,引申出十二个基本的组合问题,被称为十二重法。 单射/不受限/满射 $n$ 元集中的元素是可区分还是不可区分 $m$ 元集中的元素是可区分还是不可区分 一共 $3\times 2\times 2=12$ 种限制 阅读全文