06 2015 档案

摘要:题面:P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中。P教授有编号为1...N的N件玩具,第i件玩具经过压缩后变成一维长度为Ci.为了方便整理,P教授要求在一个一维容器中的玩具编号是连续的。... 阅读全文
posted @ 2015-06-30 16:30 orzpps 阅读(141) 评论(0) 推荐(0) 编辑
摘要:货币兑换 问题描述 小 Y 最近在一家金券交易所工作。该金券交易所只发行交易两种金券:A 纪 念券(以下简称 A 券)和 B 纪念券(以下简称 B 券)。每个持有金券的顾客都有 一个自己的帐户。金券的数目可以是一个实数。 每天随着市场的起伏波动,两种金券都有自己... 阅读全文
posted @ 2015-06-29 20:29 orzpps 阅读(158) 评论(0) 推荐(0) 编辑
摘要:题面:在X星球上有N个国家,每个国家占据着X星球的一座城市。由于国家之间是敌对关系,所以不同国家的两个城市是不会有公路相连的。 X星球上战乱频发,如果A国打败了B国,那么B国将永远从这个星球消失,而B国的国土也将归A国管辖。A国国王为了加强统治,会在A国和B国之间修建一条公路,即选择原A国的某... 阅读全文
posted @ 2015-06-25 10:16 orzpps 阅读(165) 评论(0) 推荐(0) 编辑
摘要:题面:给定长度为n的数列X={x1,x2,...,xn}和长度为m的数列Y={y1,y2,...,ym},令矩阵A中第i行第j列的值Aij=xi xor yj,每次询问给定矩形区域i∈[u,d],j∈[l,r],找出第k大的Aij。(n#include#includeusing namespa... 阅读全文
posted @ 2015-06-23 21:01 orzpps 阅读(154) 评论(0) 推荐(0) 编辑
摘要:题目大意:给定一个数列,求一个区间[l,r],区间次大值与区间其他任意数的异或值最大,输出这个最大值; 思路:看到xor最大,就想到可持久化trie。然后我们先要预处理出对于每个数x,区间次大值为x的最大区间是什么。求区间左端点时,我们只要找到前面比x大的第二个数位置a,然后区间左端点就是a-1... 阅读全文
posted @ 2015-06-23 20:41 orzpps 阅读(188) 评论(0) 推荐(0) 编辑
摘要:题面:给定一个非负整数序列 {a},初始长度为 N。 有 M个操作,有以下两种操作类型: 1 、A x:添加操作,表示在序列末尾添加一个数 x,序列的长度 N+1。 2 、Q l r x:询问操作,你需要找到一个位置 p,满足 l#include#includeusing n... 阅读全文
posted @ 2015-06-23 20:32 orzpps 阅读(131) 评论(0) 推荐(0) 编辑
摘要:题目大意:给你一个N*N(N#include#includeusing namespace std;const int maxn=500010,maxm=200010; int n,m,cnt,ans[maxm>1; cdq_solve(l,mid),cdq_solve(mid+1,r); so... 阅读全文
posted @ 2015-06-23 15:27 orzpps 阅读(129) 评论(0) 推荐(0) 编辑
摘要:3651: 网络通信 Time Limit: 10 Sec Memory Limit: 256 MB Submit: 50 Solved: 37 [Submit][Status][Discuss] Description 有一个由M 条电缆连接的 N 个站点组成的网络。为了防止垄断... 阅读全文
posted @ 2015-06-22 21:47 orzpps 阅读(214) 评论(0) 推荐(0) 编辑
摘要:#include#include#include#define ls c[x][0]#define rs c[x][1]using namespace std;const int maxn=300010;int n,m; struct LCT{ int c[maxn][2],fa[maxn... 阅读全文
posted @ 2015-06-22 21:39 orzpps 阅读(112) 评论(0) 推荐(0) 编辑
摘要:话说bzoj上叫tree的题可真多... 题目大意:路径加,路径乘,路径求和,加边删边。 思路:动态树搞搞就行了,两个标记要注意。 #include#include#include#define ll unsigned int#define ls c[x][0]#define rs c[x][1... 阅读全文
posted @ 2015-06-22 21:34 orzpps 阅读(129) 评论(0) 推荐(0) 编辑
摘要:题意:给定一棵树,支持换根,路径权值覆盖,求子树最小。 思路:求子树?上树链剖分,但是换根怎么办?我们只能通过原有信息推出换根后的答案。换根不影响路径修改,所以只要考虑子树最小值的维护。 这里要分3种情况讨论 1:如果询问点是当前根,直接返回整棵树的最小值。 2:如果在原树中,当前根不在x的子树... 阅读全文
posted @ 2015-06-22 21:11 orzpps 阅读(136) 评论(0) 推荐(0) 编辑
摘要:题目大意:给定一个简单图,支持删边,每次询问两点间 最大边权值最小的路径。 思路:题目中权值在边上,而LCT维护的全值在点上,所以要先转化,对于连接x和y的第i条路径,把边变成第i+n个点,然后把权值放到边点上,所有真正的点权值赋为0,这也是维护边权的常用方法。接着就是一个性质:每次询问两点... 阅读全文
posted @ 2015-06-22 20:44 orzpps 阅读(126) 评论(0) 推荐(0) 编辑
摘要:2243: [SDOI2011]染色 Time Limit: 20 Sec Memory Limit: 512 MB Submit: 3271 Solved: 1262 [Submit][Status][Discuss] Description 给定一棵有n个节点的无根树和m个... 阅读全文
posted @ 2015-06-22 20:22 orzpps 阅读(82) 评论(0) 推荐(0) 编辑
摘要:题意:树上的NIM游戏,每次取出一条链,问先手是否有必胜策略。 思路:动态树or树链剖分维护链异或和,为0则没有,否则有。LCT死活就是TLE,代码就不贴了。 阅读全文
posted @ 2015-06-22 20:12 orzpps 阅读(100) 评论(0) 推荐(0) 编辑
摘要:题目大意:询问两点是否连通(反人类的是连通输no,不联通输yes...),单点权值修改,路径和。 思路:正常的动态树,搞搞就行了。#include#include#includeconst int maxn=30010;using namespace std;int n,m;char op[15... 阅读全文
posted @ 2015-06-22 20:07 orzpps 阅读(124) 评论(0) 推荐(0) 编辑
摘要:思路:动态树。把每个装置看成点,能弹到的装置连边,能弹飞的装置连到n+1号点,每个点点权设为1,这样问几次弹飞就可以转化为该点到n+1号点的路径的点权和。 #include#include#include#includeconst int maxn=200010;using namespace ... 阅读全文
posted @ 2015-06-22 19:58 orzpps 阅读(148) 评论(0) 推荐(0) 编辑
摘要:单点修改,询问链最大,链和,LCT和树链剖分都可以写,不过LCT就是慢.... LCT: #include#include#includeusing namespace std;const int maxn=30010;int n,m,u[maxn],v[maxn];char s[7];stru... 阅读全文
posted @ 2015-06-22 19:47 orzpps 阅读(113) 评论(0) 推荐(0) 编辑
摘要:#include#include#includeusing namespace std;const int maxn=10010;int n,m;char s[10];struct node{ int c[maxn][2],f[maxn],rev[maxn]; bool isroot(int x... 阅读全文
posted @ 2015-06-22 17:36 orzpps 阅读(120) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示