2
ESERCIZI DI DADA Problema 1. Il sistema deve avere solo soluzioni naturali. Per la regola dei segni però queste equazioni non possono avere soluzioni positive, perché, visto che a, b, c sono naturali, non ci sono variazioni sui segni dei coefficienti. Quindi le soluzioni devono essere 0. Quindi l’unica soluzione per i parametri è (azzarderei) a = b = c =0 ma puzzicchia. Problema 2. Il minimo numero di pezzi storti da usare è 5. Io ho trovato (fondamentalmente a caso) una configurazione che ne usa 6. Non so se si può fare di meglio. Problema 3. Io qui non ho capito l’algoritmo. Come fa a venire fuori una permutazione? Problema 4. Non è spiegato bene quanti dati posso immagazzinare, ma considerando che nell’esempio si prendono in considerazione tutte le possibili sequence, direi che se ne possono immagazzinare un monte. Comunque, parto dalla prima entrata, guardo quanto è lunga la sequenza crescente che parte dalla prima entrata e la metto in memoria (le entrate visitate in questo processo rimangono marcate e non le visiterò mai più). Poi vado sulla prima entrata non marcata, guardo quanto è lunga la sequenza crescente che parte da lì: se è più lunga di quella che ho in memoria, la tengo e butto via l’altra; altrimenti la butto via (le entrate visitate rimangono marcate). E così via. Mi fermo quando mi restano da visitare meno entrate della sequenza più lunga che ho già immagazzinato. Nel caso peggiore visito n - 1 entrate (ma spendo di più della cosa stupida che fanno loro per quanto riguarda la memoria, perché devo immagazzinare le marcature). Problema 5. La formula è data dall’espansione in binario di k. Scrivo k - 1 in binario con N cifre (aggiungendo magari zeri a sinistra se non ci sono abbastanza cifre). Ribalto la scrittura (ad esempio 1100 diventa 0011), la riporto in decimale e aggiungo 1. Tuttavia chiedono una formula chiusa, e questo procedimento, siccome usa bit-operations, non si può scrivere algebricamente. Ci devo quindi pensare meglio. Problema 6. Interpretiamo “un solo” come “esattamente uno”. Quindi ogni cavaliere riconosce due cavalieri e un furfante tra le tre persone che guarda. Mettiamo tutti questi personaggi in cerchio e numeriamo le sedute da 1 a 2N . Supponiamo che 1 sia un cavaliere (anzi, supponiamo ce ne siano 2014). Allora due tra 2N, 2,N sono cavalieri e uno è un furfante. Primo caso: 2N è un furfante. Allora N +1 e 2 sono cavalieri. Dunque uno tra N +2 e N è un altro cavaliere. Se è N +2 abbiamo trovato un 1

Dada

Embed Size (px)

DESCRIPTION

Soluzioni esercizi dada

