基本思想:
想到貪心,但是覺得時間複雜度太高,結果一不小心寫出來個更複雜的貪心;
關鍵點:
注意特殊用例,有可能無法遍歷出正確結果,即沒有切換得到正確的值,此時要避免進入死迴圈;
#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 解題思路 首先,第一反應是用遞迴解題,...