程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> HDU 5115 Dire Wolf

HDU 5115 Dire Wolf

編輯:C++入門知識

HDU 5115 Dire Wolf


上次北京賽現場賽的題了,昨天做了道區間dp,突然想起來這道題,都是很類似的,就翻出來做了做

剛開始像昨天做的那道一樣,老想著怎麼逆推,後來發現這道題應該正著推

其實正推和逆推乍看起來是很相似的,只不過一個是dp[i][j]表示i、j左右還有其他狼時消滅掉i-j這段消耗的費用,一個是表示最後只剩i-j時消滅掉這段的費用

總結一下昨天那道區間dp和今天的區間dp的相同點,發現區間dp適用於費用會隨著時間的推移,或者說dp的進行不斷變化

#include
#include
#include
using namespace std;
const int inf=999999999;
int a[205],b[205];
int dp[205][205],n;
void init(){
	for(int i=0;i<205;i++){
		for(int j=0;j<205;j++){
			dp[i][j]=inf;
		}
	}
	b[n+1]=0;
	for(int i=1;i<=n;i++) dp[i][i]=a[i]+b[i-1]+b[i+1];
	for(int i=1;i

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved