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 ...
随机推荐
- 让我们的svg起飞,兼容ie9的神器
<svg xmlns="http://www.w3.org/2000/svg" width="320px" height="200px" ...
- 11. 星际争霸之php设计模式--备忘模式
题记==============================================================================本php设计模式专辑来源于博客(jymo ...
- android 消息机制
一.Android应用程序的主线程主要用于更新UI界面,并且主线程不能做耗时操作,否则会引起ANR:这种情况下需要开一个子线程来进行耗时操作,动作完成之后,子线程发消息给主线程通知其更新UI显示,常见 ...
- PeopleTools预警程序制作
预警程序的概念:在主页上显示一个查询的结果.这个查询就是一个Record. 一.在Application Designer建一个项目,包含所有需要的Record. CUX_REC_BLRY Recor ...
- phpcms V9 MVC模式 与 URL访问解析
[1]URL访问解析 观察访问网页时的网址,可以得出模块访问方法,如下示例: http://www.abcd.com.cn/phpcms/index.php?m=content&c=index ...
- 运行nodejs的blog程序遇见问题
我是运行这个教程的代码.可以在网上找到相关视频和代码. 第一个问题,数据库中没有创建对应的表就开始运行程序.node app.js 这个错误问题大家可以去重现一下 第二个问题,我也没有看明白,但是我根 ...
- mongoDB windows安装
http://www.mongodb.org/ mongodb的官方文档. http://www.cnblogs.com/lipan/archive/2011/03/08/1966463.html ...
- Eclipse建立Maven项目后无法建立src/main/java资源文件夹
在项目上右键选择properties,然后点击java build path,在Librarys下,编辑JRE System Library,选择workspace default jre就可以了.
- (7) 深入了解Java Class文件格式(六)
转载:http://blog.csdn.net/zhangjg_blog/article/details/21888943 经过前几篇文章, 终于将常量池介绍完了, 之所以花这么大的功夫介绍常量池, ...
- openvpn之搭建配置
一.openvpn原理 openvpn通过使用公开密钥(非对称密钥,加密解密使用不同的key,一个称为Publice key,另外一个是Private key)对数据进行加密的.这种方式称为TLS加密 ...