Citation preview

  • ESERCIZI DI DADA

    Problema 1. Il sistema deve avere solo soluzioni naturali. Per la regoladei segni per queste equazioni non possono avere soluzioni positive, perch,visto che a, b, c sono naturali, non ci sono variazioni sui segni dei coefficienti.Quindi le soluzioni devono essere 0. Quindi lunica soluzione per i parametri (azzarderei) a = b = c = 0 ma puzzicchia.

    Problema 2. Il minimo numero di pezzi storti da usare 5. Io ho trovato(fondamentalmente a caso) una configurazione che ne usa 6. Non so se sipu fare di meglio.

    Problema 3. Io qui non ho capito lalgoritmo. Come fa a venire fuori unapermutazione?

    Problema 4. Non spiegato bene quanti dati posso immagazzinare, maconsiderando che nellesempio si prendono in considerazione tutte le possibilisequence, direi che se ne possono immagazzinare un monte.

    Comunque, parto dalla prima entrata, guardo quanto lunga la sequenzacrescente che parte dalla prima entrata e la metto in memoria (le entratevisitate in questo processo rimangono marcate e non le visiter mai pi). Poivado sulla prima entrata non marcata, guardo quanto lunga la sequenzacrescente che parte da l: se pi lunga di quella che ho in memoria, la tengoe butto via laltra; altrimenti la butto via (le entrate visitate rimangonomarcate). E cos via. Mi fermo quando mi restano da visitare meno entratedella sequenza pi lunga che ho gi immagazzinato. Nel caso peggiore visiton1 entrate (ma spendo di pi della cosa stupida che fanno loro per quantoriguarda la memoria, perch devo immagazzinare le marcature).

    Problema 5. La formula data dallespansione in binario di k. Scrivok 1 in binario con N cifre (aggiungendo magari zeri a sinistra se nonci sono abbastanza cifre). Ribalto la scrittura (ad esempio 1100 diventa0011), la riporto in decimale e aggiungo 1. Tuttavia chiedono una formulachiusa, e questo procedimento, siccome usa bit-operations, non si pu scriverealgebricamente. Ci devo quindi pensare meglio.

    Problema 6. Interpretiamo un solo come esattamente uno. Quindi ognicavaliere riconosce due cavalieri e un furfante tra le tre persone che guarda.Mettiamo tutti questi personaggi in cerchio e numeriamo le sedute da 1 a2N . Supponiamo che 1 sia un cavaliere (anzi, supponiamo ce ne siano 2014).Allora due tra 2N, 2, N sono cavalieri e uno un furfante.

    Primo caso: 2N un furfante. Allora N + 1 e 2 sono cavalieri. Dunqueuno tra N + 2 e N un altro cavaliere. Se N + 2 abbiamo trovato un

    1

  • 2 ESERCIZI DI DADA

    blocco di 4 cavalieri isolati (che non ci danno informazioni su dove sono altricavalieri). Per non tutte le configurazioni possono essere cos perch 2014non divisibile per 4. Se N un cavaliere, allora lo deve essere anche N 1perche 2N un furfante. A meno di rinominare le sedute, andiamo a caderenel secondo caso, in cui ci sono tre cavalieri seduti in fila.

    Secondo caso: N un furfante. Quindi ci sono tre cavalieri seduti accanto,2N, 1, 2. Osserviamo che non possono essere pi di 3. Siccome non possonoessere tutti cavalieri, c un minimo n per cui 1, . . . , n 1 sono cavalieri,e n un furfante. A meno di rotazioni supponiamo n = 3. Per osservareche non possono esserci pi di 3 cavalieri accanto, supponiamo quindi perassurdo che 2N 1, 2N, 1, 2, 3 e 4 un furfante. Dunque N + 2 (che stadi fronte a 2) il secondo cavaliere di cui 2 ha bisogno. Ora, N + 1 sta difronte a 1, che un cavaliere con gi due cavalieri accanto. Quindi N + 1 un furfante. Concludiamo che N non pu essere n cavaliere (perch stadi fronte a 2N che ha gi due cavalieri), n furfante (perch altrimenti ilfurfante N +1 avrebbe detto il vero). Perci la fila pi lunga di cavalieri pucontenere al pi tre cavalieri. Osserviamo tuttavia che tre cavalieri sedutiaccanto forzano tutto il resto provocando una contraddizione: 2N, 1, 2 sonocavalieri; 2N 1 e 3 sono furfanti. Quindi N + 1 un furfante e N + 2 eN sono cavalieri. Sono cavalieri anche N + 3 ed N 1 perch N + 1 unfurfante. Ma allora 4 e 2N 2 sono cavalieri anche loro, altrimenti i furfanti2N 1 e 3 avrebbero detto il vero. Continuando con questo ragionamentosi ottiene una configurazione fatta di gruppi di tre cavalieri, intervallati daun furfante che deve coprire tutto il tavolo. Visto che 2014 non divisibileper 3 si conclude.

    Problema 7. In questo non ci metto le mani.

    Problema 8. Concordo con la soluzione scritta sul foglio. Non so quanto ciavrei messo a partorirla da solo.

    Problema 9. Mi sa che bisogna fare un monte di casi...