啦啦啦,今天的考试题

不过原来考试题的n<=10w

由于我有更好的做法,所以我就改成20亿辣

本来先说一说考试题的正解做法的

但是复杂度是O(nlogm),实在是太渣了

所以还是说一说我的做法吧

首先假定都会写裸的DP

我们考虑A,B,如果B不能转移到A,当且仅当A不等于B且A%B=0

很容易发现当A是素数时,A只不能从1那里转移过来,也就是说素数的转移都是一样的

换句话说,在状态里当长度一定时以每个素数结尾的方案一定是一样的

这就给了我们一些启发,很容易得到结论若两个数的唯一分解式的指数排序后指数序列完全一样

则这两个数的转移一定相同,具体证明可以使用数学归纳法

(我离考试结束快15分钟的时候才证明了这个结论,结果没时间写了,真是悲桑)

我们定义转移相同的数为一个等价类,可以知道m=100000时有160个等价类

这样我们就可以构造一个160*160的矩阵,把转移暴力搞出来之后矩阵乘法加速DP

时间复杂度O(160^3logn),这样写的话在cojs上交会小小的T几个点

虽然时间复杂度分析下来是可以跑的过的

但是我们要进行跟时间复杂度同阶的模操作,这样会大大减慢程序运算速度

之后我们进行一些分析,998244353这个模数<=2^30,相乘<=2^60

如果我们开unsigned long long,那么我们理论上可以进行16次加法之后再做模运算

实际程序实现我采用了每加10次取一次模的方法,这样取模的次数大大缩小了

就可以在cojs上通过了

(虽然卡常数很不厚道,但是鉴于这道题的思路是我从头到尾YY出来的,包括对于常数的优化

所以就这样出在cojs上吧)

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

cojs 香蕉 解题报告相关推荐

  1. uscao 线段树成段更新操作及Lazy思想(POJ3468解题报告)

    线段树成段更新操作及Lazy思想(POJ3468解题报告) 标签: treequerybuildn2cstruct 2011-11-03 20:37 5756人阅读 评论(0) 收藏 举报  分类: ...

  2. 解题报告(十八)数论题目泛做(Codeforces 难度:2000 ~ 3000 + )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...

  3. 【解题报告系列】超高质量题单 + 题解(ACM / OI)超高质量题解

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我新写的超高质量的题解和代码,题目难度不 ...

  4. 解题报告(三)多项式求值与插值(拉格朗日插值)(ACM / OI)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...

  5. 解题报告(十三)中国剩余定理(ACM / OI)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...

  6. 解题报告(四)生成函数(ACM/ OI)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...

  7. 解题报告(八) prufer 序列与 Cayley 公式(ACM / OI)超高质量题解

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  8. 解题报告(一)E、(BZOJ4589)Hard Nim(博弈论 + FWT)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  9. 解题报告(五)组合计数(ACM / OI)超高质量题解

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

最新文章

  1. 借助深度卷积神经网络对图片 GIF 视频进行超分辨率放大(即放大与降噪) 以及 对视频进行 插帧(即补帧).
  2. jmeter测试java接口测试_简单易学的测试攻略:JMeter测试Java请求示例
  3. 修正 IE 的双倍页边距 bug
  4. PMCAFF | 为什么找一款CRM软件那么难?
  5. android jar 反射,android 第三方jar库 反射得到自己的资源ID
  6. Python遍历文件夹获取文件名并写入excel
  7. 移动端网站如何开发(电脑端网站到手机端网站我们需要在html代码中添加哪个meta标签)...
  8. Ubuntu 手动挂载U盘
  9. axios传参 后台接收为空
  10. Paip.声明式编程以及DSL 总结
  11. 【图像增强】基于matlab频域+密度分割+灰度级-彩色变换伪彩色图像增强【含Matlab源码 1011期】
  12. mysql数据库的基本管理
  13. android+发短信示例,【Android】如何实现Android发送短信(示例代码)
  14. Pr:视频防抖效果控件
  15. Dubbo太难了,我决定加入Spring Cloud阵营了...
  16. 【C++】代码实现:数据线性平滑算法:3点线性平滑、5点(1次、2次、3次)线性平滑、7点(1次、2次)线性平滑
  17. Windows安装jupyter教程
  18. 9月20日云栖精选夜读:异构计算高性能计算分论坛——揭秘拿什么实现超算平民化、国际化?
  19. (洛谷刷题)P1830 轰炸机III
  20. matlab已知函数表达式画函数图像,怎么用matlab画已知函数表达式的一个函数图像?函数比较复杂的……...

热门文章

  1. nodeJS中的异步编程
  2. 前端之模拟数据 - HackerVirus - 博客园
  3. 读书笔记 --- 再次阅读回流与重绘
  4. javascript --- 对象属性的深层次获取
  5. koa --- seesion实现登录鉴权
  6. vue --- 使用animate.css实现动画
  7. http --- HTTPS是在安全的传输层上发送的HTTP
  8. Windows server 2016 搭建RDS服务
  9. const和define 区别
  10. MySql连接异常解决