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的更多相关文章

  1. 字符串处理 BestCoder Round #43 1001 pog loves szh I

    题目传送门 /* 字符串处理:是一道水题,但是WA了3次,要注意是没有加'\0'的字符串不要用%s输出,否则在多组测试时输出多余的字符 */ #include <cstdio> #incl ...

  2. 贪心/二分查找 BestCoder Round #43 1002 pog loves szh II

    题目传送门 /* 贪心/二分查找:首先对ai%=p,然后sort,这样的话就有序能使用二分查找.贪心的思想是每次找到一个aj使得和为p-1(如果有的话) 当然有可能两个数和超过p,那么an的值最优,每 ...

  3. hdu 5636 搜索 BestCoder Round #74 (div.2)

    Shortest Path  Accepts: 40  Submissions: 610  Time Limit: 4000/2000 MS (Java/Others)  Memory Limit: ...

  4. BestCoder Round #89 02单调队列优化dp

    1.BestCoder Round #89 2.总结:4个题,只能做A.B,全都靠hack上分.. 01  HDU 5944   水 1.题意:一个字符串,求有多少组字符y,r,x的下标能组成等比数列 ...

  5. BestCoder Round #90 //div all 大混战 一题滚粗 阶梯博弈,树状数组,高斯消元

    BestCoder Round #90 本次至少暴露出三个知识点爆炸.... A. zz题 按题意copy  Init函数 然后统计就ok B. 博弈 题  不懂  推了半天的SG.....  结果这 ...

  6. bestcoder Round #7 前三题题解

    BestCoder Round #7 Start Time : 2014-08-31 19:00:00    End Time : 2014-08-31 21:00:00Contest Type : ...

  7. 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 ...

  8. Bestcoder round #65 && hdu 5592 ZYB's Premutation 线段树

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submissio ...

  9. 暴力+降复杂度 BestCoder Round #39 1002 Mutiple

    题目传送门 /* 设一个b[]来保存每一个a[]的质因数的id,从后往前每一次更新质因数的id, 若没有,默认加0,nlogn复杂度: 我用暴力竟然水过去了:) */ #include <cst ...

随机推荐

  1. 12. 星际争霸之php设计模式--模板模式

    题记==============================================================================本php设计模式专辑来源于博客(jymo ...

  2. Repeater控件三层嵌套-内层Repeater添加绑定事件

    用Repeater三层嵌套,最外层Repeater可以生成自己的ItemCommand事件.但接下来中间层因为是嵌套了的,所以无法在属性窗口中生成自己的事件.如果手动敲入则无效. 解决办法是需要通过编 ...

  3. sublime设置备份

    Settings-user { "font_face": "Consolas", "font_size": 13, "line_p ...

  4. chrome 开发者工具详解

    Google Chrome一共提供了8大组工具: Elements: 允许我们从浏览器的角度看页面,也就是说我们可以看到chrome渲染页面所需要的的HTML.CSS和DOM(Document Obj ...

  5. http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net-mvc-application

    The Contoso University sample web application demonstrates how to create ASP.NET MVC 5 applications ...

  6. [问题2014A05] 复旦高等代数 I(14级)每周一题(第七教学周)

    [问题2014A05]  (1) 设 \(x_1,x_2\cdots,x_n,x\) 都是未定元, \(s_k=x_1^k+x_2^k+\cdots+x_n^k\,(k\geq 1)\), \(s_0 ...

  7. 试用VSCode

    VSCode是代码编辑器,不是IDE. 优点: 1.内置ES6代码高亮和提示,语法验证 2.除了支持到变量定义处Go to definition,还支持弹框显示变量定义出peek definition ...

  8. indexOf属性不支持

    //此方法是数组的indexof属性不支持特此增加此段代码 if (!Array.prototype.indexOf) { Array.prototype.indexOf = function(elt ...

  9. U9单据UI开发--单据类型UI开发

    1.在解决方案下新建UI界面项目,命名以UI作为后缀 2.先删除系统默认新建的UI界面数据模型,并新建界面数据 3.新建单据类型UIModel(界面数据),以model作为界面数据后缀名 4.修改单据 ...

  10. osg渲染数据高程文件

    使用gdal解析DEM文件,将高程数据转换为HeightField对象,然后在osg渲染. 1 源代码 #include <gdal_priv.h> #include <osgVie ...