07 2021 档案

摘要:离散化:概念:把一些很离散的点个重新分配,使它们尽量集中.如在1e10的范围中取1e4个数据,如果不进行离散化,则要开辟1e10的空间,而实际上只要1e4的空间就可以装下每次取出的数据,所以可通过离散化来集中这些数据.离散化的本质就是建立一个映射关系,即第n大的数字对应是几,如一组数6,2,4,66 阅读全文
posted @ 2021-07-28 16:33 jue1e0 阅读(170) 评论(0) 推荐(0) 编辑
摘要:前缀和与差分:前缀和:即指某个序列的前n项和 差分:即前缀和的逆过程 1.一维前缀和与二维前缀和:一维前缀和:(1).预处理(O(n)),s[i]统计a[1]--a[i]的和 (2).查询(O(1)):要查从l--r的值的和即等于s[r]-s[l-1] 即:S[i]=a[1]+a[2]+...+a[ 阅读全文
posted @ 2021-07-27 11:39 jue1e0 阅读(239) 评论(0) 推荐(0) 编辑
摘要:序列dp有关的一系列内容 1.LCS问题: 定义1:一个序列S,如果分别是两个或多个已知序列的子序列,且S是所有符合条件中的最长的,那么就将S称 为已知序列的最长公共子序列.所以如何用序列dp来得到最长公共子序列的长度即为所要解决的LCS问题. 补充:得到的最长公共子序列的长度可以用来做为判断两个字 阅读全文
posted @ 2021-07-26 17:06 jue1e0 阅读(102) 评论(0) 推荐(0) 编辑
摘要:二分搜索法:通过不断缩小解的可能存在的范围,从而得到求得最优解的方法. 二分搜索法查找符合值的操作思路:1.先将一批数排好序(后面的分析与题目应用默认升序) 2.进行二分查找,先找到符合条件的值(没有找到符合条件的值,就根据找出的值与条件的关系,通过二分来缩小范围,直到先找到符合条件的值)3.如果题 阅读全文
posted @ 2021-07-23 12:12 jue1e0 阅读(399) 评论(0) 推荐(0) 编辑
摘要://用二维dp解决完全背包问题(每种物品可以无限取,而不仅仅只有一个(物品同样不可分解))//题目见书挑战程序设计竞赛p57完全背包问题: //对于完全背包问题,和背包问题相比,我们一开始的考虑应该是在选择是否取物品的时候,背包问题我们 //只要考虑是取一件还是不取,而现在要考虑是取1-能取的最大件 阅读全文
posted @ 2021-07-20 19:03 jue1e0 阅读(146) 评论(0) 推荐(0) 编辑
摘要://二维dp动态规划解决01背包问题(固定重量内尽可能装价值高的物品(物品不可分解))://题目见书挑战程序设计竞赛P51的背包问题. //1.构造dp数组,明确各变量在问题中的实际含义 //分析:首先本题有三个量需要处理:第几个物品,重量,总共能获得的价值 //所以我们构造一个二维数组:dp[i] 阅读全文
posted @ 2021-07-20 19:01 jue1e0 阅读(92) 评论(0) 推荐(0) 编辑
摘要://位运算的基础知识及其应用 //基础知识://1.位运算的几种常见形式:&,|,>>,<<,^,~(所有位运算都是将数转成二进制进行按位操作)//2.对几种形式进行一个解释://&:表示按位与,其中有0出0,无0(即两个数都为1)出1//|:表示按位或,其中有1出1,无1(即两个数都为0)出0 / 阅读全文
posted @ 2021-07-20 18:58 jue1e0 阅读(190) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示