数据结构
wosiguwozai0133
这个作者很懒,什么都没留下…
展开
-
数据结构
数据结构 题目:给出二叉树的的中序和后序遍历,找一个叶子使得它到根的路径的权和最小,多解的话,叶子本身的权最小:3 2 1 4 5 7 6 3 1 2 5 6 7 4 1 先根据先序和后序的关系求一个完整的树,然后用深度递归来计算。 代码如下://题解,用中序和后序建立一棵树//通过遍历这个数求出最优解#include "stdafx.h"#include <string>#i原创 2016-06-06 11:18:07 · 292 阅读 · 0 评论 -
单调栈:(修筑绿化带)
题目:修筑绿化带,这中间的j-b+d+1,和i-a+c+1,始终没弄明白是怎么回事。[HAOI2007] 修筑绿化带【问题描述】 为了增添公园的景致,现在需要在公园中修筑一个花坛,同时在画坛四周修建一片绿化带,让花坛被绿化带围起来。 如果把公园看成一个M*N的矩形,那么花坛可以看成一个C*D的矩形,绿化带和花坛一起可以看成一个A*B的矩形。 如果将花园中的每一块土地的“肥沃度”定原创 2016-08-08 11:36:22 · 574 阅读 · 0 评论 -
树状数组
树状数组这篇文章写的挺好的,让我终于理解了树状数组的作用: 树状数组 树状数组几个模板代码:1.lowbitint lowbit(int x){ return x & (-x);}/*求前i位的和*/int getSum(int i){ int s = 0; while(i > 0) { s += C[i];原创 2017-10-17 22:36:42 · 182 阅读 · 0 评论 -
并查集
最近才知道并查集是分类用,以前太naive了,现在也很naive。并查集本质是维护一个森林,刚开使的时候,森林每个点是孤立的,也可以理解每个点是一个树,通过一个条件,将这些树合并成一个大树。并查集的主要两个是Union 和 find。 可以查看一下联通树的节点。代码:这里不是特别详细,以后会补充的#include #include using namespace std原创 2017-03-02 20:46:05 · 289 阅读 · 0 评论