DP練習1題解D
DP練習1題解D
先上題目描述
樣例輸入
10
1 2
2 3
3 4
4 5
6 7
7 8
8 9
9 10
3 8
樣例輸出
3
8
emmm 因為POJ炸了 和上面講的好像有一點小區別(也可能我沒聽懂)
我不知道能不能過 所以。。
明天看下 先寫在這裡 不貼程式碼了
首先是個圖 n(n<=10000)個結點 n-1的邊
合適用鄰接表儲存
也就是個樹
是個樹狀DP
斷掉一個點後 它之下的各個子樹 和除了該點和它之下的點這棵樹 構成了森林
要讓每個樹節點數小於等於n/2
斷掉一個點要滿足條件 也就是要除了該點和它之下的點總數小於等於n/2
並且它的子樹中最大的樹節點數小於等於n/2
我們可以從底部出發動歸 傳遞上述兩個狀態 如果有點符合就輸出
我的思路是用s陣列儲存相連的邊數
d表儲存連線情況 a陣列儲存它之下的點總數 和之下的最大的樹節點數
拓撲排序結合DP
如果只有一條邊和他相連 加入佇列q
q不空就進行迴圈
取出一個只剩一個邊的元素
判斷是否符合 符合輸出
相連的是它的父節點 向他傳遞狀態
然後刪除節點 更新父節點的表
以上
ps:GH當時刷不出來 沒看 沒做 明天寫 要看英語了T_T要考四級了了了了了了了了了了
相關推薦
DP練習1題解D
DP練習1題解D 先上題目描述 樣例輸入 10 1 2 2 3 3 4 4 5 6 7 7 8 8 9 9 10 3 8 樣例輸出 3 8 emmm 因為POJ炸了 和上面講的好像有一點小區別(也可能我沒聽懂) 我不知道能不能過 所以。。 明天看下 先寫在這裡 不貼程式碼了
DP練習1題解F
DP練習1題解F 先上題目描述 咋一看100 貌似能暴力 然而。。。10^12是炸的三次方 很容易想到簡化求和的過程做字首和預處理 用s[i][j]儲存i行1-j的元素和 (如此還可以降維妙哉) 我們先用兩個迴圈定下列的範圍 如此一來變成了一個一維的DP 考慮如果要加上
DP練習1題解E
DP練習1題解E 本題首A學長指出是最長字元子序列的問題 和最長字串子串很像 但是不相同 (比如bebbebeb 兩者區別是連續不連續)( 一開始以為是要連續還以為他說錯了T_T) emmm 我沒想到 我想到是裸DP dp[i][j]表示從i到j需要補充的字元數 每次狀態轉移從d[i-1
DP練習1題解C
DP練習1題解C 先上題目描述 需要記錄的狀態有時間 已經移動次數 當前在那棵樹下 很容易想到需要開一個三維陣列dp[i][j][k] i:當前時間 j:已經移動次數 k:當前在那顆樹下 因為奶牛移動速度夠快(你真的是奶牛嗎) 我們可以讓奶牛稍微聰明下 他在當前所在樹掉果子時
DP練習1題解B
DP練習1題解B 先上題目描述 POJ2181 樣例輸入 8 7 2 1 8 4 3 5 6 樣例輸出 17 因為有兩個方向 如果只開一個數組dp[i],難以儲存前一步是上還是下 而考慮到只要奶牛不是傻子(其實是人不是傻子) 最後一步一定是上 那麼容易想到是不是可以
數論練習1題解B
數論練習1題解B 新號,新開始。第一篇題解。 先上題目(HDU1395) 這道題目上來就沒有資料範圍(捂住額頭真的合適嘛) 然後就是一句話 暴力能過(那你給個數據範圍能怎麼樣嘛) 暴力的思路也就是運用同餘性質用迴圈不斷嘗試2^i直到滿足條件,每次乘2求餘,直到餘數為1 **#i
數論練習1題解A
數論練習1題解A 先貼題 此題有兩個思路 法1:運用費馬定理和同餘 則結果同餘與2^k,(k為對n求1e9+6的模) 此處可一位位讀求 也可 高精度 備註:以上均要使用快速冪 程式碼如下 #include<iostream> #include<cs
數論練習1題解C
數論練習1題解C 考察1-n中的每一個i i=k*d 如果k為合數 則 k=pq qd>d 顯然d不是最大正因子 所以k必為素數 若k小於d的最小素因子 則 設d最小素因子為q 則 kd/q>d 因此亦不成立 從而我們得到思路 首先用篩選法篩出素數 然後每次都進行比較 程
#10172. 「一本通 5.4 練習 1」塗抹果醬 題解
tst num gist 輸出 def head printf admin line 題目鏈接 一道三進制狀壓的好題。 題目描述: Tyvj 兩周年慶典要到了,Sam 想為 Tyvj 做一個大蛋糕。蛋糕俯視圖是一個 N×M的矩形,它被劃分成
[題解]「一本通 1.3 練習 1」埃及分數
埃及分數題目連結 這道題比較經典。 演算法:迭代加深+IDA* 優化: 1.迭代加深 2.確定從小到大的搜尋順序 3.確定搜尋上下界 (1)以i為分母的數字不能大於a/b. (2)如果後面的數字都以i為分母仍然<=a/b,退出。 細節: (1)在通分過程中會爆int。 程式碼:
Codeforces Round #512 (Div. 2, based on Technocup 2019 Elimination Round 1) A-D題解
比賽傳送門 A. In Search of an Easy Problem 最樸素的解法,掃一邊有木有1。。。。。 #include<bits/stdc++.h> #define rep(i,j,k) for(int i=j;i<=k;i++) usi
集合框架練習1
oid () args ati test 練習 set 汪峰 [] package fanxing; import java.util.ArrayList; import java.util.List; public class Test { public
遞推-練習1--noi1760 菲波那契數列(2)
tex 時間 正整數 itl n) col turn page def 遞推-練習1--noi1760 菲波那契數列(2) 一、心得 二、題目 1760:菲波那契數列(2) 總時間限制: 1000ms 內存限制: 65536kB描述菲波那契數列是指這樣的數列: 數列
數位DP練習
ble section 0ms stack 存在 mem pac 內存 更新 水題 發布時間: 2017年6月22日 19:15 最後更新: 2017年6月23日 20:10 時間限制: 1000ms 內存限制: 128M 描述 給一個數n,求0~n內有多少
Python 練習1——簡易購物車
數字類型 數字 shopping enum off odi for in mac pro ping 簡易購物車用於了解購物車的大致原理,利用Python實現簡易購物車的基本功能,即:用戶將所選擇的商品放入購物車中,結算時自動輸出所購買商品及所剩余額。 # -*- codin
練習1 循環擬合與AUC
con text diameter iam 適用於 ice there img 變量 R需要包:mice包;AUC包或pROC包 需要知識:logistic回歸;SVM;GAM;缺失值多重插補法;擬合效果ROC、AUC In cancer studies, a ques
7.21練習1
title head body var 輸入 itl amp bsp set <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <t
python爬蟲練習1:豆瓣電影TOP250
import ria fff python top font beautiful code pen 項目1:實現豆瓣電影TOP250標題爬取: 1 from urllib.request import urlopen 2 from bs4 import Beaut
MySQL 查詢語句練習1
所有 -s 音響 round row clas 分類 lin nes 1、創建成績表,字段包括:學生姓名,語文成績,數學成績,英語成績 向表中插入多條數據; 查詢: (1) 查詢所有學生的數學成績和總成績 (2) 查詢所有學生的語文和數學成績和,按從
《sql語句練習1》
之間 let 創建 名稱 示例 ble 通用函數 經理 ati Oracle系列《一》:簡單SQL與單行函數 使用scott/tiger用戶下的emp表和dept表完成下列練習,表的結構說明如下 emp員工表(empno員工號/ename員工姓名/job工作/mgr