动态规划的各种优化 | 清逸



动态规划的各种优化 | 清逸

题意:产品的生产需要m(105)个步骤,每个步骤可以在n(5)个机器中任何一台完成,机器i完成第j个步骤的时间为ai,j。把半成品从一台机器上搬到另一台机器上也需要一定的时间k,每台机器最多只能连续完成产品的l(5104)个步骤,问最短需要多长时间。

题解:朴素的动态规划的算法:定义dp[i][j]表示前i个步骤,最后一段步骤用第j个机器完成,sum[i][j]表示前i个步骤用第j个机器完成的时间。状态转移方程:
dp[i][j]=min{dp[t][p]+(sum[i][j]sum[t][j])+k},(jp,itl)
时间复杂度:O(n2ml)
把方程式变形得:
dp[i][j]=min{dp[t][p]sum[t][j]}+sum[i][j]+k,(jp,itl)
发现括号内的式子是根据t决定的(枚举pj),所以可以用单调队列维护一个单调递增的序列进行优化,时间复杂度:O(n2m)


Read full article from 动态规划的各种优化 | 清逸


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts