随笔分类 - 题解
CF142C-Help-Caretaker题解
摘要:题目传送门 题意:有一个 的矩阵,用尽可能多的“T”形覆盖它(可以旋转),使得它们之间互不重叠。 可以搜索,每次考虑当前位置放哪个角度的“T”形,转移到下一个位置。主要进行最优性剪枝:如果当前填放的数量加上之后的极大值(剩余格子数 )则直接返回。还有一个启发性
CF332C-Students'-Revenge题解
摘要:题目传送门 题意:有 个物品,每个物品有权值 ,首先由 A 选择 个物品,然后由 B 从其中再选择 个物品。B 首先想让剩余 个物品的 的和尽可能小,在此基础上让 的和尽可能小;A 首先想让这 个物品的 的和尽可能大,在此
CF553C-Love-Triangles题解
摘要:题目传送门 题意:有一个 个点的无向完全图,边权为 ,钦定 条边的边权,求填剩下的边的边权的方案数,满足:不存在一个三元环全为 或二 一 。 观察第二条性质。首先显然有,如果 为 ,则 为 ,所以 的
CF650B-Image-Preview题解
摘要:题目传送门 题意:有一个环,每个位置的值为 0/1,初始在位置 ,当走到一个已经走过的格子时不需要花费,如果没走过,如果值为 1,需要花费 ,否则花费为 。无论是否走过,移动到相邻的格子花费为 。求花费 时最多能走到多少个格子。 一个显然的结论是,走法一定
CF1736D-Equal-Binary-Subsequences题解
摘要:题目传送门 题意:给你一个长为 的 01 序列 ,你可以选择它的一个子序列,将这个子序列循环右移一位。问是否能使得最终序列满足:可以严格分成两个完全相同的子序列。 显然,当 0/1 的个数为奇数时一定无解。于是只考虑为偶数的情况。 我们可以发现一个性质:我们选中的子序列一定是严格 0
CF1753C-Wish-I-Knew-How-to-Sort题解
摘要:题目传送门 题意:有一个 01 序列,每次可以选择两个元素,如果为逆序则交换,否则不变,无论是否交换都算一次操作。问排好序的期望操作次数。 容易想到使用 DP 计算,但状态并不是很好想。首先状态必须有单向性,必须有严格的 DP 顺序,于是我们可以想到用逆序对数来记录状态。然而,思考会发现并不可行。不
CF杂题题解
摘要:129B. Students and Shoelaces 题意:一个 个点 条边的无向图,每一轮删去所有度数为 的点,问删几轮停止。 暴力模拟每一轮即可,每次删点更新邻居度数。 {% note success code %} By exod40 #include <cstdi
CSP-J2022-C-逻辑表达式题解
摘要:题意:给你一个由 0、1、&、|、(、) 组成的字符串,保证是一个合法的逻辑表达式。其中括号优先级最高,与运算优先级高于或运算,同级之间从左到右算。定义一次短路为,或运算的左边结果为 1,或者与运算的左边结果为 0,此时后面部分无需计算(也不统计短路)。询问该逻辑表达式的结果以及与、或运算各自的短路
Gym100825C-KenKen-You-Do-It题解
摘要:题目传送门 题意:在一个矩阵上选中了若干个格子,保证连通。你需要在这些格子中填数,使得:每行每列不能重复,且这些数进行给定运算(可以认为只有加法和乘法)的结果为给定的数值。求填数的方案数。 首先考虑朴素的搜索。将选中的格子按行列排序(顺序剪枝),依次考虑每个格子填的数,中途维护每行每列的数字使用情况
Gym100078H-History-of-Football题解
摘要:题目传送门 题意:有 支球队,每两支球队之间都会进行一场较量,赢者积 分,输者积 分,如果平局则各积 分。给出每支球队的最终积分,求方案数。 。 首先考虑常规搜索。直接搜索每两支球队的比赛结果,中途可以进行可行性剪枝:如果当前球队剩下的比赛全赢也不能超过
Gym100753D-Carpets题解
摘要:题目传送门 题意:有一个 的地板和 个矩形地毯,问是否能不重不漏地填满地板。 。 考虑朴素的搜索,每次考虑最左上角的没填的位置,枚举用哪块地毯覆盖(因为这个格子肯定需要被覆盖,而不可能被更左上的格子覆盖)。先检查是否可以用这块地毯,
Gym100959I-Robots题解
摘要:题意:平面直角坐标系上有 个机器人,每个机器人有一个上下左右之一的方向,初始所有机器人静止。在第 秒,你让第一个机器人开始朝它的方向移动,速度为每秒一个单位。如果一个移动的机器人碰到了一个静止的机器人,该静止机器人也开始朝它的方向移动。需要注意的是,一个移动的机器人无论是否碰到其他机
Gym101252B-Kakuro题解
摘要:题目传送门 题意:有一个矩阵,每个格子为黑色或白色。你需要向白色格子中填 的整整睡。从某一个黑色格子的右侧往右连续的一段极长的白色格子被称为一个 run,往下连续一段同理。在每个 run 的开始位置会标记出该 run 的数字和。除此之外要求每个 run 内填的数互不相同。求一组合
P4363一双木棋-题解
摘要:~~本篇题解献给和我一样看不懂其他题解的状压DP小白~~ 相信大家都是看了其他题解看不懂才看到这篇题解的(莫名自信),所以什么每行棋子数递减啊,每行的棋子都排在左边啊,就不用我多说了,直接切入正题(大段文字多,请耐心观看)。 轮廓线DP 没见过不用慌,我也没见过(雾 轮廓线,就是把矩阵从右上角到左下
P2285打鼹鼠-题解
摘要:基础的DP各位大佬已经讲得很明白了,本文主要讲一讲优化 DP状态很~~容易~~想到: 表示打完第 只鼹鼠能获得的最多数量。 转移: ,即对于每一个打完第 个能来得及走到
P3383【模板】线性筛-题解
摘要:这道题是线性筛的模板题,所以我们考虑怎么不用线性筛。 我们都知道有一种筛法叫埃拉托色尼筛,简称埃氏筛,它比线性筛好写,也更好理解,但它过不了这道题,那怎么办呢?我们可以用 代替 bool 数组来进行优化,这造成的常数优化非常显著,以至于开了 ios::sync_with_stdio
TimusOJ-DP集锦
摘要:题目列表 1225. Flags 题意:有 个格子排成一行,你需要将每个格子染成白、蓝、红三色之一,要求不能有两个相邻的同色格子,且蓝色必须在白色和红色之间。求方案数。 令 表示前 个格子,末尾状态为 的方案数。有意义的状态共有四种:白、红、白蓝、红蓝。其
TimusOJ杂题集锦
摘要:1008. Image Encoding 题意:有一个 的矩阵,左下角为 ,右上角为 (平面直角坐标系)。一部分格子被涂成了黑色,保证为一个联通块。有如下两种描述状态的方式: 第一行给出黑格子的个数 ,接下来 行依次给出黑格子