演算法區間DP 機械人關燈

2021-07-12 00:53:05 字數 1039 閱讀 1001

題意:

在x軸上有n個燈泡,讓機械人去關燈,要求耗費的電量最少,機械人速度恆定1cm/s。例如case1, 機械人在位置5,兩盞燈分別在3和7位置。

step1: 機械人從5出發向右走兩步到7,此時有兩盞燈亮著,耗費 (7-5)*2=4w

step2:機械人從7向左走,(7-3)*1 = 4,

共耗費4+4 = 8

[輸入] 第一行是case數,

每個case,第乙個是燈泡的數量n (1<=n<=1000),以及機械人開始所在的位置s (1<=s<=1000000)。從第三行開始是每個燈泡的位置

[輸出] 最小耗電量

輸入:2

2 53

74 1019

1119

output844

/*

*/#include #include #define max_n 1005

#define inf 0x7fffffff

int n; // x軸上共有多少個位置

int x; // 機械人初始所在位置

int a[max_n]; // 儲存燈泡的位置資訊

unsigned int dp[max_n][max_n][2];

void dp()

} for (i = 1; i <= n; i++) }

dp[irobot][irobot][0] = dp[irobot][irobot][1] = 0;

for (i = irobot; i >= 1; i--) }

}int main()

// 加上機械人的位置

a[n + 1] = x;

n++;

// 將燈泡按照x軸的位置資訊從小到大排序

std::sort(a + 1, a + n + 1);

dp();

int ans = std::min(dp[1][n][0], dp[1][n][1]);

printf("%d\n", ans);

}}

演算法 機械人運動範圍

地上有乙個m行和n列的方格。乙個機械人從座標0,0的格仔開始移動,每一次只能向左,右,上,下四個方向移動一格,但是不能進入行座標和列座標的數字之和大於k的格仔。例如,當k為18時,機械人能夠進入方格 35,37 因為3 5 3 7 18。但是,它不能進入方格 35,38 因為3 5 3 8 19。請...

好色機械人的豔遇 機械人豔遇 《機械人的旅行》

講述機械人 路遇開房車的 剛剛開始的時候畫風很舒服,直到到了晚上上了她的床之後。畫風速變了!這個女主角聲音超好聽。整個情節實在太流氓了,太猥瑣了!連六六君這樣的老司機都看不下去了!正片在三分五十,不謝 很抱歉,此內容已經失效了!就連六六君也無法恢復了。請欣賞其他有效的內容 當您看到這條資訊的時候,很...

2017 04 19 特種機械人 獵豹機械人介紹

仿生機械人 獵豹機械人 說起機械人,可能由於受名詞中 人 字的影響,大部分人腦海裡出現的可能要麼是憨態可掬 動作靈活的小nao機械人,要麼是彬彬有禮 動作規範的asimo機械人,亦或是電影 人工智慧 裡有著和人一模一樣的外表的大衛。其實,這些機械人都屬於仿人機械人,這些機械人是模仿人的形態和行為而被...