自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (2)
  • 收藏
  • 关注

原创 BZOJ3223: Tyvj 1729 文艺平衡树(Splay) (指针版+数组版)

传送门 Splay的区间翻转:若要翻转[l, r],将l-1 Splay到根,将r+1 Splay到l-1的右儿子,然后[l, r]就在r+1的左儿子的位置了,给它打上标记,完工!#include<cstdio>#define MAXN 200005int tmp;inline void Swap(int &a, int &b) { tmp = a; a = b; b = tmp; }st

2015-11-22 16:43:31 806

原创 POJ3580 SuperMemo(Splay的区间操作)

传送门 第一次写Splay的区间操作,调了5+小时…… **Splay区间操作的核心就是区间的提取 例如:要提取[5, 12] 就要把4 Splay到根,把13 Splay到4的右儿子,那么13的左儿子就是[5, 12]的所有信息。**代码:#include<cstdio>#define MAXN 200005int tmp;inline void Swap(int &a, int &b

2015-11-22 16:38:36 1541

原创 POJ2985 The k-th Largest Group(平衡树查询第K大)

传送门 平衡树查询第k大的裸题,用并查集来维护一下哪些猫是一组的就可以了。查询第k大要维护size域,保存一个节点下面的字数的大小,更新的时候从下边更新。#include<cstdio>#define MAXN 200005struct SBT { int v, sz, ch[2], cnt;} t[MAXN];int n, m, cnt, root;#define Upd(k)

2015-11-22 16:25:34 965

原创 POJ2892 Tunnel Warfare (平衡树)

传送门 思路:当炸掉一个城市的时候,就把这个城市放入平衡树中(最开始的时候放入n+1和0),查询的时候输出这个数的后继-前驱-1,这就是答案。代码(写的Splay):#include<cstdio>#define MAXN 50005struct node { int v, ch[2], f;}t[MAXN];int rt, sz, n, m;void rot(int x){

2015-11-22 16:17:51 1008

原创 BZOJ3224:普通平衡树(含SBT、Treap、Splay模板)

传送门 这道题就是裸的平衡树的题目,操作都是模板,也就不多说了,重在代码。SBT:#include<cstdio>struct SBT { int v, sz, ch[2], cnt;} t[300005];int n, cnt, root;#define Upd(k) {\ t[k].sz = t[t[k].ch[0]].sz + t[t[k].ch[1]].sz + t

2015-11-22 16:11:23 3200 3

原创 BZOJ1036: [ZJOI2008]树的统计Count (树链剖分)

传送门 这是一道树链剖分的基础题目,只需要用线段树来维护重链上的节点信息,轻链一条一条爬就行了,在查询的时候可以先求出LCA然后查询两个点到LCA的信息然后合并就行了。 代码:/************************************************************** Problem: 1036 User: geng4512 Langua

2015-11-22 16:04:18 456

原创 NOIP2015 运输计划

传送门题目描述公元 2044 年,人类进入了宇宙纪元。 L 国有 n 个星球,还有 n−1 条双向航道,每条航道建立在两个星球之间,这 n−1 条航道连通了 L 国的所有星球。 小 P 掌管一家物流公司, 该公司有很多个运输计划,每个运输计划形如:有一艘物流飞船需要从 ui 号星球沿最快的宇航路径飞行到 vi 号星球去。显然,飞船驶过一条航道是需要时间的,对于航道 j,任意飞船驶过它所花费的时间

2015-11-20 10:59:25 3164

原创 【NOIP2015】子串

传送门 在赛场上这道题坑了我不少的时间……还是我太菜了,不过还好写出来了,时间复杂度O(nmk)O(nmk)。 DP的思路很简单 f(k,i,j)f(k, i, j)表示分了k段,用了第一个串中的前i个数字,已经构成了第二个串的前j个的方案数 f(k,i,j)=⎧⎩⎨∑f(k−1,l,j−1)∑f(k−1,l,j−1)+f(k,i−1,j−1)当s1[i]==s2[j]且s1[i−1]!=s

2015-11-15 14:41:11 6120

原创 【NOIP2015】跳石头 (二分+贪心判定)

传送门 据说是一道USACO的原题,但我没做过…… 还好考场写出来了。思路十分简单,二分答案,过后直接判定就行了。 代码(考场上写的很丑……我甚至开了一个栈去保存有哪些节点……实际上只要保存最后一个就行了):#include<cstdio>const int MAXN = 50005;int n, a[MAXN], L, M, stk[MAXN], tp;bool check(int m

2015-11-15 13:58:25 3834

原创 BZOJ1003: [ZJOI2006]物流运输trans(DP)

传送门 额,这道题拿到过后没有什么有建树的想法……甚至根本就没有往DP哪方面去向(还是题见少了,人太笨了……)所以就偷偷的看了一下discuss,看到了状态转移方程才恍然大悟。 f(i)=f(j)+dis(j+1,i)∗(i−j)+K其中(0<=j<i)f(i) = f(j) + dis(j+1, i)*(i-j) + K 其中 (0 <= j < i) KK是修改一次的花费,用dis(

2015-11-15 13:16:06 1315

原创 BZOJ1001: [BeiJing2006]狼抓兔子 (最小割)

传送门 题目大意:求给出图的最小割(……题目就是这个意思)。 明眼一看,这就是一个裸的最大流,可是被数据范围吓住了,有10610^6个点,然后又有3∗1063*10^6条边,对于网络流可怜的O(n2m)O(n^2m)的时间复杂度来说,简直是怪兽……但之前有同学告诉我,这道题就是最大流,我就硬着头皮上了一个ISAP,光荣超时,然后去找题解(想不出来了……)发现了两种,一种是把每一个面当做一个点,然

2015-11-15 13:06:04 2132 2

重庆NOIP2012选手试题

这是重庆NOIP2012选手试题,喜欢的可以下下来

2012-11-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除