cojs 白树黑 黑树白 题解报告
黑树白
首先如果不是强制在线,这个题用莫队+树状数组就可以在O(n*sqrt(n)*log(n))的时间内搞定
如果没有修改操作,可以直接上主席树就可以辣
我们考虑修改操作,某一个修改操作对于某一个查询操作的贡献我们显然可以O(1)的计算
那么我们不妨对操作分块
将修改操作用一个数组存下来
每次询问时先查询主席树,之后暴力扫一遍修改操作更正答案
当修改操作到达一个阈值的时候,我们暴力重构主席树
时间复杂度和 莫队+树状数组 一样
如果有哪位老司机有更好的做法,欢迎跟我联系
白树黑
抄了一道UOJ的题目
首先一个完全平方数的唯一分解式的每个质数的指数都是偶数
那么我们不妨将每条边的边权唯一分解,之后DFS判断
但是这样会T
我们注意到我们只关注指数的奇偶性,可以尝试着用0,1去表示它
假设边权很小的情况下,每一个质数我们都可以用2的多少次幂去表示他
每条边的边权等于唯一分解式中指数是奇数的质数对应的hash值的异或和
树上距离变成 dis(u)^dis(v)^dis(lca)^dis(lca)=dis(u)^dis(v)
当dis(u)^dis(v)=0时证明u-v的乘积是完全平方数
那么我们直接一次DFS算出dis(u),之后排序扫描就可以了
当边权很大的时候,我们可以给每个质数随机一个键值
可以证明出现错误的概率是极小的 这样就可以A掉啦
cojs 白树黑 黑树白 题解报告的更多相关文章
- Android 启动APP时黑屏白屏的三个解决方案
你会很奇怪,为什么有些app启动时,会出现一会儿的黑屏或者白屏才进入Activity的界面显示,但是有些app却不会如QQ手机端,的确这里要做处理一下.这里先了解一下为什么会出现这样的现象,其实很简单 ...
- listview滚动时背景闪烁,背景黑或白问题解决
android在使用listview时出现滚动时背景闪烁,变成背景黑或白的问题这样处理: 1:在布局文件中listview标签中加入: android:cacheColorHint="#00 ...
- 训练趣题:黑与白 有A、B、C、D、E五人,每人额头上都帖了一张黑或白的纸。(此处用javascript实现)
今天的题目原题是这样的: “ 黑与白:有A.B.C.D.E五人,每人额头上都帖了一张黑或白的纸.五人对坐,每人都可以看到其它人额头上的纸的颜色.五人相互观察后,A说:“我看见有三人额头上帖的是白纸,一 ...
- Android 启动APP时黑屏白屏的三个解决方案(转载)
你会很奇怪,为什么有些app启动时,会出现一会儿的黑屏或者白屏才进入Activity的界面显示,但是有些app却不会如QQ手机端,的确这里要做处理一下.这里先了解一下为什么会出现这样的现象,其实很简单 ...
- 非黑即白--谷歌OCR光学字符识别
# coding=utf-8 #非黑即白--谷歌OCR光学字符识别 # 颜色的世界里,非黑即白.computer表示深信不疑. # 今天研究一下OCR光学识别庞大领域中的众多分支里的一个开源项目的一个 ...
- cojs 强连通图计数1-2 题解报告
OwO 题目含义都是一样的,只是数据范围扩大了 对于n<=7的问题,我们直接暴力搜索就可以了 对于n<=1000的问题,我们不难联想到<主旋律>这一道题 没错,只需要把方程改一 ...
- 解决 APP启动白屏黑屏问题
闪屏页简介 闪屏页,我们手机上的每个 APP 几乎都有自己的闪屏页,就是在真正进入程序前,会有一个页面停顿几秒钟.其实我们完全可以充分利用好这几秒钟做很多的程序初始化了启动. 为什么我的 APP 启动 ...
- cojs 二分图计数问题1-3 题解报告
OwO 良心的FFT练手题,包含了所有的多项式基本运算呢 其中一部分解法参考了myy的uoj的blog 二分图计数 1: 实际是求所有图的二分图染色方案和 我们不妨枚举这个图中有多少个黑点 在n个点中 ...
- 2015浙江财经大学ACM有奖周赛(一) 题解报告
2015浙江财经大学ACM有奖周赛(一) 题解报告 命题:丽丽&&黑鸡 这是命题者原话. 题目涉及的知识面比较广泛,有深度优先搜索.广度优先搜索.数学题.几何题.贪心算法.枚举.二进制 ...
随机推荐
- Ubuntu14.04 安装 PHP cURL
今天遇到 Fatal error: Call to undefined function curl_init() in /xxx/xxxx/www/application/library/Ku/Htt ...
- Oracle中Left join的on和where的效率差别
假设有两个表a.b 使用on Select * from a left join b on b.col = a.col and b.col2 = ‘aa’ 使用 where Select * from ...
- Gulpfile.js——编译、压缩、合并js和css文件
gulp 一个入门教程:http://www.ydcss.com/gulp API文档地址:http://www.gulpjs.com.cn/docs/api/ 我的一个Low版的gulpfile v ...
- PHP中数组排序实例学习
先介绍下php中用于数组排序的函数: 排序方法 升序 降序 ...
- http 错误编号大全(转)
状态行包含HTTP版本.状态代码.与状态代码对应的简短说明信息.在大多数情况下,除了Content-Type之外的所有应答头都是可选的.但Content-Type是必需的,它描述的是后面文档的MI ...
- PHP版本中的VC6,VC9,VC11,TS,NTS区别
以windows为例,看看下载到得php zip的文件名 php-5.4.4-nts-Win32-VC9-x86.zip VC6:legacy Visual Studio 6 compiler,是使用 ...
- 服务管理,Dll查看
//枚举系统进程 VOID CManageProcessDlg::ShowProcess() { m_ListProcess.DeleteAllItems(); HAND ...
- mac os去除去除.DS_Store文件--使用python和go(原创)
.DS_Store (英文全称 Desktop Services Store)是一种由苹果公司的Mac OS X操作系统所创造的隐藏文件,目的在于存贮文件夹的自定义属性,例如文件们的图标位置或者是背景 ...
- Log Parser 2.2
Log Parser 2.2 是一个功能强大的通用工具,它可对基于文本的数据(如日志文件.XML 文件和 CSV 文件)以及 Windows 操作系统上的重要数据源(如事件日志.注册表.文件系统和 A ...
- ActiveMQ之Topic
与Queue不同,Topic实现的是发布/订阅模型,在下面的例子中,启动两个消费者共同监听一个Topic,然后循环给这个Topic发送多个消息. 例子: public class TopicTest ...