|
If the problem can be stated more clearly, my guess is that it's a variant of the bin packing problem[^]. The article mentions that this problem is NP-hard, which effectively means that the time required to find the optimal solution rises exponentially, although it may be possible to more efficiently find a solution that is known to bounded in terms of how close it is to the optimal one.
|
|
|
|
|
What is the difference between area and perimeter?
|
|
|
|
|
That's so simple to find out with a simple Google, like this[^].
|
|
|
|
|
Look at his previous message - he's a "homework help" spammer.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
I saw "Messages: 1" and didn't bother to click on it to see any other messages.
Tagged as a spammer.
|
|
|
|
|
Unfortunately the previous message is no more.
|
|
|
|
|
Watch the above post for a payload.
|
|
|
|
|
That's not a carpet! ... That's an area rug!
It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it.
― Confucian Analects: Rules of Confucius about his food
|
|
|
|
|
wrote: What is the difference between area and perimeter?
Serious ?
This primary school level. And you not even able to search internet.
Patrice
“Everything should be made as simple as possible, but no simpler.” Albert Einstein
|
|
|
|
|
|
Given an array A of n integers and k <= n, we want to choose k numbers from this array and split them to pairs, such that the sum of the differences of those pairs (in absolute value) is minimal.
DP algorithm
Does someone have an idea? Where do I start from in this problem?
Thanks in advance.
modified 27-Jul-20 7:58am.
|
|
|
|
|
|
Please answer this question.
|
|
|
|
|
What question?
If you want to ask a question, then you need to watch what you are doing.
Edit the question, change teh subject line to a short (a dozen words max) description of the problem, then put the actual question in the "Message" area, which can take a fair amount of data.
At the moment, the subject is truncated so we have no idea what help you need.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
What question ?
Patrice
“Everything should be made as simple as possible, but no simpler.” Albert Einstein
|
|
|
|
|
This exact worded homework assignment "question" showed up on this site two and half years ago.
You'll get the exact same answers the previous person got.
No, we're not doing your homework for you.
|
|
|
|
|
Basic Ideas
Here are some suggestions for distinguishing music from voice: Music usually has melody, which uses a wider range of sustained frequencies than voice. Polyphonic music has harmony, which uses more chords than does voice. A chord usually has multiple harmonics and subharmonics, while voice is much more limited in its harmonics.
Programming Approach
As general guidance, I would write tests based on realtime Fourier analysis, comparing samples of the range of music and the range of voice which you wish to distinguish (you have to make decisions about this so you know when you are successful). Each test can yield a measurement of effectiveness that you can use to direct the evolution of your ideas and program. Basically, if a test program gets 50% correct answers when faced with music and voice samples, then it is 0% successful, but if it gets 100% correct answers, it is 100% successful for that set of samples.
David Spector
|
|
|
|
|
Machine learning could probably use multi-track recordings of various genres for training. I have 3 volumes of Gregorian chanting.
It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it.
― Confucian Analects: Rules of Confucius about his food
|
|
|
|
|
I'm not sure what Confucius has to do with AI, but okay. Distinguishing music from voice must be done within a corpus of examples representative of a typical usage. I think I can say for sure that Gregorian Chant is not representative of typical use cases. But thanks for your post.
David Spector
|
|
|
|
|
Hey there.
So as my final in algorithms is getting closer, I'm trying to scrutinize some DP problems from past tests.
Input: A list L of strings, and another string s.
Output: "yes" if s is a concatenation of string from L, "no" otherwise.
Example: AGAGADIR is a concatenation of strings from the list {ADI, AG, R, SI}; but the string SIRA is not. Assume that checking if a string is contained in L costs O(1). Also, notice the option of an empty string.
My way of thinking about DP solution: The aim is initially to define the right sub-problems of the main problem, and then to develop the right recursion with the suitable memoization.
Sub-problems: we'll look at the string s up to the char at index i (between 0 and Length(s) - 1) and decide if it's itself a concatenation of strings from L.
Recursion: if i == 0 then the empty list is trivially in L, continue to i = 1; if i == 1 then go over the list L and compare if there is a char element in L which equals to the first character of s - if not, check for i=2, otherwise... here I'm stuck
Can someone please direct me? Give me some sense for DP?
Thanks in advance.
|
|
|
|
|
Member 14873814 wrote: DP problems
What is a DP problem ?
What i in your question ?
Patrice
“Everything should be made as simple as possible, but no simpler.” Albert Einstein
|
|
|
|
|
Member 14873814 wrote: Example: AGAGADIR is a concatenation of strings from the list {ADI, AG, R, SI}; Where is "SI" in that? But "AGAGADIR" could also be considered to contain the strings "AG", "AGA", "GA", "GAD", "GADI" etc. You have to decide how you delineate each part that makes the whole string.
|
|
|
|
|
List<string> L = new List<string>() { "ADI", "AG", "R", "SI" };
StringBuilder sb = new StringBuilder( "AGAGADIR" );
foreach ( string l in L ) { sb.Replace( l, "" ); }
Console.WriteLine( sb.Length == 0 ? "YES" : "NO" );
sb = new StringBuilder( "SIRA" );
foreach ( string l in L ) { sb.Replace( l, "" ); }
Console.WriteLine( sb.Length == 0 ? "YES" : "NO" );
It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it.
― Confucian Analects: Rules of Confucius about his food
|
|
|
|
|
A recursive solution would be simple, something like:
bool CanBeConstructedFromPartsList(string word) {
if (word is empty) return true
result=false
foreach(part in partslist) {
if (word starts with part) result |= CanBeConstructedFromPartsList(word with part removed)
}
return result
}
I don't see a way to do better by storing some intermediate results though.
|
|
|
|
|
What is being done in following algorithm?
dmin ← ∞
for i ← 0 to n − 1 do
for j ← 0 to n − 1 do
if i != j and |A[i] − A[j]| < dmin
dmin ← |A[i] − A[j]|
return dmin
|
|
|
|