![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
补习算法
去国
这个作者很懒,什么都没留下…
展开
-
电影Acwing103
朴素做法:开一个数组,每输入一个会的语言,让数组对应下标的位置加一。对于每部电影,可以通过它的语言下标来找到某个语言会的人数。在比较结果时,用对组pair,pair间的大小比较规则为:first对应的元素先比较,first对应相等则比较second。然后开出一个sum数组,sum数组下标对应的即为uni数组的下标。本题,可以将人会的语言和电影的语言全部存入同一个数组中,对这个数组进行离散化处理得到数组uni。离散化是用来将一组稀疏的数据映射为一组紧凑的数据,从而提高数据的查找等处理效率。原创 2024-04-16 16:52:26 · 341 阅读 · 0 评论 -
最佳牛序列
【代码】最佳牛序列。原创 2024-03-27 10:44:02 · 104 阅读 · 0 评论 -
题目最高的牛
map容器与pair容器的灵活运用,差分与前缀和是题目核心。原创 2024-03-20 15:59:15 · 112 阅读 · 1 评论 -
题目激光炸弹
本题可以简单的视为一个边长为R的正方形在5000*5000的带权区域内进行扫描,求这个正方形所能框住的全部区域的权值的最大值。本题解法为二维前缀和。一维前缀和数组为给定a的所有前缀之和。原创 2024-03-20 15:58:44 · 211 阅读 · 0 评论 -
题目增减序列
【代码】题目增减序列。原创 2024-03-20 15:58:26 · 83 阅读 · 0 评论 -
【蓝皮书】T97约数之和
每个括号中的内容均为等比数列,等比数列求和可以采用公式法,但是,对除法运用模运算不存在分配性(可以通过逆元解决,这里先不进行讨论)。考虑采用分治法的思想解决问题。所谓分治法即将问题分解为多个子问题,对子问题求解后,再合并为原问题。利用乘法分配律(类似组合的过程,从每个括号里选一个数,然后乘起来),可以将因数相加转化为多组乘法。的所有因数之和,数据范围很大,用暴力不太合适。算数基本定理:任何大于1的正整数都能。那么可以将输入的A进行质因数分解,本题应用到一些数学知识。的因数集合可以表示为。原创 2024-01-10 09:53:01 · 914 阅读 · 0 评论 -
【蓝皮书】奇特的汉诺塔
基础的汉诺塔通常使用递归的方式求解,可以确定递归的边界条件:仅剩最后一个盘子。我们从三个柱子的汉诺塔开始思考。因为中转柱子不能再放置新的盘子了。原创 2024-01-02 16:58:22 · 367 阅读 · 0 评论 -
【蓝皮书】费解的开关
因而,我们可以枚举对所有第一行进行操作后的状态,然后从第一行向后逐行地推。因第一行总共可以进行2 ^ 5 = 32次操作,复杂度大幅下降。可以采用二进制来枚举对第一行所有的操作。对于一个5 * 5的0、1矩阵,我们可以对任意元素以及他的上方,下方,左方,右方元素取反,问通过几次操作可以将整个矩阵转换为1构成的矩阵。通过观察可以发现,如果第 i 行状态已经确定并且不再修改,若要更改第i + 1行,那么就只能修改i + 2行的对应列。如果采用暴力求解,需要枚举每个位置的开关情况。单二进制取反操作采用。原创 2023-12-27 22:00:23 · 367 阅读 · 1 评论 -
【T94】递归实现排列型枚举
【代码】【T94】递归实现排列型枚举。原创 2023-12-19 14:56:53 · 30 阅读 · 0 评论 -
【T93】递归实现组合型枚举
正常N叉树,遍历到第M层即可,需要注意,本题答案是有顺序的,按照字典序对答案进行排列。原创 2023-12-19 14:50:08 · 40 阅读 · 0 评论 -
【Acwing T93】PAT计数
可以考虑利用类dp的思想解题。开三个数组(也可以是一个二维的数组),分别记录P的数量,PA的数量,以及PAT的数量。经过观察可以发现,PAT子串的数量实际上等于T前面PA子串的数量;PA子串的数量等于A前面P的数量。本题题意很简单,对于给定的由P、A、T构成的字符串,对PAT顺序的子串进行计数。具体转移方式在代码中。原创 2023-12-18 20:37:29 · 34 阅读 · 0 评论