摘要:
我们先研究一道数学题,请说出下面的方程有多少组正整数解:\(x_1 + x_2 + x_3 + x_4 = 8\) 。 你可能已经想到了,这个问题其实等同于将 \(8\) 个苹果分成 \(4\) 组且每组至少 \(1\) 个苹果有多少种方案,因此该问题还可以进一步等价于在分隔 \(8\) 个苹果的 阅读全文
摘要:
1 阅读全文
摘要:
LC P69 公式 牛顿迭代法 二分 class Solution { public: int mySqrt(int x) { if(!x) return 0; // 注意题目的意思就相当于对double下取整数 // 但我们不能用double,因为double精度不准确 // sqrt(4)=2, 阅读全文
摘要:
题目链接 坑点: 数x为负数。因此 l=0,r=x不行 当数x小于1时,其三次方根可能比x大,因此 l=-fabs(x),r=fabs(x) 也不行,因为此时 l~r 范围内的数都小于 fabs(x) 阅读全文
摘要:
虚拟上连续,物理上大概率连续,除非不在同一个物理页上,并且物理页不连续时 数组在物理地址空间是否连续,对于用户空间的程序是不需要关心的。另外,对于一个抽象层次很高的编程语言,数组是不是一定要保证虚拟地址空间连续,感觉也是可以研究的。例如,java的数组就不连续? 所以array到底是在虚拟还是物理地 阅读全文
摘要:
一、例题引入 天梯赛 L2-039 清点代码库 二、代码 #include <iostream> #include <cstring> #include <algorithm> #include <vector> #include <map> using namespace std; typedef 阅读全文
摘要:
reference 一、\(Windows\) 下的路径表示 由于 \(DOS\) 原因,过去的 \(windows\) 路径表示采用反斜杠 \,而路径字符串由于反斜杠的转义字符,因此需要用双反斜杠 \\。 \(Windows\) 的根据路为磁盘号,后面跟 :path 如今的 \(Windows\) 阅读全文
摘要:
\(reference\) \(problem\) 首先考虑最长公共子序列,需要两维数组,最长上升子序列,需要一维数组 由于最长公共子序列满足两个子序列相同,因此我们可以将二维数组的一维拿出来当作最长上升子序列的一维使用 故定义 \(f[i][j]\):以 \(b[j]\) 结尾的最长公共上升子序列 阅读全文
摘要:
题目链接 参考 在最长公共子序列问题中,状态的划分有两类: \(a[i]==b[j]\) f[i][j]=f[i-1][j-1]+1; \(a[i]!=b[j]\) f[i][j]=max(f[i-1][j],f[i][j-1],f[i-1][j-1]) 不过,考虑到 \(f[i-1][j-1]\) 阅读全文
摘要:
erase : 说明:Removes from the list container either a single element (position) or a range of elements ([first,last)).This effectively reduces the conta 阅读全文