hihoCoder #1246 王胖浩與環
題目大意
$n$($1\le n\le 2000$)個正整數 $a_1, a_2, \dots, a_n$($a_i\le 5\times 10^7$)分布在一個圓環上。
定義 $b_k$ 為:將環上的數劃分成 $k$ 段,每段上的數之和的 GCD 的最大值。
求 $b_1, b_2, \dots, b_n$ 。
解法
首先,不難看出, $a_k$ 是 $n$ 個數之和 (記做 $S$)的約數。
考慮到 $S$ 的約數並不多($\sqrt{n}$ 是很松的上界,並且往往 $n$ 越大這上界越松),從而可以考慮枚舉 $S$ 的約數 $d$,問題轉化為
這 $n$ 個數最多能分成幾段,使得每段數之和都能被 $d$ 整除。
算法一
枚舉分段的起始位置 $i$,以 $i$ 為序列起點求前綴和,看前綴和中有幾個能被 $d$ 整除。
復雜度 $O(n^2)$
算法二
不必枚舉分段的起點。
直接對輸入序列求前綴和。
按模 $d$ 的余數將 $n$ 個前綴和分類。
最大的類的 size 即為所求。
復雜度 $O(n\log n)$
這個做法應該是老套路了,我卻不知道,我太菜了。TAT
hihoCoder #1246 王胖浩與環
相關推薦
hihoCoder #1246 王胖浩與環
gcd 約數 算法 問題 ots coder pos 最大值 size 題目大意 $n$($1\le n\le 2000$)個正整數 $a_1, a_2, \dots, a_n$($a_i\le 5\times 10^7$)分布在一個圓環上。 定義 $b_k$ 為:將環上的
《A.I.愛》王力宏與人工智能談戀愛 邀李開復來客串
道德 ive 教授 是不是 智能化 挑戰 表示 網紅 對手 2017年9月19日下午,王力宏首張數字專輯《A.I.愛》亞洲發布會在北京舉行,力宏在新歌MV中化身技術男,網紅機器人Sophia扮新娘!和Robo Alpha機器人天團大跳舞蹈,與超跑酷炫飆車,全程都帥到爆了!
連結串列與環的各種問題
這題目還是慢有意思的。 題目:0.如何判斷單鏈表裡面是否有環? 演算法的思想是設定兩個指標p, q,其中p每次向前移動一步,q每次向前移動兩步。那麼如果單鏈表存在環,則p和q相遇;否則q將首先遇到null。 這裡主要理解一個問題,就是為什麼當單鏈表存在環時,p和q一定會相遇呢?
需找新的美猴王——約瑟夫環 猴王問題
猴王問題: 某森林中有n只猴子在商量猴王選舉問題,所有的猴子都想當猴王, 因此大家商量了一個選舉辦法如下: 所有的猴子圍成一圈,先從第一個猴子開始報數,報數到13的猴子就出列。 緊接著的下一個猴子,又從1開始進行新的一輪報數,報數到12的猴子再出列; 依此重複下去,每一輪報數都比上一
2018-2019-2 20175105王鑫浩《Java程序設計》實驗四 《Android開發基礎》實驗報告
版本 rom 成功 通過 com 設置 新項目 是我 啟動 實驗四 《Android開發基礎》 實驗報告封面 課程:Java程序設計 班級:1751班 姓名:王鑫浩 學號:20175105 指導教師:王鑫浩 實驗日期:2019年4月29日 實驗時間:--- 實驗序號:實驗三
用戶輸入與while循環
一段時間 16px -s for 信息 if語句 rep file error 函數input()的工作原理: 函數input()讓程序短暫運行,等待用戶輸入一些文本,獲取用戶輸入後將其存儲在一個變量中 測試input()功能—— #!/usr/bin/env python
while循環 操作列表與字典
upper rep 用戶 所有 之前 現在 ref you 特定 1、在列表間移動元素 #!/usr/bin/env python #filename=list.py num1 = [1,3,5,7,9,11,13,15] num2 = [] while num1:
王一恒《跨部門溝通與協作》講座學習筆記(圖文)
尊嚴 原則 改進 贊美 抽象 準備 興趣 ont 承諾 上周六,參加了王一恒老師的《跨部門溝通與協作》講座,老師講的一些溝通的技巧和理論還是非常有實際操作價值的,在這裏與大家共同分享一下。 溝通最忌諱的是一臉死相。 “溝”是兩個人的事情。 溝通的黃金法則:你希
PHP 分支與循環和goto
obj 所有 結構化 eal ray 流程控制 ont 如果 string 分支與循環 1、if中的判斷條件is_bool():判斷是否是布爾型is_int()、is_integer()和is_long():判斷是否為整型。is_float()、is_double()和is
王立平--GUI與GUILayout的差別
通過 都是 代碼 div track 主動 靈活 layout 哈哈 GUI.Button (new Rect(0,0,5,5,"哈哈"); GUILayout.Button ("heheh"); 1.以上代碼都是現實一個button 2.不同之處: GUI中須
04.選擇語句與循環語句
沒有 if 語句 int() demo div exti 對象 sys ges 一、鍵盤錄入數據 源碼程序: /* 為了是程序更靈活,引入鍵盤錄入模塊 如何實現鍵盤錄入? A:導包 格式:
王立平--Http中Get() 與 Post()的差別?
san gin word-wrap word add spa line 都是 保密 Http協議是基於TCP協議的,而TCP協議是一種有連接。可靠的傳輸協議。假設丟失的話,會重傳。所以這種話,就 不會有數據的丟失了。 而Http協議有三種方法。Get,Pos
hihocoder 1465 循環串匹配問題(後綴自動機)
神奇 說明 for 自動 () 狀態 出現 str pac 後綴自動機感覺好萬能 tries圖和ac自動機能做的,後綴自動機很多也都可以做 這裏的循環匹配則是後綴自動機能做的另一個神奇功能 循環匹配意思就是S是abba, T是abb 問‘abb‘, ‘bba‘,‘bab
【王曉剛】深度學習在圖像識別中的研究進展與展望
ast eric all orm 反向 nic 分類函數 大網 goole 深度學習是近十年來人工智能領域取得的最重要的突破之中的一個。它在語音識別、自然語言處理、計算機視覺、圖像與視頻分析、多媒體等諸多領域都取得了巨大成功。本文將重點介紹深度學習在物體
閉環步進電機與伺服電機對比
決定 使用 image 設備 log 良好的 定性 問題 觀察 市場上常見3D打印機電機選用的是開環步進電機,出於成本、體積、控制算法實現難以程度,開環步進電機可以達到acceptable的控制效果。 伺服電機是被現在的工程師們所推崇和津津樂道的,提到運動控制不談伺服電機幾
java分支與循環
循環條件 浮點 else if 布爾 不能 long ole null 一個 一、基礎數據類型(四類八種):不能為null整數型byte----2的8次方short----2的16次方int----2的32次方long----2的64次方浮點型float----4個doub
python基礎(4):條件語句與循環語句
語句 單分支 繼續 目的 輸入 代碼 原則 src 分享 今天我們看看條件語句與循環語句。 預習: 1、使用while循環輸出1 2 3 4 5 6 8 9 10 2、求1-100的所有數的和 3、輸出 1-100 內的所有奇數 4、輸出 1-100 內的所有偶數 5、求1
練習1 循環擬合與AUC
con text diameter iam 適用於 ice there img 變量 R需要包:mice包;AUC包或pROC包 需要知識:logistic回歸;SVM;GAM;缺失值多重插補法;擬合效果ROC、AUC In cancer studies, a ques
Python學習:基本數據類型與變量(中)與基礎之條件及循環(上)
sets 但是 while循環 spl view put 算數運算 sse 邏輯運算 一.數據類型和變量 1.可變與不可變數據類型 可變數據類型:在id不變的情況下,數據類型內部的元素可以改變 列表 字典 不可變數據類型:value改變,id也跟著改變
while與do while 區別 for循環的簡介及break和continue的區別
停止 alt 執行c light div type 結構 輸入 n) do while 循環和while循環的區別 1、do while循環是先執行循環體,然後判斷循環條件,如果為真,則執行下一步循環,否則終止循環; while循環是先判斷循環條件,如果條件為真則