算法
文章平均质量分 67
Protein_zmm
记录个人学习经历~~~
展开
-
[算法基础]高精度问题合集
高精度问题C++解决原创 2022-09-11 00:14:48 · 268 阅读 · 0 评论 -
[算法基础]动态规划——背包问题
01背包问题N个物品,容量为V的背包物品有两个数学——Vi体积,Wi价值每件物品最多使用一次——要么使用0次、要么使用1次,最多使用一次使得背包能装得下的情况下,最大价值为多少?#include <iostream>#include <algorithm>using namespace std;const int N = 1010;int v[N], w[N]; // 体积和价值的数组int f[N][N];int main(){ int n, m;原创 2022-05-26 09:00:09 · 171 阅读 · 0 评论 -
[算法基础]动态规划(初识)
Dynamic ProgrammingDP定义:动态规划是分治思想的延伸,通俗一点来说就是大事化小、小事化无的艺术。将大问题化解为小问题的分治过程中,保存对这些小问题已经处理好的结果,并为后面处理更大规模的问题的时候,直接使用这些结果动态规划具备三个特点:1、将原来的问题分解为几个相似的子问题2、所有的子问题只需要解决一次3、存储子问题的解动态规划的本质,是对问题状态的定义和状态转移方程的定义(状态以及状态之间的递推关系)动态规划问题一般从以下四个角度考虑:1、状态定义2、状态之间的转原创 2022-05-26 08:59:51 · 160 阅读 · 0 评论 -
[基础算法]前缀和与差分
前缀和如果有一个长度为n的数组:a1,a2…an前缀和:Si = a1+a2+…+ai1、如何求SiS0 = 0;for(i = 1; i <= n; ++i){S[i] = S[i - 1] + ai;}2、前缀和的作用快速求出原数组一段数的和[l,r]Sr - Sl-1Sr = a1 + a2 + … + al-1 + al + … + arSl-1 = a1 + a2 + … + al-1比如求[1,10]的和也就是求S10 - S0...原创 2022-05-26 08:58:32 · 124 阅读 · 0 评论 -
[基础算法]二分
二分整数二分思路:1、找区间的左右端点[L, R],使得答案一定在当中2、找到一个判断条件,使其判断条件具有二分性(一半满足,另外一半不满足),答案一定在分界点3、分析中点mid在判断条件下是否成立,若成立,考虑答案在哪一个区间,若不成立,考虑答案在哪一个区间4、若更新方式是L = Mid, 则计算mid = (L+R+1)/ 2具有单调性的一定可以二分,但是能用二分的不一定具有单调性使用二分法要求数组有序或者类似于有序的性质例题:#include <iostream>#原创 2022-04-05 10:14:58 · 118 阅读 · 0 评论