This is the old and famous knapsack problem : Knapsack Problem
Here I have Knapsack problem with one constraint.
I have Knapsack with size W = 100000000 and N = 100 items I wrote the dynamic solution for it the Complexity of my algorithm is O(100000000*100) and this is too big in both time and space but there is one condition here that either W ≤ 50000 or max 1≤ i ≤ n Vi ≤ 500. so if my Knapsack size is more than 50000 my maximum value of items is limited.
So now I wonder how can I reduce the time Complexity of my algorithm with this condition I thought Knapsack problem depends on the size of knapsack and the number of items so how the value of items can change the change my algorithm?
Knapsack with one additional constraint
1k Views Asked by Daniel.V At
1
There are 1 best solutions below
Related Questions in ALGORITHM
- Two different numbers in an array which their sum equals to a given value
- Given two arrays of positive numbers, re-arrange them to form a resulting array, resulting array contains the elements in the same given sequence
- Time complexity of the algorithm?
- Find a MST in O(V+E) Time in a Graph
- Why k and l for LSH used for approximate nearest neighbours?
- How to count the number of ways of choosing of k equal substrings from a List L(the list of All Substrings)
- Issues with reversing the linkedlist
- Finding first non-repeating number in integer array
- Finding average of an array
- How to check for duplicates with less time in a list over 9000 elements by python
- How to pick a number based on probability?
- Insertion Sort help in javascript -- Khan Academy
- Developing a Checkers (Draughts) engine, how to begin?
- Can Bellman-Ford algorithm be used to find shorthest path on a graph with only positive edges?
- What is the function for the KMP Failure Algorithm?
Related Questions in DYNAMIC-PROGRAMMING
- Dynamic programming algorithm and recurrence relation
- Recursively divide a list that each iteration divides into two parts to get the closest sum overall
- Arrangements with the following conditions
- Finding longest common subsequence in O(NlogN) time
- Wagner–Fischer algorithm
- How do I keep track of path in TSP?
- Find the total number of distinct Non decreasing arrays possible
- Ways to fill a hole of length L with sticks of lengths s and t
- At most k adjacent 1s (Maximum Value limited neighbors)
- Maximum xor of a range of numbers
- Compute DP[n][m] faster
- Minimum difference between sum of two numbers in an array
- Knapsack with unbounded items
- Unbounded knapsack/coin change with optimal solution for non-standard coins
- coin change recurrence solution
Related Questions in KNAPSACK-PROBLEM
- Multiple differing views of the same list
- Knapsack with unbounded items
- Unbounded knapsack/coin change with optimal solution for non-standard coins
- How to optimize solution to the 0/1 knapsack?
- Efficiently assign games
- Knapsack with one additional constraint
- Dynamic Programming w/ 1D array USACO Training: Subset Sums
- C++ Part of brute-force knapsack
- Best approach to fit numbers
- Print the values of knapsack solution
- memory optimization of Unbounded knapsack algorithm
- Knapsack: One constraint, each item can only be selected once, with a large number of items
- Bounded knapsack - formulation
- Knapsack or similar with no values and with limits as to which items can be assigned where?
- Adding quantity-per-item constraint to knapsack algorithm
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Instead of creating a table of size
W*n, where each entryD[x][i]indicates the best value (highest) you can get with at mostxweight using the firstiitems, use the table where nowD[x][i]is the minimal weight needed to get to value ofx, using the firstielements:When you are done, find
max{ x | D(x,n) <= W) }- this is the highest value you can get, using at mostWweight, and is done by a linear scan of the last line of the DP matrix.Checking which variation you need is done by a single scan of the data.