現在知道在一段時間內,鼴鼠出現的時間和地點,請編寫乙個程式使機械人在這一段時間內打死盡可能多的鼴鼠。
首先,座標為 \((x,y)\) 到座標為 \((a,b)\) 的網格需要的時間為 \(|x-a|+|y-b|\)
由於題目已經自動幫我們按時間排好序了,所以,我們可以直接 \(dp\)
考慮揹包
**:
#include using namespace std;
typedef long long ll;
struct nodea[10010];
ll n,k,dp[10010];
int main()
for(int i=1;i<=k;i++)
}ll ans=0;
for(int i=1;i<=k;i++)ans=max(ans,dp[i]);
cout
}
題解 P2292 HNOI2004 L語言
這到題一眼看去,似乎就是個ac自動機,然後迅速的打出了ac自動機的板子。最開始我想的是,不就判斷一下長度就行了嗎,把每乙個單詞的長度求出來,在ac自動機的時候每次用當前位置的下標減去單詞長度,如果小於等於目前的字首長度,就更新答案,然後迅速地打出 發現只有70分,仔細思考了一下,發現是因為我沒有讀清...
題解 P2290 HNOI2004 樹的計數
乙個有 n 個節點的樹,設它的節點分別為 v1,v2,v nv 1,v 2,ldots,v n v1 v2 vn 已知第 i 個節點 v iv i vi 的度數為 d id i di 問滿足這樣的條件的不同的樹有多少棵 有關樹的形態計數,考慮prufer序列 每個prufer序列對應乙個無根樹,如果...
HNOI2004 L語言 題解
看完題目,應該很多人都跟我一樣想 有多個單詞,肯定是字典樹嘛。不錯,就是字典樹,原汁原味的字典樹,先把所有單詞建一棵字典樹,然後放到文字串裡面匹配就好了,不過要注意,有些單詞可能是其它單詞的字首,所以不能過一次就算了,要列舉多種不同的單詞拼起來的情況,但是如果直接列舉單詞的話,別看他n只有20,時間...