Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità
ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità
NUC 15 Pro e NUC 15 Pro+ sono i due nuovi mini-PC di casa ASUS pensati per uffici e piccole medie imprese. Compatti, potenti e pieni di porte per la massima flessibilità, le due proposte rispondono in pieno alle esigenze attuali e future grazie a una CPU con grafica integrata, accompagnata da una NPU per la gestione di alcuni compiti AI in locale.
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint
Dal palco di Proofpoint Protect 2025 emerge la strategia per estendere la protezione dagli utenti agli agenti IA con il lancio di Satori Agents, nuove soluzioni di governance dei dati e partnership rafforzate che ridisegnano il panorama della cybersecurity
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Dopo alcuni anni di assenza dai cataloghi dei suoi televisori, Hisense riporta sul mercato una proposta OLED che punta tutto sul rapporto qualità prezzo. Hisense 55A85N è un televisore completo e versatile che riesce a convincere anche senza raggiungere le vette di televisori di altra fascia (e altro prezzo)
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-06-2009, 20:39   #21
rеpne scasb
Senior Member
 
Iscritto dal: May 2008
Messaggi: 533

Ultima modifica di rеpne scasb : 18-06-2012 alle 15:39.
rеpne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2009, 20:45   #22
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
oh finalmente due uguali
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2009, 20:54   #23
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Ieee, ci siamo allora, e' il risultato.
Lo do 2 su 5 almeno
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2009, 21:06   #24
rеpne scasb
Senior Member
 
Iscritto dal: May 2008
Messaggi: 533

Ultima modifica di rеpne scasb : 18-06-2012 alle 15:39.
rеpne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2009, 21:42   #25
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
uff...
sistemato pure io....
avevo fatto il banalissimo errore di mettere l'assegnazione dopo l'if esterno..
Codice:
string[] content = File.ReadAllLines("RealLine.txt");
Stopwatch watch = Stopwatch.StartNew();
char[] separator = new char[] { ' ' };
var orderedIntervals = (from c in content
                        let tokens = c.Split(separator, StringSplitOptions.RemoveEmptyEntries)
                        let first = double.Parse(tokens[0])
                        let second = double.Parse(tokens[1])
                        select new double[] { 
                              first <= second ? first : second, 
                              first <= second ? second : first 
                        }).OrderBy(e => e[0]).ToArray();

double previousRight = double.NegativeInfinity;
double total = 0.0;
foreach (var interval in orderedIntervals)
{
    double left = interval[0];
    double right = interval[1];
    if (previousRight <= right) {
        if (left > previousRight)
        {
            total += right - left;
        }
        else
        {
            total += right - previousRight;
        }
        previousRight = right;
    }
}
watch.Stop();
Console.WriteLine("Il totale è {0}, calcolato in {1}ms", total, watch.ElapsedMilliseconds);
Console.ReadLine();
L'algoritmo che ho usato dovrebbe essere abbastanza self-explanatory
l'output è:
Codice:
Il totale è 380404,063114734, calcolato in 41ms
sul solito windows xp virtualizzato tramite parallels su un macbook pro a 2.4 ghz
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2009, 21:54   #26
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
17 pure a me

Per il momento ritiro il mio codice perché mi sono accorto che c'è un bug e il risultato, sul file grosso, non è corretto
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2009, 21:56   #27
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da rеpne scasb Guarda i messaggi
Come algoritmo ho utilizzato un OR logico su numeri float, basandomi sul concetto che se ABS(A[i]-B[i])>K allora e' possibile quantizzare A[i] e B[i] con 'n' stati di lunghezza K. Di fatto ho trasformato dei float in interi, e ne ho fatto l'OR.

Tu che algoritmo hai utilizzato?
ehmm..
dopo aver sostituito CLK_TCK con CLOCKS_PER_SEC, che altrimenti mi dava errore in compilazione, il tuo codice mi va in segmentation fault..
Lo sto usando su Mac Os X Leopard 10.5.7 compilato con XCode....
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2009, 22:02   #28
rеpne scasb
Senior Member
 
Iscritto dal: May 2008
Messaggi: 533
Allegati
File Type: zip INTERVALLI.zip (23.4 KB, 8 visite)

Ultima modifica di rеpne scasb : 18-06-2012 alle 15:39.
rеpne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2009, 22:04   #29
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da rеpne scasb Guarda i messaggi
Come algoritmo ho utilizzato un OR logico su numeri float, basandomi sul concetto che se ABS(A[i]-B[i])>K allora e' possibile quantizzare A[i] e B[i] con 'n' stati di lunghezza K. Di fatto ho trasformato dei float in interi, e ne ho fatto l'OR.

Tu che algoritmo hai utilizzato?
Ho mantenuto una lista di intervalli non sovrapposti, e ogni volta che devo valutare un nuovo intervallo cerco tutti i sovrapponibili, li estraggo, li fondo e inserisco il nuovo intervallo nella lista.
Per velocizzare la ricerca dei sovrapposti ho mantenuto 2 Indici, e con un paio di filtri e operazioni insiemistiche riduco l'insieme dei controlli.
Tra il dire e il fare c'e' di mezzo l'Italiano, dato che l'algoritmo in realta' sono una dozzina di righe abbastanza semplici.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2009, 22:09   #30
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
A me il codice di repne funziona perfettamente:



La macchina è questa:

Quote:
AMD Athlon(tm) 64 X2
Dual Core Processor 4800+
2.50 GHz
896 MB di RAM

Microsoft Windows XP Professional (32 bit)
Service Pack 3
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2009, 22:12   #31
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da rеpne scasb Guarda i messaggi
Tutto puo' essere. Ho scritto il codice in pochi minuti, e ci saranno sicuramente dei bachi. Allego l'eseguibile per Win32 che funziona sul mio PC, se interessa.
ok, questo va..
mi sa che il problema è che avevo cambiato i punti in virgole nel file originale perchè mi scaramellavo ad utilizzare il CultureInfo

ci mette 250ms circa sul mio....
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2009, 22:14   #32
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da Vincenzo1968 Guarda i messaggi
A me il codice di repne funziona perfettamente:



La macchina è questa:



mmm...
strano che sul mio xp virtualizzato sia così lento quello di repne....
puoi fare girare il mio codice sulla tua macchina per vedere quanto ci mette?
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2009, 22:14   #33
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da Vincenzo1968 Guarda i messaggi
A me il codice di repne funziona perfettamente:



La macchina è questa:



Ma il tuo com'e'? L'hai aggiustato?
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2009, 22:18   #34
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Ma il tuo com'e'? L'hai aggiustato?
No, non l'ho ancora aggiustato. Sui due esempi piccoli il risultato è corretto; sul file grosso no. Evidentemente l'algoritmo non è corretto.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2009, 22:26   #35
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
mmm...
strano che sul mio xp virtualizzato sia così lento quello di repne....
Boh Può dipendere dalle ottimizzazioni del compilatore(utilizzo Visual Studio 2008)?

Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
puoi fare girare il mio codice sulla tua macchina per vedere quanto ci mette?
Mi dà errore:



EDIT: Riguardando il tuo codice m'è venuto un dubbio atroce: si tratta, per caso, di C# e io sto tentando di eseguirlo con l'interprete Ruby?

EDIT 2: Si, è C# Il risultato(sostituendo, nel file, i punti con le virgole) è questo:


Ultima modifica di Vincenzo1968 : 26-06-2009 alle 22:56.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2009, 22:29   #36
rеpne scasb
Senior Member
 
Iscritto dal: May 2008
Messaggi: 533

Ultima modifica di rеpne scasb : 18-06-2012 alle 15:39.
rеpne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2009, 23:26   #37
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Che strano. 17 e 13.5 si, il grosso no. Può essere un errore teorico?

Ho usato un albero BSP. I nodi contengono segmenti. L'idea è quella di prendere i segmenti in entrata e costruire un albero che abbia come valori segmenti che non si sovrappongono. Quando un segmento si sovrappone ad un altro:

Codice:
------------------
              ++++++++++++++++
Genero tre segmenti non sovrapposti:

Codice:
----------oooooooo+++++++++
il segmento centrale viene assegnato al nodo corrente, il segmento sinistro finisce nel sottoalbero sinistro, il segmento destro finisce nel sottoalbero destro.

Se il segmento inserito non si sovrappone a quello del nodo corrente allora il segmento finisce nel sottoalbero destro o sinistro, a seconda che il punto medio del nuovo segmento sia minore o maggiore del punto medio del segmento corrente.

Poichè i nodi dell'albero così costruito contengono segmenti disgiunti il risultato cercato è la somma delle estensioni dei segmenti contenuti in tutti i nodi.

Mi da 13.5, mi da 17 ma non mi da 380404,063114734. Mi perde per strada qualche segmento durante la lettura o è la parte teorica che non quaglia?
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2009, 23:45   #38
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da Vincenzo1968 Guarda i messaggi
Boh Può dipendere dalle ottimizzazioni del compilatore(utilizzo Visual Studio 2008)?



