Per molti quiz di programmazione ci viene data una serie di linee di input e dobbiamo elaborare ogni input, fare alcuni calcoli e produrre il risultato.
La mia domanda è qual è il modo migliore per ottimizzare il runtime della soluzione?
- Leggi tutto l'input, memorizzalo (in array o qualcosa del genere), calcola il risultato per tutti, infine genera tutto insieme.
o 2. Leggere un input, calcolare il risultato, emettere il risultato e così via per ogni input dato.
UPDATE
Poiché nessuna risposta era specifica, chiederei quale sia l'approccio migliore per problemi come questo :
Quadrant Queries (30 points)
There are N points in the plane. The ith point has coordinates (xi, yi). Perform the following queries:
1) Reflect all points between point i and j both including along the X axis. This query is represented as "X i j"
2) Reflect all points between point i and j both including along the Y axis. This query is represented as "Y i j"
3) Count how many points between point i and j both including lie in each of the 4 quadrants. This query is represented as "C i j"Input:
The first line contains N, the number of points. N lines follow.
Thei
th line contains xi and yi separated by a space.
The next line contains Q the number of queries. The next Q lines contain one query each, of one of the above forms.
All indices are 1 indexed.Output:
Output one line for each query of the type "C i j". The corresponding line contains 4 integers; the number of points having indices in the range [i..j] in the 1st,2nd,3rd and 4th quadrants respectively.
Constraints:
1 <= N <= 100000 1 <= Q <= 1000000
You may assume that no point lies on the X or the Y axis.
All (xi,yi) will fit in a 32-bit signed integer
...