- 博客(3)
- 收藏
- 关注
原创 睡觉困难综合征,洛谷P3613,树链剖分+树上较复杂合并
正题 一看到这题就心碎emm,好好睡觉不行吗。。。 关键看完这道题,你就要想到,用树链剖分+线段树来维护,因为在这方面线段树是最灵活而且是最万能的。我们就要想,怎么去进行线段树合并。 首先,您不可能建2^64个线段树。然后第i个线段树维护i经过这个线段树的某个区间所留下来的值。 这样的时间复杂的虽然比起暴力来好像快很多,但是细想还是不行。 想着拆位...
2018-06-13 20:26:44 250
原创 [JLOI2014]松鼠的新家,洛谷P3258,树链剖分
正题 这题十分的简单,就是修改树上的多条路径(每个位置加一),然后输出。 动态修改就可以想到树链剖分,所以我们用树链剖分维护一下就可以了。很水不多说#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> using namespace std;...
2018-06-13 20:00:40 226
原创 [NOI2015]软件包管理器,洛谷P2146,树链剖分+dfs序优化
正题 这道题是一道很水的树上问题。 很容易我们就可以知道一个软件包只依赖另一个软件包,所以如果x依赖y,那么y就是x的父亲。 因此,就可以构造出一棵树。每个点有权值0/1表示不安装或者已安装 我们操作就转换成为了,询问根到该节点的路径上的点有多少个点为0,并把它们变为1. 或者询问该子树的节点有多少个为1,并把它们都变为0. 子树想到dfs序,动态路...
2018-06-13 19:57:32 232
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人