数据结构
文章平均质量分 65
wmj_
这个作者很懒,什么都没留下…
展开
-
树 (罗雨屏)
试题来源 IOI2012中国国家队训练问题描述 给定一棵大小为 n 的有根点权树,支持以下操作: • 换根 • 修改点权 • 查询子树最小值输入格式 第一行两个整数 n, Q ,分别表示树的大小和操作数。 接下来n行,每行两个整数f,v,第i+1行的两个数表示点i的父亲和点i的权。保证f 接下原创 2013-10-29 11:12:24 · 1481 阅读 · 0 评论 -
[jsoi2008]星球大战
Description很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系。某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球。这些星球通过特殊的以太隧道互相直接或间接地连接。 但好景不长,很快帝国又重新造出了他的超级武器。凭借这超级武器的力量,帝国开始有计划地摧毁反抗军占领的星球。由于星球的不断被摧毁,两个星球之间的通讯通道也开始原创 2013-10-29 11:30:36 · 730 阅读 · 0 评论 -
Noi2001 食物链
Description动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是“1 X Y”,表示X和Y是同类。 第二种说法是“2 X Y”,表示X吃Y。 此人对N个动物,用原创 2013-10-29 11:36:16 · 922 阅读 · 0 评论 -
BZOJ 1909 Berth Allocation
题目大意:给你n个港口,每个港口都有个容量,然后有m条船要在s是进入sec,e时出去,问最多可以满足几条船的要求 n因为不同的港口互不影响,所以把不同的港口分开做对于相同的港口,只要按出来的时间贪心就行了#include#include#include#includeconst int maxn=15,maxm=100010,maxt=maxm*4;usi原创 2013-10-30 11:32:11 · 970 阅读 · 0 评论 -
Pku2054 Color a Tree
原题 http://poj.org/problem?id=2054题目大意:给你一棵树及每个点的权值和根,你需要把这颗树染色,每个时间只能染一个点,所需的花费是当前染色时间*这个点的权值,求最少花费(根必须第一个染),n这题初看时以为是tree dp ,但没有想出来,还是看了题解,但是讲的都不明觉厉,只好拿着代码自己想了。。。。这个题的大体思路就是最大一个要最先选,但是原创 2013-10-30 16:52:00 · 883 阅读 · 0 评论 -
Pku2376 Cleaning Shifts
题目大意:给你一些线段的起止点,问你最少用多少条线段可以把一段区间覆盖 线段数1、spfa+离散化+SLF即可,直接上代码#include#include#include#includeconst int maxn=1000010,maxm=2000010;using namespace std;int st,ed,tot=0;int f[maxn],no原创 2013-10-30 20:17:03 · 683 阅读 · 0 评论 -
bzoj 1901
题目大意:带修改的区间第k大就是树状数组套可持久线段树 #include#includeusing namespace std;const int maxt=10000011,maxn=1e9,maxm=10011,maxch=maxt;char buf[maxch],*wbuf=buf;inline void read(int &x){ x=0;while (*wbuf原创 2014-01-29 22:06:08 · 564 阅读 · 0 评论 -
bzoj 2653: middle(陈立杰)
首先膜拜clj。。。这道题初看没头绪,看了诸多题解后,发现时先二分,在把大于等于它的为1,小于它的为-1,一段区间最大连续和非负就行然后想了N久都没想通,终于,在昨天在外拜年时想通了,就是以每个数建可持久化线段树,然后维护sum,lsum,rsum这样初始化就nlogn,每次询问log2n,总复杂度O(Qlog2n+nlongn);代码写得还是蛮短的,就是怎么搞都只是rank 6。。。原创 2014-02-04 21:44:02 · 1579 阅读 · 0 评论