模拟30A 题解
A. 树
联想起远古考试时做的题 记忆的轮廓。
树上走一些步数的期望。
显然可以直接解方程。
然而复杂度$O(qn^3)$,利用树上的性质优化一下,
直接一遍dfs过程中解出来,可以$O(qnlogmod)$,其中的log是求逆元。
然而只有20分。
预处理出每个点走到每个儿子的期望步数,走到父亲的期望步数。
树上倍增求lca,处理两个函数的树上前缀和就完了。
B. 回文串
串A的后缀与串B的前缀构成回文串,
一定满足:
A的后缀与B的前缀翻转后匹配,
A的后缀之前 或者 B的前缀之后 存在一段回文串。
加上字符串哈希。
可以预处理出由每个点开始的回文串。
预处理$O(n^2)$,询问$O(qn)$。
转变预处理思路。
枚举回文串的起始点,复杂度无法接受。
转化为枚举回文串的中间点,二分加哈希判断,差分进行区间修改。
预处理复杂度为$O(nlogn)$。
对于每个询问,也可以二分匹配长度,用前缀和直接统计答案。
询问$O(qlogn)$。
考场上得到了$O(n^2+qn)$的做法,但局限于枚举起始点。
拓展一下思路,也许就能打出正解。
C. 异或
考场上的暴力:枚举起始点,直接dfs。
复杂度$O(n^2)$,44分。
正解一:题中给出的条件,一定满足0~k-1内的数,在定义的运算下,是一个群。
也就是说存在单位元和逆元。
求出dfs序,以dfs序为下标建线段树,维护每个节点每个值的方案数。
使用树上启发式合并的思路,直接继承重儿子,暴力dfs轻儿子并统计答案。
因为一定搜索出一条链,对于ban掉的情况,直接打标记,在回溯时清掉标记。
复杂度显然为$O(nklog^2n)$。
似乎可以优化到$O(nklogn)$,不会。
模拟30A 题解的更多相关文章
- [CQOI2012]模拟工厂 题解(搜索+贪心)
[CQOI2012]模拟工厂 题解(搜索+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1327574 链接题目地址:洛谷P3161 BZOJ P26 ...
- NOIP第7场模拟赛题解
NOIP模拟赛第7场题解: 题解见:http://www.cqoi.net:2012/JudgeOnline/problemset.php?page=13 题号为2221-2224. 1.car 边界 ...
- 大家AK杯 灰天飞雁NOIP模拟赛题解/数据/标程
数据 http://files.cnblogs.com/htfy/data.zip 简要题解 桌球碰撞 纯模拟,注意一开始就在袋口和v=0的情况.v和坐标可以是小数.为保险起见最好用extended/ ...
- HGOI NOIP模拟4 题解
NOIP国庆模拟赛Day5 题解 T1 马里奥 题目描述 马里奥将要参加 NOIP 了,他现在在一片大陆上,这个大陆上有着许多浮空岛,并且其中一座浮空岛上有一个传送门,马里奥想要到达传送门从而前往 N ...
- 10.8 wtx模拟题题解
填坑 orz w_x_c_q w_x_c_q的模拟赛(150pts,炸了) money 题目背景: 王小呆又陷入自己的梦里.(活在梦里...) 题目描述: 王小呆是一个有梦想的小菜鸡,那就是赚好多好多 ...
- [NOIP模拟13]题解
A.矩阵游戏 其实挺水的? 考场上根本没有管出题人的疯狂暗示(诶这出题人有毛病吧这么简单的东西写一大堆柿子),而且推公式能力近乎没有,所以死掉了. 很显然乘法有交换率结合率所以操作顺序对最终结果没什么 ...
- 「题解」NOIP模拟测试题解乱写II(36)
毕竟考得太频繁了于是不可能每次考试都写题解.(我解释个什么劲啊又没有人看) 甚至有的题目都没有改掉.跑过来写题解一方面是总结,另一方面也是放松了. NOIP模拟测试36 T1字符 这题我完全懵逼了.就 ...
- 【洛谷】xht模拟赛 题解
前言 大家期待已久并没有的题解终于来啦~ 这次的T1和HAOI2016撞题了...深表歉意...表示自己真的不知情... 天下的水题总是水得相似,神题各有各的神法.--<安娜·卡列妮娜> ...
- 10.9 guz模拟题题解
感谢@guz 顾z的题题解 考试共三道题,其中 第一题help共10个测试点,时间限制为 1000ms,空间限制为 256MB. 第二题escape共20个测试点,时间限制为1000ms2000ms, ...
随机推荐
- java 泛型和object比较
引言 我们使用object和泛型做形参,都是为了让这个方法能接收更多类型的对象,让程序变得更健壮,代码复用率更高.当我们回看自己写的代码时会发现,好像使用泛型的地方使用object也可以,使用obje ...
- 模型文件(checkpoint)对模型参数的储存与恢复
1. 模型参数的保存: import tensorflow as tfw=tf.Variable(0.0,name='graph_w')ww=tf.Variable(tf.random_normal ...
- Javascript中创建函数的几种方法
// 工厂函数模式 // 无法解决对象识别问题 function person0(name, age, job) { var obj = new Object(); obj.name = name; ...
- CRM ORDER SEARCH增强查询条件(已有字段)
ORDER_H表增强的两个字段,很早了,非AET,非EEWB,所以也加不到标准的搜索界面. GENIL_MODEL_BROWSER找到对应的查询和结果结构,append进字段:ZZZBRAND. 然后 ...
- springmvc核心流程
用户请求DispathcerServlet(前端控制器). (前端控制器)DispatcherServlet接受到请求,将根据请求信息交给处理器映射器(HandlerMapping). 处理器映射器( ...
- Mac 提示错误”xcrun: error“
错误现象: Mac 安装python模块时出现异常错误 xcrun: error: invalid active developer path (/Library/Developer/CommandL ...
- H3C 802.11 WEP加密特点与注意事项
- webpack4.0报WARNING in configuration警告
在进行webpack打包工作时,先进行如下步骤 1). 安装webpack:推荐全局命令 cnpm install webpack -g 查看webpack版本 webpack -v 2) . 此时 ...
- jmeter中如何引用Java
通过source()获取java文件: vars.get,获取参数type_id的值
- javascript---call,apply,bind
对于这三个函数,估计大家都还是很模糊,具体是用来干什么?简而言之,是用来对象冒充的. 首先这三个方法是每个函数都包含的非继承的的方法. 我来搬砖一下,此文引用 http://www.cnblogs.c ...