網易雷火筆試 印表機(區間dp

2022-04-30 12:48:10 字數 723 閱讀 1423

有一台神奇的印表機,可列印的字母範圍大寫a-z,每次只能從紙帶上的任意位置開始列印同一字母任意次數,並且可以覆蓋之前同一位置上已經列印上的字母。給定乙個目標字串,問最少需要列印多少次才能列印出給定字串。例如,目標為abcba,先列印aaaaa,再列印bbb,再列印c,所以答案為3。

分析:沒什麼難的,看到有划水過去的,但是答案是錯的,有求聯通塊的,不理解是怎麼建的圖

我是用的區間dp,dp[i][j]表示列印【i,j】需要的列印數,[l,r]最差的選擇是在[l,j-1]的基礎上在末尾單獨的新增上那乙個字元,所以dp[i][j]最大為dp[i][j-1]+1

那麼dp[i][j]=min(dp[i][t]+d[t+1][j-1]),但是要注意會產生非法訪問(即i>j)dp的只有在類似"aa"這樣的子串的時候才會發生,將dp非法訪問的都置為1就好了,或者這樣情況手動處理

有的人思路認為如果找到乙個t

1 #include2

using

namespace

std;

3const

int maxn=1e3+5;4

intdp[maxn][maxn];

5char

s[maxn];67

intsolve()

2122}23

return dp[0][n-1

];24}25

26int

main()

view code

leetcode 664奇怪的印表機 區間dp

class solution def strangeprinter self,s str int dp def getdp i,j if i j 遞迴的終止條件 return 0 ans 1 getdp i 1 j 每次結果最大就是新增的與之前都不同,所以加1 if i,j not in dp 不在...

自我複製的3D印表機

reprap 是人類歷史上第一部可以自我複製型的機器。reprap 是一部可以生成塑料實物的免費桌面型 3d 印表機。由於 reprap 很多部件都是由塑料製成了,並且 reprap 都可以進行列印,所以 reprap 可以自我複製。也就是說,任何人都可以花一些時間收集夠材料進行製作。這也意味著,如...

pla3d列印材料密度 UV印表機列印效果影響因素

行業內大家普遍認為uv印表機墨滴越小列印的效果越佳,其實列印效果的優劣,主要與噴頭墨滴的覆蓋率 列印材料 uv印表機pass之間的插點精度 墨水的特性 控制墨滴噴射的波形等因素有關。今天與大家講下為什麼墨滴越小列印的效果不一定越佳?主要講uv印表機噴頭墨滴與介質影響的列印效果,在了解墨滴與介質的關係...