【20181103T1】地球發動機【dp優化】
一眼dp
設\(f_i\)表示前\(i\)個且\(i\)必須選的最大功率
有
\(f _i= max_{1 \leq j < i,A_i - A_j > X_j} \{f_j \}+p_i\)
下面的條件
\(A_i - A_j > X_j\)
相當於
\(X_j + A_j < A_i\)
\(X_j + A_j +1 \leq A_i\)
設\(g(i)= X_i +A_i +1\)
發現對於一個\(i\)來說\(g(i)\)是確定的
那我們可以用一個數據結構來維護
考場上用的樹狀陣列,需要先預處理出\(g(i)\)然後離散化
複雜度\(O(NlogN)\)
和暴力\(N^2\)對了30min竟然沒問題
造了個大資料發現輸出INF……檢查發現樹狀陣列查詢的返回值沒開long long,好險啊
實際上不需要資料結構,只需要對於每臺機器二分一下影響不到的最後的位置,然後倒著DP就可以了
相關推薦
【20181103T1】地球發動機【dp優化】
題面 一眼dp 設\(f_i\)表示前\(i\)個且\(i\)必須選的最大功率 有 \(f _i= max_{1 \leq j < i,A_i - A_j > X_j} \{f_j \}+p_i\) 下面的條件 \(A_i - A_j > X_j\) 相當於 \(X_j +
憤怒的小鳥【$DP$優化】
sizeof func 轉移 成功 main 算法 ace const 最小 卡常的狀壓\(DP\),憤怒的小鳥。 其實本來是個很水的狀壓\(DP\),但因為最後三個點\(n=18\),成功地把我的不可能達到的下界為\(\Omega(2^nn^2)\),緊確的上界為\(O(
【NOIP2000】方格取數 DP優化 解題報告
問題 L(1137): 【NOIP2000】方格取數 時間限制: 1 Sec 記憶體限制: 64 MB 題目描述 設有N*N的方格圖,我們將其中的某些方格中填入正整數,而其他的方格中則放入數字0。如下圖所示(見樣例): 某人從圖的左上角的A 點出發,可以
【dp優化】LIS(最長上升子序列)長度的nlogn演算法
這道題第一反應就想到了 [CEOI96]渡輪問題 就是一個非常裸的求最長上升子序列的長度,還不要方案,非常的水。然而,常規的dp複雜度是 O(n^2) ,這道題會愉快地TLE,所以要進行nlogn級別的優化。 //O(n^2) TLE #include
【codeforces 981E. Addition on Segments】【線段樹】【bitset 01揹包的妙用優化】【好題】【操作集區間的最大值能否構成】
【連結】 http://codeforces.com/contest/981/problem/E 【題意】 給定q個區間加的操作,求出這q個操作的所有子集的所有最大值,在[1,n]的範圍內 【分析】 要知道一個數能否可由某個操作集得到,只要知道對於某個
How far away ? 【HDU - 2586】【DFS+鏈式前向星優化】
題目連結 其實這道題可以不用鏈式前向星優化換做vector<>也是可以跑的,只是會許會慢些而已。 來換個中文題意好讀些: 勇氣小鎮是一個有著n個房屋的小鎮,為什麼把它叫做勇氣小鎮呢,這個故事就要從勇氣小鎮成立的那天說起了, 修建小鎮的時候,為了讓小鎮有特
【codeforces 981E. Addition on Segments】【線段樹】【bitset 01揹包的妙用優化】【好題】【操作集區間的最大值能否構成】
【連結】 【題意】 給定q個區間加的操作,求出這q個操作的所有子集的所有最大值,在[1,n]的範圍內 【分析】 要知道一個數能否可由某個操作集得到,只要知道對於某個位置上的數的操作中能否構成這個數(好像口胡了)。 對於一個數,我們可以知道能對它進行的
轉【Zabbix效能調優:配置優化】
轉載:https://sre.ink/zabbix-turn-conf/ #通過日誌可以分析當前服務狀態。LogFile=/tmp/zabbix_server.log #日誌檔案路徑。LogFileSize=1 #日誌檔案最大值(MB),超過則滾動,設為0表示不回滾。DebugLevel=3 #除錯日誌級別
NOIP模擬 地球發動機(DP)
傳送門 【題目分析】 哎呀竟然3min看出來DP轉移方程了呢。。。。雖然確實很氵。 因為最後一個不會對後面造成任何影響,所以從後往前推。轉移方程:dp[i]=max(dp[i+1],dp[last]+p[i]),last表示第一個不被影響的發動機。 【程式碼~】 #
【bzoj3675】[Apio2014]序列分割 斜率優化dp
sof turn col 兩個 led 輸入 分數 包含 class 原文地址:http://www.cnblogs.com/GXZlegend/p/6835179.html 題目描述 小H最近迷上了一個分隔序列的遊戲。在這個遊戲裏,小H需要將一個長度為n的非負整數序列分
BZOJ 2023 [Usaco2005 Nov]Ant Counting 數螞蟻:dp【前綴和優化】
答案 zoj style online nsf side cal mil www. 題目鏈接:http://www.lydsy.com/JudgeOnline/problem.php?id=2023 題意: 有n個家族,共m只螞蟻(n <= 1000, m <
BZOJ 1600 [Usaco2008 Oct]建造柵欄:dp【前綴和優化】
define cnblogs sigma set lin clas == problem swe 題目鏈接:http://www.lydsy.com/JudgeOnline/problem.php?id=1600 題意: 給你一個長度為n的木板,讓你把這個木板切割成四段
【貪心優化dp決策】bzoj1571: [Usaco2009 Open]滑雪課Ski
動態 getchar() 我們 $max bsp bool desc har spa 還有貪心優化dp決策的操作…… Description Farmer John 想要帶著 Bessie 一起在科羅拉多州一起滑雪。很不幸,Bes
bzoj 1791: [Ioi2008]Island 島嶼【基環樹+單調隊列優化dp】
getchar() ons 變量 pre \n and ostream 答案 getch 我太菜了居然調了一上午…… 這個題就是要求基環樹森林的基環樹直徑和 大概步驟就是找環—>dp找每個環點最遠能到達距離作為點權—>復制一倍環,單調隊列dp 找環是可以拓撲的,
【ARC068F】Solitaire 前綴和優化dp
tdi 大小 方案 inline \n 沒有 之前 不可 %d Description ? 你有一個雙端隊列和 N 個數字,先按 1到 N 的順序每次從任意一端插入當前數字,再進行 N 次操作每次可以從兩端彈出,求有多少種彈出序列滿足第 K 位為 1。 Input ? 一行
【BZOJ2806】Cheat 【廣義後綴自動機+單調隊列優化dp+二分】
都是 esp using pri 是什麽 hide 判斷 isp code 題意 有M篇標準作文組成了一個作文庫(每篇作文都是一個01的字符串),然後給出N篇作文(自然也是01字符串)。如果一個長度不小於L的串在作文庫中出現過,那麽它是熟悉的。對於某一篇作文,我們要把
[JZOJ5641] 林克卡特樹【樹形DP】【凸優化】
Description 給定一棵n個節點的樹,邊有邊權(可能為負)。 你需要刪掉恰好K條邊,再連上恰好K條邊權為0的邊,並保證連完邊後這還是一棵樹,求這棵樹的最大的最長路長度。 K
【BZOJ2149】拆遷隊(斜率優化DP+CDQ分治)
題目: BZOJ2149 分析: 先吐槽一下題意:保留房子反而要給賠償金是什麼鬼哦…… 第一問是一個經典問題。直接求原序列的最長上升子序列是錯誤的。比如\(\{1,2,2,3\}\),選擇\(\{1,2,3\}\)不改變後會發現無論如何修改都無法變成一個嚴格上升序列。只能選擇\(\{1,2\}\),把
F2. Pictures with Kittens (hard version)【dp+單調佇列優化】
F2. Pictures with Kittens (hard version) time limit per test 2.5 seconds memory limit per test 512 megabytes input standard input output
【bzoj 3687 簡單題】【bitset的dp揹包優化】【bitset的妙用】
【題意】 求n個數的所有子集的和的異或值 【分析】 要求計運算元集算術和的異或和。首先我們設dp[i]表示由這n個數能有多少種方案組成i,顯然這樣dp[1~sum]就將所有的子集和統計完了,那麼計算的時候只要判斷(dp[i]&1)就有ans^=i。這樣的