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. 11.写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名

    //首先列出需要被操作的url     $url_path = "http://www.sina.com.cn/abc/de/fg.php?id=1";     方法一:     ...

  2. HttpClient_001_初步实现项目01的servlet,与项目02的servlet,之间数据访问

    HttpClient_001_初步实现项目01的servlet,与项目02的servlet,之间数据访问 代码下载地址: http://download.csdn.net/detail/poiuy19 ...

  3. 【Arduino】使用C#实现Arduino与电脑进行串行通讯

    在给Arduino编程的时候,因为没有调试工具,经常要通过使用串口通讯的方式调用Serial.print和Serial.println输出Arduino运行过程中的相关信息,然后在电脑上用Arduin ...

  4. html5,表单与label标签的用法2

    <form action="" autocomplete="on">    <input type="submit" va ...

  5. char类型的字节数

    java为:两个字节,C语言中为:1个字节

  6. sublime 自动编译

    Tools --> Build System --> New: { "shell_cmd": "cc.bat \"$file\"" ...

  7. Normalize.css 初识

    一. 用来干嘛的 一个现代的.准备好了支持 HTML5 技术,并且要替代 CSS Reset 处理样式的理念. Normalize.css 使浏览器渲染所有元素更加一致,并且符合现代标准.它只是针对那 ...

  8. [问题2014S07] 复旦高等代数II(13级)每周一题(第七教学周)

    [问题2014S07]  设 \(A\in M_n(\mathbb{K})\) 在数域 \(\mathbb{K}\) 上的初等因子组为 \(P_1(\lambda)^{e_1},P_2(\lambda ...

  9. hihoCoder太阁最新面经算法竞赛18

    比赛链接:http://hihocoder.com/contest/hihointerview27/problems A.Big Plus 模拟水 #include <bits/stdc++.h ...

  10. 获取sim卡序列号

    //获取sim卡序列号TelephoneManager TelephonyManager manager = (TelephonyManager)getSystemService(Context.TE ...