cojs 香蕉 解题报告

啦啦啦,今天的考试题

不过原来考试题的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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/271866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cannot access repo1 (http://repo1.maven.org/maven2) in offline mode and the

我在maven打包的时候出现问题&#xff0c;报错如下&#xff1a; 解决方法&#xff1a; 方法一&#xff1a;如果你出现了如上错误,是因为你的离线模式而导致的依赖的jar包或者需要的插件不能够联网下载 箭头处按钮不能点&#xff0c;点击后表示离线模式 方法二&#xff1a;idea…

作为程序员如何成为专业人士?

1、什么是专业人士&#xff1f;专业人士通常会严肃对待自己的责任和事业&#xff0c;并且愿意作出艰难的选择&#xff0c;然后去做自己认为是正确的事情&#xff0c;当然往往还要自己承担对应的代价。2、专业人士的特点1、恪尽职守、精益求精、不会曲意逢迎。专业人士会让你知道…

linux安装mysql8依赖的环境_CentOS Linux release 8 安装mysql8.

删除用户userdel username删除用户组groupdel groupname查看操作系统信息cat /proc/version操作系统版本信息:Linux version 4.18.0-80.11.2.el8_0.x86_64 (mockbuildkbuilder.bsys.centos.org) (gcc version 8.2.1 20180905 (Red Hat 8.2.1-3) (GCC)) #1 SMP Tue Sep 24 11:32…

jsonp 跨域原理详解

JavaScript是一种在Web开发中经常使用的前端动态脚本技术。在JavaScript中&#xff0c;有一个很重要的安全性限制&#xff0c;被称为“Same-Origin Policy”&#xff08;同源策略&#xff09;。这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制&#xff0c;即Jav…

程序员远程办公需要面临哪些挑战?

当今&#xff0c;越来越多的软件开发团队允许他们的开发人员在家里远程工作。甚至有些团队完全是虚拟团队&#xff0c;他们没有真正的办公环境。另外如果你是一名自由软件工作者&#xff0c;也是属于远程办公的一种形式的体现。大家可能认为远程工作是那么美好和令人向往。你也…

启动项目出现com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException异常解决方法

启动SpringBoot项目失败mysql连接错误 2020-03-21 20:16:25.193 INFO 8204 --- [ main] com.cnadmart.ApiApplication : Starting ApiApplication on DESKTOP-NFT332E with PID 8204 (D:\gunangpinhui\gphProject\cnadmart-api1.1\target\classes sta…

python操作文件和目录_python文件和目录操作方法

一、python中对文件、文件夹操作时经常用到的os模块和shutil模块常用方法。1.得到当前工作目录&#xff0c;即当前Python脚本工作的目录路径: os.getcwd()2.返回指定目录下的所有文件和目录名:os.listdir()3.函数用来删除一个文件:os.remove()4.删除多个目录&#xff1a;os.rem…

[递推] hihocoder 1239 Fibonacci

题目大意 题目链接&#xff0c;给定长度为 \(n\) 的数组\(\{a_i\}\)&#xff0c;问有多少个子序列是斐波那契序列$ {f_i}{1,1,2,3,5,..}$ 的前缀&#xff0c;例如 \(\{1\},\{1,1,2\}\)。取值范围 $n\leq {10}^6,a_i \leq {10}^5 $。 算法思路 数组 \(a_i\) 取值在前 \(26\) 个斐…

程序员如何高效的学习?

作为一名程序员&#xff0c;技术的日新月异的发展、行业竞争也是愈演愈烈。你如果想让自己立于不败之地。自学是必不可少的。如何能够高效的自学呢&#xff1f;本篇文章给大家简单梳理一下对应的方法流程&#xff0c;希望能对大家能有一些帮助。1、要有全局观&#xff0c;做到心…

BeanFactory与FactoryBean的区别

spring不允许我们直接操作 BeanFactory bean工厂&#xff0c;所以为我们提供ApplicationContext 这个接口 此接口继承BeanFactory 接口&#xff0c;ApplicationContext包含BeanFactory的所有功能,同时还进行更多的扩展。 BeanFactory是个Factory&#xff0c;也就是IOC容器或对…

MyBatis入门教程(基于Mybatis3.2)

MyBatis和Hibernate一样都是基于ORM的关系型数据库框架 ORM工具的基本思想&#xff1a; 1.从配置文件(通常是XML配置文件中)得到 sessionfactory. 2. 由sessionfactory 产生 session 3. 在session中完成对数据的增删改查和事务提交等. 4. 在用完之后关闭session。 5.在java对象…

程序员效率:画流程图常用的工具

1、VisioVisio是Windows操作系统下运行的流程图和矢量绘图软件&#xff0c;它属于Office办公软件的一部分。特点&#xff1a;内置大量的模板方便使用&#xff0c;界面简洁操作方便&#xff0c;功能十分全面&#xff0c;因为属于office系列可以很方便和word办公软件结合起来使用…

如何实现数组和 List 之间的转换?

数组转 List&#xff1a;使用 Arrays. asList() 进行转换。 List 转数组&#xff1a;使用 List 自带的 toArray() 方法

java同事不写泛型_跳了一次JAVA泛型擦除的坑

记录一下今天在帮同事解决使用spring参数注入问题的时候由于对泛型的理解不到位而遇到的坑。如下代码所示&#xff1a;RequestMapping(value"saveAll")public ResponseMsg saveAll(List rules){Rule rulerules.get(0); //这行代码在测试的时候报错了......}这段代码的…

程序员职场:拥有一个学位将会在你的职业生涯中更加顺利!

1、作为程序员为什么要拥有学位&#xff1f;很多情况下&#xff0c;作为程序员&#xff0c;学位是进入大公司的敲门砖。现在很多大的科技公司&#xff0c;学位是硬性要求。一般都是本科以上的学历&#xff0c;甚至有的必须是硕士以上学历。如果你的学历达不到&#xff0c;基本上…

集合和数组的区别

集合和数组的区别 数组是固定长度的&#xff1b;集合可变长度的。 数组可以存储基本数据类型&#xff0c;也可以存储引用数据类型&#xff1b;集合只能存储引用数据类型。 数组存储的元素必须是同一个数据类型&#xff1b;集合存储的对象可以是不同数据类型。

程序员常见的职业病有哪些?

程序员是一个久坐的行业&#xff0c;基本上一天有十几个小时需要坐在电脑旁边&#xff0c;随之而来会给我们这些广大的程序员朋友们身体健康带来了很大的隐患。作为一名优秀的程序员&#xff0c;爱护自己的身体也是非常重要的&#xff0c;毕竟身体是革命的本钱嘛。今天主要给大…

java文件流null_JAVA 获取资源文件对象为NULL

今天&#xff0c;写一个添加背景音乐的方法时&#xff0c;在导入当前文件夹下的音乐时中始终出现,以下的异常&#xff0c;Exception in thread "main" java.lang.NullPointerException文件存储位置存放在当前的modlue目录下,格式为wav.源代码private void playBGM(){…

iOS数据持久化

TODO&#xff1a;数据持久化 CoreData FMDB Sqlite3 归档解档 plist NSUserDefault转载于:https://www.cnblogs.com/newhope/p/5382034.html

程序员如何快速消除自己的知识短板?

在程序员的职业生涯当中&#xff0c;知识短板将会是你职业生涯发展的瓶颈。只要你能够消除这些短板&#xff0c;这对你的职业发展会大有裨益。本篇文章主要给大家分享一下如何解决自己工作当中的知识短板。希望对大家能有些帮助。1、关于知识短板的概念理解我个人认为所谓的知识…