自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 动态规划背包问题——01背包

2022.7.20 题意概要:有n个物品和一个容量为p的背包,每个物品有重量w和价值v两种属性,要求选若干物品放入背包使背包中物品的总价值最大且背包中物品的总重量不超过背包的容量。 在上述例题中,由于每个物体只有两种可能的状态(取与不取),对应二进制中的0和1,这类问题便被称为「0-1 背包问题」。 我们用二维数组dp[i][j]表示只放前i个物品时,背包容量不超过j时的最大价值。可以列出动态转移方程dp[i][j]=max(dp[i-1][j],dp[i-1

2022-07-20 23:18:17 206 1

原创 动态规划基础

2022.6.27一、动态规划原理:1、 最优子结构 证明问题最优解的第一个组成部分是做出一个选择; 对于一个给定问题,在其可能的第一步选择中,你界定已经知道哪种选择才会得到最优解。你现在并不关心这种选择具体是如何得到的,只是假定已经知道了这种选择; 给定可获得的最优解的选择后,确定这次选择会产生哪些子问题,以及如何最好地刻画子问题空间; 证明作为构成原问题最优解的组成部分,每个子问题的解就是它本身的最优解。方法是反证法,考虑加入某个子问题的解不是其自

2022-06-27 20:22:02 130

原创 基础算法——模拟

2022.6.18这种题想要做对,与要靠技巧和题感,它是没有模板和基础思路的。一、简介:模拟就是用计算机来模拟题目中要求的操作。模拟题目通常具有码量大、操作多、思路繁复的特点。由于它代码量大,经常会出现难以查错的情况,如果在考试中写错是相当浪费时间的。二、技巧:1、写代码时,要在草稿纸上理清思路,简单写一下代码,不要妄想想一下思路就出来了。2、因为模拟题代码都很长,而且重复的代码也很多,要多写几个函数(有时侯函数也会写的很多,所以一定要清楚每个函数的作用,搞乱了就又要在再推一遍代码)。3、对于一些可能重复用

2022-06-18 13:21:02 1518

原创 最大公因数和最小公倍数

2022.6.10一、最大公因数(gcd):1、欧几里得算法:若a>b,如果b|a,则gcd(a,b)=b否则,a=b*q+r代码实现:2、多个数:采用归纳法二、最小公倍数:1、两个数设:则:且:可以发现:代码:2、多个数:也是归纳法三、真题演练(洛谷 P2118 [NOIP2014 普及组] 比例简化):题目描述:在社交媒体上,经常会看到针对某一个观点同意与否的民意调查以及结果。例如,对某一观点表示支持的有14981498 人,反对的有 902902人,那么赞同与反对的比例

2022-06-10 21:04:21 917

原创 2022.6.2 质数(素数)与合数

一、定义:1、质数():如果p除了显然约数(1 和 p)外没有其他约数,那么称p为素数(不可约数)。2.合数():a不是素数,则称a为合数。二、性质:1、如果a为合数,则必可以拆分为a=b*c()。2、如果质数p有大于1的因数d,则p一定等于d。3、大于1的合数a一定可以拆分为多个质数的乘积。4、大于1的合数a必有质数p导致批 p | a()。5、质数有无穷多个。6、大于4的质数都可以分解成的形式。三、质数计数函数:表示小于或等于n的素数的个数。四、质数判定:1、暴力枚举:时间复杂度O(n)

2022-06-02 21:08:55 531

原创 2022.5.29 快速幂

快速幂是指在O(log n)的时间内计算的简便运算,而暴力的计算需要O(n)的时间。它可以应用于模意义下取幂、矩阵幂等运算。一、算法描述:= a * a * a * …… * a (n个a)若b+c=n则=二进制取幂的想法是:我们将取幂的任务按照指数的二进制表示来分割成更小的任务。==**=**因为n有 log2 n+1 个二进制位,因此我们只用计算log n次乘法就可以计算出。二、代码实现:long long ksm(long lo...

2022-05-31 22:02:59 82

原创 2022.5.25 进制转换

一、基本了解:1、二进制(在计算机底层运算使用的进制):在二进制里,只有0和1两个数字。但用二进制表示数字会让数字过长,因此为了方便表示的需要,通常会把二进制数转换为八进制或十六进制表示。2、八进制:在八进制下,有 0,1,2,3,4,5,6,7八个数字,一般情况下,八进制数以oxx(其中o为八进制的前缀,xx代表八进制数)的形式来表示。3、十六进制:在十六进制下,有 0,1,2,3,4,5,6,7,8,9,10(A),11(B),12(C),13(D...

2022-05-25 18:35:49 436

原创 2022.5.23 位运算

一、符号(将两数作为二进制数,每一位逐一运算):1、& (and) 与运算符 (两位都为1时才为1)。2、| (or) 或运算符 (两位任意一位为1时才为1)。3、^ (xor) 异或运算符 (两位相同时才为1)。二、编码:1、原码:计算机里存的是二进制数,第一位是0表示正数,是1表示负数。2、反码:正数的反码与原码相同,负数的反码是对原码按位取反。3、补码:正数的补码与原码相同,负数的补码为反码加1。三、取反(对一个数num进行位运算,即单目运算):取反符(~)

2022-05-23 22:33:28 330 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除