03 2022 档案
摘要:P1434 [SHOI2002]滑雪 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 记忆化搜索的入门第一题。 在递归中首先判断是否已经知道该点的数据,知道的话就返回,避免重复计算。——记忆化搜索的优点(目前认为) 状态表示:到坐标(i,j)的最大长度。 状态计算:f [ i ,
阅读全文
摘要:什么是记忆化搜索呢? 搜索的低效在于没有能够很好地处理重叠子问题;动态规划虽然比较好地处理了重叠子问题,但是在有些拓扑关系比较复杂的题目面前,又显得无奈。记忆化搜索正是在这样的情况下产生的,它采用搜索的形式和动态规划中递推的思想将这两种方法有机地综合在一起,扬长避短,简单实用,在信息学中有着重要的作
阅读全文
摘要:P2196 [NOIP1996 提高组] 挖地雷 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 刚开始想的是记忆化搜索,但是发现这个问题是一维的,用记忆化搜索会麻烦,所以用线性dp。 状态表示:走到第i个地窖后的地雷最大总数量。(以终点作为状态表示,遍历前i-1个) 状态计算:
阅读全文
摘要:291. 蒙德里安的梦想 - AcWing题库 这道题想写出来真恶心啊(起码对于现在的我来说)主要用的方法就是正确选择dp的状态表达,以及使用状态压缩把每一种状态用二进制的01式子表示出来。 目前碰到的状态压缩就是把一种状态抽象成0与1,以01式子的形式表示该状态。 对于这道题,我们可以先分析每一列
阅读全文
摘要:900. 整数划分 - AcWing题库 计数类dp在目前我的理解里,就是状态表示中的属性是数量的dp。这道题就是一个完全背包问题的变形,完全背包问题求的是每种物品无限次使用后的最大代价(注意是这个状态表示的属性是max),而本题求的是每种数字无限次使用后能表示成一个特定的数的数量。 本题的公式推导
阅读全文
摘要:282. 石子合并 - AcWing题库 所有的区间dp问题枚举时,第一维通常是枚举区间长度,并且一般 len = 1 时用来初始化,枚举从 len = 2 开始;第二维枚举起点 i (右端点 j 自动获得,j = i + len - 1) 这就是典型的区间dp问题。因为求的是1到n的代价最小值,所
阅读全文
摘要:902. 最短编辑距离 - AcWing题库 刚拿到题感觉无从下手。看了讲解之后才领悟了一丢丢。既然题目是问操作次数的最小值,那么我们就把每一次可以进行的操作分一下类。 首先还是按照y总的方法,先分析出状态表示。因为题中问的是将A变成B需要的操作次数,所以我们的状态表示可以是为了让A的前i个字符与B
阅读全文
摘要:P1757 通天之分组背包 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 这道题我真的会酸Q!好笨啊,忘记了桶排序可以将组别分清楚,非得去搞结构体,麻烦还不对。注意审题,第一行输入的是总体重和个数,别输入反了。 唉,一定要记得桶排序啊喂!!! 1 #include <bits/s
阅读全文
摘要:P2121 拆地毯 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 这道题很简单,就是最大生成树。但是之前接触的都是最小生成树,其实就是把排序变成从大到小排序。因为只留下k条地毯,所以当k条地毯在同一个连通块后,我们就可以输出求和的答案,然后结束。 唯一的亮点就是排序是从大到小。
阅读全文
摘要:P1396 营救 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 这道题刚开始题都没读懂。。。。题说的是求经过的每条大道所代表的拥挤度最大值的最小值。说出来感觉很绕,其实就是要从目的地到终点的过程中,求大道拥挤度的最大值k,因为有不同的走法,所以求不同走法中k的最小值。 两种方法,
阅读全文
摘要:P1991 无线通讯网 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 这道题看着很复杂,需要读几遍题才理解。题意可以转化为在图里去掉k-1条最小边后,第k条最小边即为答案。 因为在图中去掉n条边,就会得到n+1个连通块。那么就把所有哨所划分成了n+1个连通块,我们只需要在每个连通
阅读全文
摘要:string的find函数用好了真的很方便,就和set函数一样秒杀一些题! 1 void test8() 2 { 3 string s("dog bird chicken bird cat"); 4 5 //字符串查找 找到后返回首字母在字符串中的下标 6 7 // 1. 查找一个字符串 8 cou
阅读全文
摘要:1 基本概念 1.1 符号 异或是一种二进制的位运算,符号以 XOR 或 ^ 表示。 1.2 运算规则 相同为0,不同为1,即 1 ^ 1 = 0 0 ^ 0 = 0 1 ^ 0 = 1 由运算规则可知,任何二进制数与零异或,都会等于其本身,即 A ^ 0 = A。 1.3 异或性质 (1)交换律:
阅读全文
摘要:扩展欧几里得算法 用途:给定 n 对正整数 ai,bi,对于每对数,求出一组 xi,yi,使其满足 ai×xi+bi×yi=gcd(ai,bi)。 应用: 求解一次同余方程 ax≡b(modm)则等价于求ax=m∗(−y)+b ax+my=b 有解条件为 gcd(a,m)|b,然后用扩展欧几里得求解
阅读全文
摘要:一:欧拉函数 欧拉函数定义: φ(x)=x(1-1/p(1))(1-1/p(2))(1-1/p(3))(1-1/p(4))…..(1-1/p(n)) 其中p(1),p(2)…p(n)为x 的所有质因数;x是正整数; φ(1)=1(唯一和1互质的数,且小于等于1)。注意:每种质因数只有一个。 欧拉函数
阅读全文
摘要:P1522 [USACO2.4] 牛的旅行 Cow Tours - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 一、题意分析 牧区: 对应一个点。 牧区之间的距离:实际上是两点之间的 最短路。 不要理解成欧几里得距离。只有 直接连接 的时候,才可以计算欧几里得距离。 牧场: 一个连
阅读全文
摘要:P1462 通往奥格瑞玛的道路 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 一道将dijkstra和二分完美结合的一道题。 分析题意: 1.题中的“他所经过的所有城市中最多的一次收取的费用的最小值是多少”,太绕了。意思就是说这个人经过的所有城市中收费最大的那个城市的费用最少是多
阅读全文
摘要:P1629 邮递员送信 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 从1到其他点的距离就是简单的dijkstra的板子,但是因为是有向边,所以返回的时候不会走原来的路,必须找到从要返回的k点到1点的最短路。 刚开始我想的是返回时求n-1次dijkstra,但是会超时,所以换一个
阅读全文
摘要:P1119 灾后重建 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 这道题太好了,之前我只会打模板,对三重循环中的第一层循环概念并没有那么清晰,没有了解floyd的本质。这道题直接让我跪了,太牛了!! 开始分析: 这道题的关键点在于用floyd更新任意两点距离的时候,由于每个村落
阅读全文
摘要:floyd最短路算法: 一、用途: 用于求任意两点之间的最短路径(多元最短路径问题) 时间复杂度O(n^3) 二、分析: 首先用二维数组来存储图的信息。比如1号城市到2号城市的路程为2,则设e[1][2]的值为2。2号城市无法到达4号城市,则设置e[2][4]的值为∞。另外此处约定一个城市自己是到自
阅读全文