随笔分类 - 题解
摘要:前言 思维训练 1,几乎没有什么算法,枚举 or 搜索 or 二分 CF1681D Required Length :暴搜 + 剪枝 前置函数 下文中称: 为 十进制下的位数。 First. 为什么是搜索 开始看到这道题想到了贪心:每
阅读全文
摘要: : 计数、数学 变量说明 下文中 指整洁方块个数。 First. 如何计数? 一个方案一个方案地数肯定是不现实的,不妨反过来想:每个方块在多少个方案中被照亮。 Second. 如何求多少个方案 首先预处理出有多少位置可以将 照亮。记
阅读全文
摘要:赛时不会 E,看到 F 高兴坏了。 First. 题目分析 首先,这道题单点修,区间查,一般都可以用数据结构做,此时我们不妨往线段树上想一想。 那么求次大,我们线段树需要维护什么呢? 对于合并两个区间,其的次大并不是两个区间次大中的较大者,而还需要考虑两个区间的最大值,即两个区间最大值、次大值中的次
阅读全文
摘要:目前题解区还没有证明,我交个证明。 形式化题意 给定每个点的度数 ,请构造一个简单无向图(无重边无自环)。 First. 无解 首先,根据握手定理,每个无向图的度数之和为边数的两倍,所以如果度数之和为奇数,那么肯定无解。 但是发现,这种情况之外还有别的无解情况(本题有 个无
阅读全文
摘要:ABC335 C - Loong Tracking : STL,模拟 :STL 的巧用 前置知识 deque 可以下标 访问。 deque 可以删除队尾队首元素,在队尾队首插入元素。 First. 修改 设
阅读全文
摘要:CF1900D - Small GCD【数论超好题】 前置知识 欧拉函数 - OI Wiki 筛法 - OI Wiki 正题 题意 给定一个数组 ,找出 中所有不同的三元组 ,求所有 的和, 为三元组中最小的数,$
阅读全文
摘要:题意简述 给你 个物品和他们的坐标 ,求坐标区间 内的最大物品数量。 区间枚举 最先想到的是标记坐标,然后按坐标枚举区间,取最大值。 这样绝对是会超时的。 不妨考虑从每个礼物的坐标出发,寻
阅读全文
摘要:主要算法 全源最短路(改版)。 题意 此题要求从某一个点到其他任意的点的路径上的最大边权的最小值。 思路 第一步 计算边权,用两点的曼哈顿距离 去除以出发蹦床的系数 ,为了满足跳得过去且 为整数,所以边权为 $\left \lceil \frac{dis}{P_i} \
阅读全文
摘要:CF501B Misha and Changing Handles 思路 通过并差集,将旧名字的父亲设为新名字。将每个没出现过的旧名字加入初始名字。最后查找旧名字的祖先,就是新名字。 if(!id[old_name]){ id[old_name] = ++ num; ans[++ cnt] = ol
阅读全文
摘要:思路 要想花费最小,不妨先考虑贪心。 对于权值较大的节点,应该最先断开它与其他节点连接的边,否则,它的权值会多次统计到答案中,不满足最小。 而由于删边较为麻烦,考虑逆序操作,改删边为加边。典型的套路:逆向操作。
阅读全文
摘要:题意 给定一个数 ,请求出将 拆散后,可以组成的数字中(无前导零的)质数的个数。 思路 First 排列 此题首先需要找出将 拆散后的所有没有前导零的排列。 那排列怎么求呢? 有一个 STL:next_permutation,可以求出一个数组的下一个排列。 用法:next_pe
阅读全文
摘要:思路 First 由于需要将所有单词排序,我们首先需要截取出所有单词。 如果遇到大写字母,使用一个指针向后扫,直到遇到下一个大写字母。而这一段子串,就是一个单词。 Second 接下来,我们需要给单词排序。 注意:这里的字符串忽略大小写排序! 所以,我们需要自己写一个cmp改变排序规则: bool
阅读全文
摘要:CF1179A Valeriy and Deque 更好的观看体验 思路 首先,每次操作后会将大的那个数排至队首。所以说,当队列中最大的那个数到达队首时,队首元素将不再改变,而其他的元素依次循环。因此,我们可以记录最大数不在队首之前的操作,在其到达队首之后,记录其余元素的循环节即可。注意:需要记录使
阅读全文
摘要:CF678D Iterated Linear Function 题意 且 求 。 思路 这道题的递推关系十分清晰。但由于数据范围大($1\le A,B,x\le 10^ 9,1\le n \le
阅读全文
摘要:AT_abc203_D 题意 给出一个 的矩阵,然后依次枚举 的子矩阵。 对于 的子矩阵,一共有个 元素,找出其中的中位数。这里的中位数是子矩阵中元素从大到小排列的第 $\left \lfloor \frac{
阅读全文
摘要:Robot Breakout(CF1196C) 思路 这道题因为平面极大,暴力枚举每个点肯定会超时。所以,我们不妨从机器人出发。 我们可以枚举每个机器人可以执行的操作: 位置从 变为 ,即向左走。 位置从 变为 $(X_i,Y
阅读全文