BestCoder Round #43
T1:pog loves szh I(hdu 5264)
题目大意:
给出把AB两个字符串交叉拼起来的结果,求出原串。
题解:
不解释。。直接每次+2输出。
T2:pog loves szh II(hdu 5265)
题目大意:给出N个数,求Mod P 域下 两个数最大和。 N<=100000
题解:
先把所有数Mod P,然后我们分2类讨论。 一类是A+B<=P-1. 这种情况只要排个序,然后假设A<=B,从左往右枚举A,那么最优的B是从右往左过来的。O(N)解决。
另外一类是P<=A+B<=2*P-2. 这种情况只要把最大的两个加起来就好了。 比赛的时候没考虑这种情况,傻逼了,然后就悲剧的FST了。本来打完T3 的时候是Rank 22的,然后T4貌似没人去做,就去打游戏了.结果回来发现悲剧的FST,Rank掉到50了。。
T3:pog loves szh III(hdu 5266)
题目大意:给出一棵以1位根的树,多次询问点[L,R]的LCA。 N,Q<=300000
题解:
我的做法是O(nlogn+Qlognlogn)的.就是先预处理倍增数组,然后建一颗线段树,保存线段里所有点的LCA。有区间可并性嘛。时间限制开了6s,还是水过了。
标算是少了一个log的,有一个性质,就是[L,R]的LCA等于[L,R]里Dfs序最大和最小的两个点的LCA。
证明:
对于询问[L,R],我们要找一个深度最大的点Y,[L,R]在Y的子树里。 假设已经找到了这样的Y,我们只要证明Dfs序最小的点P和Dfs序最大的点Q的LCA是Y.由于对于一个点X来说,他的子树的DFS序是连续的。PQ以外的其他点Dfs序都在PQ的Dfs序之间,所以它们应该在LCA(P,Q)的子树中。那么LCA(P,Q)只能等于Y。
所以再来一次ST求出区间Dfs序最大和最小的点.
T4:pog loves szh IV(hdu 5267)
题目大意:给出一颗树,每次修改一个节点的权值,然后询问所有路径的权值和。一条路径的权值等于路径上的点的亦或和。 N,Q<=10000. Time Limit 12s.
题解:
貌似挺难的样子,考试的时候想了大概20分钟就弃疗了。很容易想到可以把点的权值改成根到点的路径的权值,这样原先两点之间的路径的权值就变成这两点的权值的亦或和,再亦或他们的LCA。关键是想到按位来考虑。没有修改操作的话可以点分,在计算以X为根的答案的时候只要记录之前的子树里有多少个1和0. 待修改的还在学习中,之后补上。。
BestCoder Round #43的更多相关文章
- 字符串处理 BestCoder Round #43 1001 pog loves szh I
题目传送门 /* 字符串处理:是一道水题,但是WA了3次,要注意是没有加'\0'的字符串不要用%s输出,否则在多组测试时输出多余的字符 */ #include <cstdio> #incl ...
- 贪心/二分查找 BestCoder Round #43 1002 pog loves szh II
题目传送门 /* 贪心/二分查找:首先对ai%=p,然后sort,这样的话就有序能使用二分查找.贪心的思想是每次找到一个aj使得和为p-1(如果有的话) 当然有可能两个数和超过p,那么an的值最优,每 ...
- hdu 5636 搜索 BestCoder Round #74 (div.2)
Shortest Path Accepts: 40 Submissions: 610 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: ...
- BestCoder Round #89 02单调队列优化dp
1.BestCoder Round #89 2.总结:4个题,只能做A.B,全都靠hack上分.. 01 HDU 5944 水 1.题意:一个字符串,求有多少组字符y,r,x的下标能组成等比数列 ...
- BestCoder Round #90 //div all 大混战 一题滚粗 阶梯博弈,树状数组,高斯消元
BestCoder Round #90 本次至少暴露出三个知识点爆炸.... A. zz题 按题意copy Init函数 然后统计就ok B. 博弈 题 不懂 推了半天的SG..... 结果这 ...
- bestcoder Round #7 前三题题解
BestCoder Round #7 Start Time : 2014-08-31 19:00:00 End Time : 2014-08-31 21:00:00Contest Type : ...
- Bestcoder round #65 && hdu 5593 ZYB's Tree 树形dp
Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submissio ...
- Bestcoder round #65 && hdu 5592 ZYB's Premutation 线段树
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submissio ...
- 暴力+降复杂度 BestCoder Round #39 1002 Mutiple
题目传送门 /* 设一个b[]来保存每一个a[]的质因数的id,从后往前每一次更新质因数的id, 若没有,默认加0,nlogn复杂度: 我用暴力竟然水过去了:) */ #include <cst ...
随机推荐
- JQuery MultiSelect(左右选择框)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- PAT乙级 1033. 旧键盘打字(20)
1033. 旧键盘打字(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 旧键盘上坏了几个键,于是在敲一段文 ...
- RobotFrameWork http/https oauth接口测试 (二)
在RobotFrameWork http/https oauth接口测试 (一)中,大致介绍了相关的概念,终于可以步入正题了~~~ 先介绍下项目背景: 公司的项目采用的授权模式是第三种resource ...
- confluence重置admin密码
复方法: 1. 运行此sql 找到你的管理员帐户: select u.id, u.user_name, u.active from cwd_user u join cwd_membership m o ...
- grunt让Nodejs规范起来
Aug 17, 2013 Tags: gruntJavascriptnodejs Comments: 9 Comments grunt让Nodejs规范起来 从零开始nodejs系列文章,将介绍如何利 ...
- 在C#中??和?分别是什么意思?
在C# 6.0中,引入了一个 ?. 的运算符,前面的代码可以改成如下形式: int? firstX = points?.FirstOrDefault()?.X; 从这个例子中我们也可以看出它的基本用法 ...
- HTML5之FileReader的使用
HTML5定义了FileReader作为文件API的重要成员用于读取文件,根据W3C的定义,FileReader接口提供了读取文件的方法和包含读取结果的事件模型. FileReader的使用方式非常简 ...
- transient
“transient”——“瞬态”,先不说这个翻译是否恰当,这个变量关键字一直不曾使用,简单的说就是被瞬态定义的变量不可序列号.或者这么给他换个名字——“不可序列化状态”.打个比方,如果一个用户有一些 ...
- 浙江理工2015.12校赛-G Jug Hard
Jug Hard Time Limit: 10 Sec Memory Limit: 128 MB Submit: 1172 Solved: 180 Description You have two e ...
- noi 8780 拦截导弹
题目链接: http://noi.openjudge.cn/ch0206/8780/ LDS http://paste.ubuntu.com/23402528/