- 博客(5)
- 问答 (1)
- 收藏
- 关注
原创 线段树区间更新的模板
1.线段树区间最大值更新代码模板class SegTree {private: int _start, _end, _mid; SegTree*_left, *_right; int _sum; int _lazy;public: SegTree(int start,int end) { _start = start, _end = end; _mid = _start + (_end - _start) / 2; _left = NULL, _right = NULL;
2020-07-31 10:45:05
233
原创 迭代法实现二叉树的前序,中序,后序遍历,非递归
典型的二叉树的遍历是采用递归方式。/** * 二叉树定义 * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ //前序遍历void preorderTraversal(TreeNode* root){ if(NULL==root){ retu
2020-06-18 12:37:41
235
1
原创 LBNL热力学仿真软件window和therm下载
链接:https://pan.baidu.com/s/1gWqzWnh1VOJpQh0sHYQabQ提取码:1x1f注:安装这两个软件需要同时安装上图中选中的两个支持包,不然会出错
2020-06-16 20:29:02
3718
原创 双向BFS搜索模板
BFS是常用的一种方式,它可以求出起始点和终点之间的最短路径,通常情况下,BFS的形式如下://求解start和end之间的最短路径int bfs(int start,int end,int n,vector<vector<int>>&graph){ int n=graph.size(); int dist=0; vector<bool> visited(n,false);//访问标识,初始化为false queue<int> Q; Q
2020-06-12 21:41:31
369
原创 关于0-1背包的常数优化的理解
在背包九讲中,作者提到过for i ← 1 to Nfor v ← V to Ci中第二重循环的下限可以改进。它可以被优化为for i ← 1 to Nfor v ← V to max(V -sum(Ci~Cn), Ci)可以这样理解:我们需要的最终结果是dp[V],当dp[V]最后一次更新实在i=N时,此时根据转移公式,dp[V]=max(dp[V],dp[V-CN]+WN),其他的dp[0~ V-CN]是不需要的,所以不需要再转移了。由此倒推,当i=N-1时,需要计算dp[V-CN]
2020-06-04 10:30:28
286
1
空空如也
C++重载的运算符不能一起调用吗
2018-09-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人