動態規劃 程式設計師的工作

2021-10-06 02:55:05 字數 868 閱讀 9445

題目:乙個程式設計師每天上班後會收到當天的全部工作,每個程式由乙個開始時刻與乙個持續時間構成。

乙個工作日為n分鐘,從第一分鐘開始到第n分鐘結束。程式設計師到達單位後就開始工作。如果在同一時刻有多個程式需要完成,他可以任選其中的乙個來做,而其餘的則由他的同事完成,反之如果只有乙個程式,則該程式必需由他去寫成,假如某些程式開始時刻他正在工作,則這些程式也由他的同事完成。如果某程式於第p分鐘開始,持續時間為t分鐘,則該程式將在第p+t-1分鐘結束。

寫乙個程式計算該工作人員應該如何選取程式,才能獲得最大的空暇時間。

解析:這道題因為容易出現重複

所以一般使用倒推的方法

首先我親愛的達瓦黎克特制們

我們需要確定邊界

因為是倒推

我們要將a[n+1]賦值為0

下面就要開始倒推

倒推時分為兩種情況

一種是沒有會議從此時開始

這樣很簡單

這一分鐘時的休息時間

等於a[i+1]+1

第二種是

有會議從此時開始

那就要選擇所有數值中最大的

最終a[1]為正確答案

**:

#include

#include

#include

#include

using

namespace std;

intmain()

}}if(flag==

true

) c[i]

=c[i+1]

+1;else

c[i]

=c[maxx];}

//for(int i=1;i<=n;i++)

//cout

}

程式設計師人生規劃

1 好好規劃自己的路,不要跟著感覺走!根據個人的理想決策安排,絕大部分人並不指望成為什麼院士或教授,而是希望活得滋潤一些,爽一些。那麼,就需要慎重安排自己的軌跡。從哪個行業入手,逐漸對該行業深入了解,不要頻繁跳槽,特別是不要為了一點工資而轉移陣地,從長遠看,這點錢根本不算什麼,當你對乙個行業有那麼幾...

初級程式設計師規劃

在程式設計世界有些概念是基礎。大多數技術面試的目的都是為了發現你的問題解決技能以及看看你是否了解那些概念,所以除了掌握一門程式語言之外,你應該熟悉一些在程式設計師軍火庫中必須的一些概念。要想為編碼面試做好成功準備,你應該對以下領域有自信 演算法與資料結構 計算機組織 作業系統 編碼系統設計 這是程式...

程式設計師找工作

1.注重基礎的學習 c c 組合語言 資料庫操作 經常逛論壇,拜讀別人的理解,幫助回答別人的問題,自己的理解總結 社群生活 有的人說水平高的可能不注重基礎,但是有幾個人水平高到這種地步?基礎都弄不好怎麼可以憑空說弄好別的?每種語言都有它的spec 規範,就像我們的英漢詞典,這是基礎和約定的最終 2....