0%

《C++ Primer(第五版)》第二章笔记

基本内置类型

类型 含义 最小尺寸
bool 布尔类型 未定义
char 字符 8位
wchar_t 宽字符 16位
char16_t Unicode 字符 16位
char32_t Unicode 字符 32位
short 短整型 16位
int 整型 16位
long 长整型 32位
long long 长整型 64位
float 单精度浮点数 6位有效数字
double 双精度浮点数 10位有效数字
long double 扩展精度浮点数 10位有效数字

可寻址最小内存块称为字节(Byte),存储的基本单元称为字(Word)。在一台32位的计算机上,32位即字长。

Read more »

'\n\'std::endl 的区别

  • '\n’表示内容为一个回车符的字符。
  • std::endl 是流操纵符(manipulator),输出的作用和输出’\n’类似,其效果是结束当前行,并将与设备关联的缓冲区(buffer)中的内容冲刷(flush)到设备中。缓冲刷新操作可以保证到目前为止程序所产生的所有输出都真正写入输出流中,而不是仅停留在内存中等待写入流。
Read more »

此博客根据背包九讲1-3章整理编写而成,记录学习总结。
一句话:01逆序,完全正序

0-1背包问题

题目

NN 件物品和一个容量为 VV 的背包。放入第 ii 件物品耗费的费用是 CiC_i 价值是 WiW_i。求解将哪些物品装入背包可使价值总和最大。

思路

定义子问题状态: F[i,v]F[i,v]为前ii件物品放入一个容量为vv的背包可以获得的最大价值。这里的前ii件物品包括第ii件物品。
状态转移方程:

F[i,v]=max{F[i1,v],F[i1,vCi]+Wi}F[i,v]=\max\{F[i-1,v], F[i-1,v-C_i]+W_i\}

Read more »