- 博客(6)
- 收藏
- 关注
原创 结构体内存对齐,计算偏移量offsetof和位段
文章目录1 结构体内存对齐2 计算偏移量3 位段1 结构体内存对齐 结构体内存对齐是一种以空间换时间的做法,计算机可以更快的取到内存中某个位置的数据,防止了某些数据的二次访问。 我们先说下结构体对齐规则: 1、成员变量要对齐到"对齐数"的整数倍上。所谓对齐数就是指编辑器默认的对齐数和该成员的大小的较小值(比如 int a;对齐数为4。 2、结构体总体大小是该结构体所有对齐数中最大的那个...
2020-04-19 10:11:44 773
原创 http总体理解
文章目录1 HTTP概述1.1与HTTP密不可分的3个协议2 HTTP报文2.1 HTTP报文结构2.2 URI(统一资源标识符)2.3 Cookie技术2.4 状态码3 HTTP的安全3.1 HTTPS4 基于HTTP的功能追加协议4.1 HTTP瓶颈4.1 消除HTTP瓶颈的技术5 参考目录1 HTTP概述 Web浏览器,服务器,和相关web程序都是通过HTTP相互通信的,HTTP可以从遍...
2020-04-09 17:42:40 163
原创 回溯算法 全排列3种实现含next_permutation
文章目录1 回溯算法原理2 next_permutation3 全排列的三种实现1 回溯算法原理 回溯法也就是我们所说的dfs,可以系统地搜索一个问题的所有解或任意解。基本的含义是按照深度优先的策略,从根节点出发寻找解空间,在到达最底端时进行回溯并判断,继续向下搜索。一般回溯法可以画一个完全二叉树就可以形象的表示。回溯算法一般以递归实现,有模板如下:void dfs(int cur)...
2020-04-09 11:55:12 473
原创 背包问题3 二维背包和分组背包
二维背包 有总体积为V,且最大只能放质量为MMM的背包中,存在n个物品,体积为viv_ivi ,价值为wiw_iwi,质量为mim_imi,求怎么放可以得到最大体积。 总体来说就是在01背包的基础上为物品新增了一个重量的属性,代码还是比较简单,可以在我们之前的01背包的代码基础上加一层循环就ok了。并且我们至少需要一个二维数组dp[i][j]dp[i][j]dp[i][j]表示在背包体积...
2020-04-03 14:57:07 283
原创 背包问题2 多重背包,混合背包
多重背包 有总体积为V的背包,存在n个物品,体积为viv_ivi,价值为wiw_iwi,数量为cic_ici,求怎么放可以得到最大体积多重背包问题有三种解法:1、转换为01背包 2、二进制分解 3、单调队列优化,一般采用二进制分解。1、转换为01背包,做法和完全背包转01背包类似,我们之前讲过了。const int n=1010;int dp[n];int Multiple_pa...
2020-04-03 13:51:31 284
原创 动态规划 背包问题1 01背包 完全背包
背包问题作为基本的动态规划问题很有必要掌握,最近看了《背包九讲》,自己总结了下:01背包 问题: 总体积为V的背包,存在n个物品,低第iii个物品的体积为viv_ivi,价值为wiw_iwi,求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。 动态规划总体来说就是对一个元素选和不选的问题,而在背包问题中,对于每种背包问题,都存在一个状态转移方程...
2020-04-03 09:36:52 186
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人