Es gibt N Gärten nummeriert von 1 bis N in einer Reihe, jeder ith Garten hat Ci Karotten. Wir müssen den Wert der gesamten Karotten in Garten (n) jeder möglichen kontinuierlichen Untersequenz des Arrays speichern.Wie lösen Sie das gegebene Szenario mit gegebenen Speicherbeschränkungen?
Nun müssen wir das erhaltene Array sortieren und folgende Q-Abfragen beantworten. In jeder Abfrage wollen wir die Summe der Werte von L bis R (beide inklusive) im oben erhaltenen sortierten Array kennen.
Beispieltestfall
Input:
3 3 //First number is the total no. of gardens. Second is no. of queries
4 9 1 //No. of carrots in each of the gardens
1 6 // Query return sum from L to R.
2 4
3 3
Output:
51 23 9 // Respective Output for 3 queries.
Erklärung
Gardens [1, 2, 3] has [4, 9, 1] carrots respectively.
All possible continuous gardens are { [1], [2], [3], [1, 2], [2, 3], [1, 2, 3] } .
Sum of carrots in each subgardens is {4, 9, 1, 13, 10, 14}
Sorted array is {1, 4, 9, 10, 13, 14} .
Now Queries for 1 6 sum is 1+4+9+10+13+14 which is 51,
next 2 4 so 4+9+10 hence 23, and 3 3 which is 9.
nun dieses Problem, das ich Summe mit Simulation/Suffix gelöst haben, aber das ursprüngliche Problem
große Einschränkung hat1 ≤ No. of gardens ≤ 2*10^5
1 ≤ Carrots in a particular garden ≤ 100
1 ≤ Li ≤ Ri ≤ N(N+1)/2
1 ≤ No. of queries ≤ 20
Jetzt, wenn ich versuche, alle möglichen kontinuierlichen Teilfolge für N so groß wie 2 * 10^5 zu erstellen. der kontinuierlichen Untersequenz, die ich bekomme, ist ungefähr 10^10, was zu groß ist, um in einem Array gespeichert zu werden.
Was ist eine mögliche Problemumgehung dafür? Wie kann ich die Abfragen beantworten, ohne tatsächlich die Summe aller kontinuierlichen Subsequenz zu speichern?
Was ist die Einschränkung für die Anzahl der Abfragen? – Yerken
Hinzugefügt constraint für Abfragen –