这道题目是香蕉的加强版

当m=100w时矩阵会很大,而且又有多组询问,所以这道题用原来香蕉的程序会T

所以我们需要更好点的做法

我们考虑优化我们的状态

首先考虑这道题的隐藏性质,考虑不合法的情况

那么A至少是B的2倍,我们考虑不合法的一段,容易证明这段的最大长度不会超过logm

不妨设s[i]表示长度为i的每个位置都不合法的方案数

由于长度是logm,所以对于s的求解是m*log^2m的

用一些奇技淫巧可以优化一下常数,使得复杂度接近m*logm

之后我们考虑容斥

设f[i][0]表示长度为i的不合法的位置至少为偶数个的方案数

f[i][1]表示长度为i的不合法的位置至少为奇数个的方案数

这是很容易的DP的,DP的时候枚举末尾一段有多少个连续不合法的即可

根据枚举的长度分奇数偶数讨论转移

之后我们发现这个转移是固定的,而且转移涉及的状态数只有2*logm个

所以我们可以考虑构造矩阵来优化转移

这样矩阵乘法一次的时间复杂度为8*log^3m,远远比上一道香蕉的做法要优秀

最后的答案显然是f[n][0]-f[n][1],对于每个询问暴力矩阵乘法就可以了

总时间复杂度O(logn*log^3m+mlogm)

就这样,我们就可以完美的解决这道题目了

在CTSC的时候,徐明宽大爷说矩阵乘法在求单行或单列的时候是可以做到n^2的

那么我们可以用这个方法继续优化EX_香蕉,这样就可以把T扩大,变成EX_EX_香蕉了

转载于:https://www.cnblogs.com/joyouth/p/5476632.html

cojs EX_香蕉 题解报告相关推荐

  1. 2015浙江财经大学ACM有奖周赛(一) 题解报告

    2015浙江财经大学ACM有奖周赛(一) 题解报告 命题:丽丽&&黑鸡 这是命题者原话. 题目涉及的知识面比较广泛,有深度优先搜索.广度优先搜索.数学题.几何题.贪心算法.枚举.二进制 ...

  2. CSP-2019day1题解报告

    day1题解报告 题目 T1 T2 从链想起 转为正解 T3(摘自同级大佬xez) 题目 T1传送门 T2传送门 T3传送门 T1 乍一看,这道题做过,可以用对称性做,如果他的长度过了一半,就输出1, ...

  3. 爆炸的符卡洋洋洒洒题解报告

    爆炸的符卡洋洋洒洒题解报告 标签:动态规划 题目链接 来源:牛客网 解题思路: 显而易见的背包问题 但再观察a,b的数据范围,开不了那么大的dp数组 这就启发我们去优化,由于题目要求魔力总耗的是k的倍 ...

  4. 2022杭电多校5题解报告(同步自语雀)

    一.赛后总结 Wuhu~萌新又来啦~ 第一次在考场上写出NTT,虽然是比较裸,但感觉真的不错~ 开场看03,思路比较直,就是dijk,但跨层跳跃想了好久~最后想到了类似于B树或者B-树一类的层内链表, ...

  5. 2022杭电多校4题解报告(同步自语雀)

    一.赛后总结 嘤嘤嘤,本人纯萌新,深夜反思自己到底有多菜~(:′⌒`) 前天没写出状压,再前面不会SAM和圆方树,再往前不会NTT和FFT,真的是个啥也不会的萌新呢. 这场主要的问题在于02的0环和1 ...

  6. 2022牛客多校2题解报告(同步自语雀)

    一.赛后总结 总结就是缺乏清晰的大脑,当然一切的一切归因于实力不足. 开局看K,半个小时推出DP式子,交了就WA.差错没查出来,写了暴力对拍,就去看D了.后来拍了3个小时也没出问题...可能是数据生成 ...

  7. 【题解报告】ZJNU综合训练(2021.1.26)

    [题解报告]ZJNU综合训练(2021.1.26) B C D F H I J M 综合训练 ZJNU综合训练(2021.1.26) B:DP+搜索 | CF 1057C C:组合数学+dp | CF ...

  8. 题解报告(CDUT暑期集训——第三场)

    题解报告(CDUT暑期集训--第三场) A - Problem A. Ascending Rating HDU - 6319 思路:单调队列板子题?(但是弱的一批的我还是不会用(有空补上 用的滑动窗口 ...

  9. 题解报告(CDUT暑期集训——第二场)

    题解报告(CDUT暑期集训--第二场) D - Game HDU - 6312 思路:水题 Alice一直是必胜态 AC代码 #include<stdio.h> #include<i ...

最新文章

  1. java学习笔记_Java学习笔记——第1篇
  2. 【.NET开发之美】如何提高.NET DataMap中的加载速度
  3. 公有云 --- 华为云的基本运用
  4. 从旁观者到贡献者:经历 OpenYurt 的“开源之夏”,我们想让更多人体验社区的魅力
  5. mysql 乐观锁 version_乐观锁-version的使用
  6. python获取方法的装饰方法_python – 在一个方法上得到装饰器名称的内省?
  7. php中魔术方法的应用
  8. Linux下Jenkins与GitHub自动构建NetCore与部署
  9. 数论 欧几里得与扩展欧几里得
  10. android7 编译配置摄像头,MTK平台新增摄像头指南 -- 已更新android 7.0路径的更改。...
  11. 网站地图生成器_10个相见恨晚的PPT网站 让你看一眼就心动
  12. 开源字符处理类库:CharString类 拆分自自己研发的web服务器中的类库
  13. 相反数-网易校招编程题
  14. 今天去火车站送女朋友了
  15. 微信APP支付开发指引
  16. 音频(四) - 音频压缩(Speex使用Opus简介)
  17. 写在而立之年到来之前
  18. 2021 Anomaly Detection (李宏毅
  19. 虚拟机macos系统共享文件
  20. 三、box 盒子模型

热门文章

  1. 将之前写完的猜数字游戏改为通过javabean_42个宝宝益智游戏良心整理!让宝宝快人一步更聪明...
  2. html转为纯文本并且保留换行,使用jsoup将html转换为纯文本时,如何保留换行符?...
  3. cacti 升级php,Cacti 升级备忘
  4. python 财务分析-linux 复制移动命令详解
  5. MS17-010 “永恒之蓝“ 修复方案
  6. Python学习入门3:编程零基础应当如何开始学习Python?
  7. Kali Linux 从入门到精通(八)-主动信息收集
  8. 计算机系统结构专业是什么专业,中国大学计算机系统结构专业排名
  9. mysql中in和exists的应用场景_mysql中关于in和exists的使用
  10. 51NOD 1088 最长回文子串1089 最长回文子串 V2(Manacher算法)