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.pswp.cn/news/271866.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/271866.shtml
英文地址,請注明出處:http://en.pswp.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、關于知識短板的概念理解我個人認為所謂的知識…