La segmentazione della linea consiste nel trattare le caselle confermate vuote come confini rigidi che dividono una riga o colonna in regioni aperte più piccole.
Invece di risolvere continuamente un'unica linea lunga, risolvi una sequenza di segmenti più brevi e vincolati.
Perché la segmentazione è potente
Un blocco non può mai attraversare una casella confermata vuota. Ogni X elimina quindi collocazioni e può separare blocchi che prima competevano per lo stesso spazio.
Quando una linea viene segmentata, spesso puoi determinare:
- quali indizi possono entrare in ogni regione;
- quali indizi non possono condividere la stessa regione;
- se un segmento è un incastro esatto;
- se un segmento è troppo corto e deve essere vuoto;
- se un frammento pieno noto appartiene a un indizio specifico.
La segmentazione non crea una nuova regola: rende più visibili i vincoli già presenti negli indizi.
Esempio: un separatore obbliga i gruppi di indizi a stare su lati diversi
Considera una linea di 12 caselle con indizi 4 3 e una casella vuota confermata in posizione 6:
????? × ??????
La linea contiene ora un segmento di cinque caselle a sinistra e uno di sei a destra.
Gli indizi 4 3 richiedono un'estensione minima di otto caselle se stanno nello stesso segmento: quattro caselle piene, un separatore obbligatorio e tre caselle piene.
Nessuno dei due segmenti è lungo otto caselle, quindi i due blocchi non possono trovarsi entrambi dallo stesso lato della X.
Poiché l'ordine degli indizi è fisso, il 4 deve occupare il segmento sinistro e il 3 quello destro.
Il separatore ha trasformato un problema da 12 caselle in due problemi di collocazione più piccoli.
Un segmento non è automaticamente indipendente
Non dare per scontato che ogni regione aperta possa essere risolta senza considerare il resto della linea.
I segmenti diventano davvero indipendenti solo dopo aver dimostrato quali blocchi di indizio appartengono a ciascuno. Prima di quell'assegnazione, gli indizi possono ancora avere alternative distribuite su più segmenti.
Per esempio, un indizio corto potrebbe entrare su entrambi i lati di una X mentre uno più lungo entra solo da una parte. Finché l'assegnazione non è stabilita, devi mantenere visibili ordine e capacità.
Segmentazione dopo blocchi completati
Un blocco completato insieme al suo separatore funziona come un confine strutturale.
Una volta contabilizzato quel blocco, gli indizi irrisolti che lo precedono devono restare su un lato e quelli che lo seguono sull'altro. Spesso questo è più forte di una X isolata perché indica anche la posizione all'interno della sequenza degli indizi.
Capacità di un segmento
Per ogni segmento aperto, confronta la sua lunghezza con l'estensione minima dei gruppi di indizi che potrebbero occuparlo.
Supponiamo che un segmento sia lungo 7:
- l'indizio
5entra; - gli indizi
2 3richiedono2 + 1 + 3 = 6, quindi possono entrare insieme; - gli indizi
3 4richiedono 8, quindi non possono entrarvi entrambi.
Questi controlli di capacità sono la base dell'assegnazione degli indizi ai segmenti.
Incastro esatto e sovrapposizione a livello di segmento
Una volta assegnato un indizio o un gruppo di indizi a un segmento, puoi riutilizzare al suo interno le tecniche imparate sulle linee intere.
Se gli indizi assegnati consumano esattamente il segmento, usa l'incastro esatto.
Se resta poco margine, usa la sovrapposizione.
Se una casella piena confermata ancora uno dei blocchi, ricalcolane la portata nel segmento anziché sull'intera linea originale.
Flusso passo passo della segmentazione
- segna come X solo le caselle confermate vuote;
- individua ogni segmento aperto contiguo;
- elenca in ordine i blocchi di indizio ancora irrisolti;
- calcola quali indizi o gruppi di indizi possono entrare in ogni segmento;
- usa capacità, ordine e frammenti pieni noti per restringere le assegnazioni;
- quando un'assegnazione è dimostrata, risolvi quel segmento come un problema più piccolo;
- dopo ogni nuova X o riempimento, ricalcola la segmentazione.
Errori comuni
Trattare caselle indeterminate come confini
Una casella ? può ancora diventare piena. Solo una X confermata divide realmente la linea.
Assegnare gli indizi troppo presto
Il fatto che un indizio possa entrare in un segmento non significa che debba appartenergli.
Dimenticare il separatore obbligatorio quando si provano più indizi
Due blocchi monocromatici consecutivi richiedono almeno una casella vuota tra loro. Quel separatore conta nella capacità del segmento.
Perdere l'ordine degli indizi tra i segmenti
Anche quando i segmenti sono separati fisicamente, la sequenza degli indizi continua da sinistra a destra o dall'alto in basso.
Che cosa imparare dopo
La segmentazione prepara direttamente l'assegnazione degli indizi ai segmenti. È lì che userai capacità, ordine e frammenti noti per dimostrare quale parte della sequenza degli indizi appartiene a ciascuna regione.
FAQ
Ogni X divide una linea in segmenti?
Sì. Una casella confermata vuota è un confine che nessun blocco può attraversare.
Più indizi possono appartenere allo stesso segmento?
Sì, se il segmento ha abbastanza capacità per i blocchi e per i separatori obbligatori tra essi.
Un segmento può non contenere alcun indizio?
Sì. Se nessuna assegnazione legale colloca un blocco al suo interno, l'intero segmento è vuoto.