题目大意:有一颗长满苹果的苹果树,有两个操作。
1.询问以一个点为根的子树中有多少个苹果。
2.看看一个点有没有苹果,如果没有苹果,那么那里就马上长出一个苹果(= =!);否则就把那个苹果摘下来。
思路:进行一次深搜,将每个节点最开始出现的时间和最后出现的时间记在一个数组里,那么这两点之间的点就是它以及它的子树的二倍,然后就用树状数组来维护区间和就行了。
CODE:
...
分类:
移动开发 时间:
2014-10-16 12:08:52
阅读次数:
200
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2531题目大意: 你的身体占据多个点。每次移动全部的点,不能撞到障碍点,问撞到目标点块(多个点)的最少步数。解题思路:挺有趣的一个题,每次要移动多个点。如果只移动一个点,就是个简单粗暴的BFS。多个点照样...
分类:
其他好文 时间:
2014-10-16 03:03:11
阅读次数:
233
回归: 在数学上来说是给定一个点集,能够用一条曲线去拟合之,如果这个曲线是一条直线,那就被称为线性回归,如果曲线是一条二次曲线,就被称为二次回归,回归还有很多的变种,如locally weighted回归,logistic回归,等等。训练集(training set)或者训练数据(traini...
分类:
其他好文 时间:
2014-10-16 00:42:01
阅读次数:
165
回归与梯度下降:回归在数学上来说是给定一个点集,能够用一条曲线去拟合之,如果这个曲线是一条直线,那就被称为线性回归,如果曲线是一条二次曲线,就被称为二次回归,回归还有很多的变种,如locally weighted回归,logistic回归,等等,这个将在后面去讲。用一个很简单的例子来说明回归,这个例...
分类:
其他好文 时间:
2014-10-16 00:32:31
阅读次数:
401
题目大意:给出y值升序的一些点,定义一个点的level值为它左下方的点的数量,求每一个level有多少个点。
思路:由于y值是升序的,那么后面的点只要判断是否x值比前面的大就行了。那么就用树状数组维护。
CODE:
#include
#include
#include
#include
#define MAX 50000
using namespace std;
...
分类:
编程语言 时间:
2014-10-15 18:09:01
阅读次数:
136
结构化过程
这两个模式的共同点在于:模式所涉及流程的执行路径是由运行时决定的,而非设计时确定。包括:Arbitrary cycles(强制循环模式) 、Implicit termination(隐式终止模式)。
² 11 任意循环(Arbitrary Cycles)
描述:
工作流中的一个点可以让一个或多个活动反复的执行。
案例:
“修改提交”后进入“经理审批”,但未通过...
分类:
其他好文 时间:
2014-10-15 17:03:01
阅读次数:
193
在Bi领域,cube是一个非常重要的概念,是多维立方体的简称,主要是用于支持联机分析应用(OLAP),为企业决策提供支持。Cube就像一个坐标系,每一个Dimension代表一个坐标系,要想得到一个一个点,就必须在每一个坐标轴上取得一个值,而这个点就是Cube中的Cell。如下图:Cube是联机分....
分类:
其他好文 时间:
2014-10-15 15:20:40
阅读次数:
366
题目大意:给定一棵有根树,每个节点有权值,求有多少链上的权值和为S,要求链上节点的深度必须单调(即这条链由某个节点出发指向根)
DFS一遍,当深搜到一个点时将这个点加入队列,同时队头向后调整,使队列中元素之和
当一个点出栈时将队尾删除,同时队头向前调整,使队列中元素之和刚好
这题1s略卡时间。。。不过我旁边的哥们用nlogn的算法超时700ms过去的0.0 这怎么过去的0.0 误差也太大了吧...
分类:
其他好文 时间:
2014-10-15 11:12:30
阅读次数:
211
题目大意:给出一棵树和一个整数s,问在树上有几条这样路径,保证路径上的点权和==s,点的深度递增。输出这个数量。
思路:利用倍增的思想,我们能在O(logn)的时间内求出一个点到他的第n个爸爸之间所有点的点权之和。由于点权只能是正的,满足二分性质。然后对于每一个点二分,看看有没有路径的权值和是S,统计答案,输出。
CODE:
#include
#include
#in...
分类:
其他好文 时间:
2014-10-15 10:52:10
阅读次数:
170
给你一颗树 每条边有一个权值 选择一个点为中心 定义中心到其他n-1个点的S值为中心到其他点的路径上的最小边权 求所有点S值的和
从大到小排序 每次合并2棵树 设为A集合 B集合 设A集合的最大S值的和为sumA B集合为sumB
中心在A或者B现在加入A-B这条边使得2个集合连通 因为A-B这条边的权值小于等于AB集合里面边的权值 所以如果合并之后中心在A 那么sumA = sumA+B集合...
分类:
其他好文 时间:
2014-10-14 23:54:29
阅读次数:
166