题目大意:给一棵树,q个询问,每次询问一个区间内的点与一个点的所有LCA的深度之和
很神的一道题啊...
首先对于每组询问,我们可以把这个区间内每个点到根的路径都+1,然后求被询问的点到根的路径和,就是这个询问的答案
然后我们可以把每组询问拆成两个,变成ans[R]-ans[L-1]
然后就可以离线,把0~n-1一个一个往里加,每次把它到根的路径+1,然后查询对应的那些询问就可以了...
分类:
其他好文 时间:
2016-05-12 12:27:20
阅读次数:
131
上一次学习了ReetrantLock,是对AQS独占模式的,这次学习CountDownLatch,是共享模式api的实现。人生不死,学无止境。先看个demo吧:
import java.util.concurrent.CountDownLatch;
public class CountDownLatchTest {
private static CountDownLatch ...
分类:
其他好文 时间:
2016-05-12 12:25:20
阅读次数:
173
《UNIX环境高级编程》(fork和vfork)本文主要介绍fork和vfork的一些特性...
分类:
其他好文 时间:
2016-05-12 12:26:59
阅读次数:
134
游戏框架
快速地发展以求能和其余玩家更好的互动。
发展城市是这个游戏的主要部分。因为所有的战斗都只是根据双方队伍的数据直接进行系统判定,并无人为操作,所以只有自己的城市比别人更强大,才能在与其余玩家的对战中获得比较好的体验与满足感。
城市发展分为两个部分,资源采集与城市建设。而资源采集这一块较为简单,玩家也很难出现资源不够用的情况。真正对玩家进行划分的是城市建设这一块。城堡、兵营、行军帐篷等...
分类:
其他好文 时间:
2016-05-12 12:24:59
阅读次数:
237
Spongebob is already tired trying to reason his weird actions and calculations, so he simply asked you to find all pairs of n and m, such that there are exactly
x distinct squares in the table consis...
分类:
其他好文 时间:
2016-05-12 12:24:59
阅读次数:
204
【题目链接】
一开始写了个二分a+最短路b,骗了65分,然后改成二分b+最短路a,骗了70分。。发现二分是不对的之后,给答案取min,骗到了90分。出题人太不负责任了。
正解是枚举a,用LCT维护b的最小生成树。
/* Telekinetic Forest Guard */
#include
#include
#include
using namespace std;...
分类:
其他好文 时间:
2016-05-12 12:23:37
阅读次数:
193
CSDN-markdown编辑器使用说明本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:
Markdown和扩展Markdown简洁的语法
代码块高亮
图片链接和图片上传
LaTex数学公式
UML序列图和流程图
离线写博客
导入导出Markdown文件
丰富的快捷键
快捷键
加粗 Ctrl + B
斜体 Ctrl + I
引用 Ctr...
分类:
其他好文 时间:
2016-05-12 12:23:48
阅读次数:
262
function varargout = rsi(price,M,thresh,scaling,cost)
% RSI
%%
% Copyright 2010, The MathWorks, Inc.
% All rights reserved.
if ~exist('scaling','var')
scaling = 1;
end
if ~exist('M','var')
M =...
分类:
其他好文 时间:
2016-05-12 12:25:13
阅读次数:
549
每个妖怪在指定环境下攻击和防御的变化量比值是一个定值,所以我们可以把妖怪看成平面上的点,横纵坐标为攻击和防御,对于每个妖怪环境看成一条k=-b/a的过该妖怪直线,每个妖怪的战斗力就是x=0时y的值加上y=0时x的值
所以我们要维护一个右上凸壳,用一条直线卡这个凸壳,假设卡到的妖怪是(x,y),我们可以用x+y-kx-y/k更新答案
对于每个单独妖怪,战斗力=x+y-kx-y/k,对勾函数,当k...
分类:
其他好文 时间:
2016-05-12 12:24:12
阅读次数:
213
《深入JVM之GCRoots》
堆中几乎存放着Java世界中所有的对象实例,垃圾收集器在对堆回收之前,第一件事情就是要确定这些对象哪些还“存活”着,哪些对象已经“死去”(即不可能再被任何途径使用的对象)
1.引用计数算法
很多教科书判断对象是否存活的算法是这样的:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值加1;当引用失效时,计数器减1;任何时刻计数器都为0的对象就是不可能再...
分类:
其他好文 时间:
2016-05-12 12:22:30
阅读次数:
357
【题目链接】
可以发现,购买方案是有周期的,周期个数即为购买次数。
对于固定的购买次数,我们可以贪心的求出最多存活多少天。
但是我们并不知道要购买多少次,反正是个函数最值问题,直接模拟退火!
看了题解之后,发现购买次数与答案为单峰函数关系,那么可以换成三分法了。。
贪心的话,先预处理出每次要购买的食物(因为有些食物一定不会去买的),然后在保质期内,贪心的全买这种食物即可。...
分类:
其他好文 时间:
2016-05-12 12:23:30
阅读次数:
190
Description
两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。...
分类:
其他好文 时间:
2016-05-12 12:23:49
阅读次数:
147
#include
#include
#include
#define MAXQSIZE 5 //最大队列长度
typedef struct SqQueue
{
int * base;
int front; //队头指针 若队列不空 指向队列头元素
int rear; //尾指针 若队列不空 指向队列尾元素的下一个位置
}SqQueue;
bool InitQueue(SqQueue...
分类:
其他好文 时间:
2016-05-12 12:23:47
阅读次数:
180
近期金价出现空头强力抛压的可能性并不大,因为美联储并不急于加息,此外市场上目前也充满了很多不确定因素,比如英国退欧事件以及美国大选。...
分类:
其他好文 时间:
2016-05-12 12:20:44
阅读次数:
167
Topcoder SRM 687 div2
通过数:2
250:#include
#include
#include
#include
#include
#include
#include
#include
#include
#include...
分类:
其他好文 时间:
2016-05-12 12:22:34
阅读次数:
175