清華大學機試 需要二刷 貪心演算法,比較虎人

2022-06-24 18:15:10 字數 853 閱讀 1991

基本思想:

想到貪心,但是覺得時間複雜度太高,結果一不小心寫出來個更複雜的貪心;

關鍵點:

注意特殊用例,有可能無法遍歷出正確結果,即沒有切換得到正確的值,此時要避免進入死迴圈;

#include#include

#include

#include

#include

#include

using

namespace

std;

const

int maxn = 5010

;int

n,m;

intdp[maxn][maxn];

vector

v1;vector

v2;intmain()

cin >>m;

for (int i = 0; i < m; i++)

int cnt = 0

;

int index = 0

;

bool flag = true

;

while (index != m&&flag)

if (mx < j -index)

}if (mindex == 0

) flag = false

; cnt++;

index =mindex;

}if(flag)

cout

<< cnt-1

cout

<< -1

<}

return0;

}

清華大學機試 整數拆分 需要二刷 完全揹包問題

基本思想 第一次見到完全揹包問題,並且這個揹包問題所描述的並非整體最大值的問題,而是放置次數的問題 很多案例沒有講出為神馬要這麼遍歷dp陣列,這裡說一下 1.首先,對於n個放置元素的確定,採用打表進行 2.dp 0 1,是為了邊界初始化,來保證dp 1 當放置元素為1時,可以正常進行初始化,值得注意...

清華大學機試 剩下的樹 Easy 貪心的區間思想

基本思想 自己想到了貪心區間裡面進行區間排序的思想 但是還有一種更簡單的,直接進行構建乙個標記陣列,然後按個數進行標記即可 關鍵點 注意區間包含問題 include include include include include include using namespace std struct ...

清華大學2023年機試 遞推數列 1081

題目描述 給定a0,a1,以及an p a n 1 q a n 2 中的p,q。這裡n 2。求第k個數對10000的模。輸入 輸入包括5個整數 a0 a1 p q k。輸出 第k個數a k 對10000的模。樣例輸入 20 1 1 14 5 樣例輸出 8359 解題思路 首先,第一反應是用遞迴解題,...