Mi dà errore:



EDIT: Riguardando il tuo codice m'è venuto un dubbio atroce: si tratta, per caso, di C# e io sto tentando di eseguirlo con l'interprete Ruby?

EDIT 2: Si, è C# Il risultato(sostituendo, nel file, i punti con le virgole) è questo:

boh... io ho usato l'eseguibile che ha postato repne..
prova pure tu ad usare quello casomai e vedi se ci sono differenze.....

Si cmq era C#, anche se in effetti avrei dovuto specificarlo dato che nei contest ne uso uno a caso tra C#, python e ruby
Ad onor del vero questo avevo iniziato a farlo in F#, ma mi sono rotto subito perchè ancora non lo so usare per bene
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2009, 00:01   #39
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2775
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Che strano. 17 e 13.5 si, il grosso no. Può essere un errore teorico?

Ho usato un albero BSP. I nodi contengono segmenti. L'idea è quella di prendere i segmenti in entrata e costruire un albero che abbia come valori segmenti che non si sovrappongono. Quando un segmento si sovrappone ad un altro:

Codice:
------------------
              ++++++++++++++++
Genero tre segmenti non sovrapposti:

Codice:
----------oooooooo+++++++++
il segmento centrale viene assegnato al nodo corrente, il segmento sinistro finisce nel sottoalbero sinistro, il segmento destro finisce nel sottoalbero destro.

Se il segmento inserito non si sovrappone a quello del nodo corrente allora il segmento finisce nel sottoalbero destro o sinistro, a seconda che il punto medio del nuovo segmento sia minore o maggiore del punto medio del segmento corrente.

Poichè i nodi dell'albero così costruito contengono segmenti disgiunti il risultato cercato è la somma delle estensioni dei segmenti contenuti in tutti i nodi.

Mi da 13.5, mi da 17 ma non mi da 380404,063114734. Mi perde per strada qualche segmento durante la lettura o è la parte teorica che non quaglia?
Il ragionamento mi sembra corretto, siccome ti viene un valore più grande del risultato l'errore potrebbe essere o nella parte che controlla se due segmenti sono sovrapposti (perché se non rileva una sovrapposizione sommerà la stessa parte più di una volta) oppure nella somma degli intervalli (può essere un errore di distrazione).
wingman87 è online   Rispondi citando il messaggio o parte di esso
Old 27-06-2009, 08:48   #40
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
uff...
sistemato pure io....
avevo fatto il banalissimo errore di mettere l'assegnazione dopo l'if esterno..
Codice:
string[] content = File.ReadAllLines("RealLine.txt");
Stopwatch watch = Stopwatch.StartNew();
char[] separator = new char[] { ' ' };
var orderedIntervals = (from c in content
                        let tokens = c.Split(separator, StringSplitOptions.RemoveEmptyEntries)
                        let first = double.Parse(tokens[0])
                        let second = double.Parse(tokens[1])
                        select new double[] { 
                              first <= second ? first : second, 
                              first <= second ? second : first 
                        }).OrderBy(e => e[0]).ToArray();
Eheh. Mi fa piacere.
Ho creato un mostro...
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondo...
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint Cybersecurity: email, utenti e agenti IA, la nuo...
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti Hisense A85N: il ritorno all’OLED è convi...
Acer TravelMate P6 14 AI: il Copilot+ PC sotto il chilo per il professionista in movimento Acer TravelMate P6 14 AI: il Copilot+ PC sotto i...
Recensione Borderlands 4, tra divertimento e problemi tecnici Recensione Borderlands 4, tra divertimento e pro...
Intel SGX e AMD SEV-SNP aggirabili su pi...
Autovelox, parte il censimento ufficiale...
Adobe Premiere arriva su iPhone: l'app &...
Il Cybertruck di Tesla non può es...
Windows 11 25H2 è stato appena ri...
VMware, con la versione 9 di Cloud Found...
Area B e C Milano, stop alle auto benzin...
Huawei FreeBuds 7i arrivano in Italia: c...
Offerte Amazon Fire TV: smart TV per ogn...
iPhone 11 Pro Max e Apple Watch Series 3...
Toyota ha venduto solo 18 elettriche ad ...
Tutti i Ring in promo Amazon: videocitof...
Taiwan respinge la richiesta USA di tras...
Windows 11 2025 Update (25H2), il mio PC...
Via acari, polvere e sporco da materassi...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:26.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v