树链剖分
文章平均质量分 52
Hillan_
An OIer From ZJ
展开
-
BZOJ3083: 遥远的国度
裸的树剖 换根之后对于一个询问只需要判断当前根是否是在原树中被该节点包含就好了人蠢代码长 没办法#include#include#include#includeusing namespace std;char c;inline void read(long long &a){ a=0;do c=getchar();while(c'9'); while(c='0')a原创 2015-11-25 19:36:02 · 439 阅读 · 0 评论 -
BZOJ4538: [Hnoi2016]网络
裸的树链剖分 永久化标记 数据结构居然1A感人#include<cstdio>#include<iostream>#include<queue>#include<cstring>#include<set>#include<algorithm>using namespace std;multiset<int>All;int rt;char c;inline void read(原创 2016-04-18 20:32:23 · 758 阅读 · 0 评论 -
BZOJ3589: 动态树
树链剖分。。 沃日打错树剖+路径并 感觉要滚粗啊#include<cstdio>#include<iostream>#include<cstring>#include<cstdlib>using namespace std;#define ll long longconst ll Mod=1ll<<31;char c;inline void read(ll &a){原创 2016-03-22 21:32:18 · 708 阅读 · 0 评论 -
BZOJ2908: 又是nand
调试一个下午 我终于过了 QAQ主要是合并的时候比较坑#include<cstdio>#include<iostream>#include<cstring>#include<cstdlib>using namespace std;#define uint unsigned int#define ll long longchar c;inline void read(uint &a原创 2016-03-06 16:51:18 · 891 阅读 · 0 评论 -
bzoj2243: [SDOI2011]染色
好吧本来看到就是一道裸地树剖嘛。。然后差错差了一个晚上。。发现时线段树下传标记的时候坑了连线段树都打不来了QAQ计算答案的时候需要注意一下其他什么都好说突然发现其实我的程序还是很好看的(误#include#include#includeusing namespace std;char c;inline void read(int &a){ a=0;do原创 2016-01-11 21:07:50 · 476 阅读 · 0 评论 -
bzoj4336: BJOI2015 骑士的旅行
各种状况。。。。考试的时候老师给了我们这一道题然后画了一个上午来码调了一天后来发现是平衡树的rank打错了。。。。还是那句话人傻没办法这一题和CTSC那一题很像 我是直接暴力树链剖分+线段树套spaly。。。 然后发现时间垫底。。。。。#include#include#include#include#includeusing namespace std;原创 2016-01-10 18:45:32 · 1025 阅读 · 1 评论 -
BZOJ1146: [CTSC2008]网络管理Network
。。。我居然调试了一个下午 因为一个else 一个if。。。。果然自己太弱听Claris说这一题可以转化为DFS序然后容斥可以直接变成logn*logn*n 只能膜拜我的是logn*logn*logn*logn*n然后Jrmz说,这还不如暴力。。。。。反正就是很普通的一道树剖 然后在链上找k大值用树套树 由于只会外层线段树维护区间的写法 于是就打了3个log的#in原创 2015-12-19 15:43:47 · 2231 阅读 · 0 评论 -
BZOJ3626: [LNOI2014]LCA
想到离线之后就很裸了。。。我承认自己是SB 一开始还没想到。。。。还有。。今天每次提交都会忘了删文件。。。。。#include#include#include#include#includeusing namespace std;char c;inline void read(int &a){ a=0;do c=getchar();while(c'9'); wh原创 2015-11-26 18:40:26 · 658 阅读 · 0 评论 -
Hackerrank Fibonacci Numbers Tree
题目地址 https://www.hackerrank.com/challenges/fibonacci-numbers-tree 大意: 子树按深度加一段连续的Fib数列 询问两点之间的权值和注意到对于任意数列FF Fi=Fi−1+Fi−2F_{i}=F_{i-1}+F_{i-2} 当a>0,b>0a>0,b>0我们有 Fa+b=Fa−1∗Fibb+Fa∗Fibb+1原创 2016-11-16 09:49:54 · 451 阅读 · 0 评论