Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1953 connectés 

 

Sujet(s) à lire :
    - Who's who@Programmation
 

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  24454  24455  24456  ..  27191  27192  27193  27194  27195  27196
Auteur Sujet :

[blabla@olympe] Le topic du modo, dieu de la fibre et du monde

n°2404010
nraynaud
lol
Posté le 16-12-2021 à 17:42:48  profilanswer
 

Reprise du message précédent :

nraynaud a écrit :

https://github.com/vatesfr/xen-orch [...] -834178144
laissez les control freaks partir en burnout sans vous entrainer, exemple numéro 4260


ah, après 40 jours dans le pipe, elle a été coupée le jour de la release. la satisfaction de voir son travail en prod [:manzana verde]


---------------
trainoo.com, c'est fini
mood
Publicité
Posté le 16-12-2021 à 17:42:48  profilanswer
 

n°2404011
depart
Posté le 16-12-2021 à 17:45:51  profilanswer
 

mechkurt a écrit :


Les slash de début c'est l'enfer (et donc le premier truc à vérifier), apparemment le comportement n'est pas le même entre apache 1 et 2 et entre un .htaccess et la même directive dans le vhost
https://webmasters.stackexchange.co [...] e-patterns

 

Pour débugger tu fais une redirection de tout ou partie vers un fichier en php et tu var_dump ce que le serveur t'envoie en paramètre.


Merci :jap:
Tu m'étonnes que j'ai galéré !

n°2404012
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 16-12-2021 à 17:49:35  profilanswer
 

Tain les emojis dans les commentaires de revue de code pourquoi j'y pense jamais c'est génial !
 
Par contre je découvre aujourd'hui que le forum les supporte pas, c'est quoi ce délire on se croirait dans les années 90...
 
 [:- supersonique -:1]

Message cité 2 fois
Message édité par hephaestos le 16-12-2021 à 17:51:51
n°2404013
pataluc
Posté le 16-12-2021 à 17:50:46  profilanswer
 

mon code qui passe tout les tests de l'AoC du jour mais ne me donne pas la bonne réponse pour l'exo 2... (snif)

n°2404014
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 16-12-2021 à 17:53:10  profilanswer
 

pataluc a écrit :

mon code qui passe tout les tests de l'AoC du jour mais ne me donne pas la bonne réponse pour l'exo 2... (snif)


Overflow ? Pour moi ça ça passait pas en int32 mais ça passait en int64.

n°2404015
gfive
Posté le 16-12-2021 à 17:55:01  profilanswer
 

[:tinostar]
 

Spoiler :


 
 Operator [1110000000000110001111100011000000010111100100001100000001011000111100011000000000010010011000000000010010011000000000010110111000000000011100110000000100000101110000100000000001000001100000000001010000000000001100101101000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
  Operator [100011000000010111100100001100000001011000111100011000000000010010011000000000010010011000000000010110111000000000011100110000000100000101110000100000000001000001100000000001010000000000001100101101000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
   Operator [00001100000001011000111100011000000000010010011000000000010010011000000000010110111000000000011100110000000100000101110000100000000001000001100000000001010000000000001100101101000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
    Operator [1100011000000000010010011000000000010010011000000000010110111000000000011100110000000100000101110000100000000001000001100000000001010000000000001100101101000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
     Operator [0010011000000000010010011000000000010110111000000000011100110000000100000101110000100000000001000001100000000001010000000000001100101101000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
      Operator [0010011000000000010110111000000000011100110000000100000101110000100000000001000001100000000001010000000000001100101101000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
       Operator [0110111000000000011100110000000100000101110000100000000001000001100000000001010000000000001100101101000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
        Operator [1100110000000100000101110000100000000001000001100000000001010000000000001100101101000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
         Operator [110000100000000001000001100000000001010000000000001100101101000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
          Operator [000001100000000001010000000000001100101101000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
           Operator [010000000000001100101101000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
            Operator [01000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
             Operator [1110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
              Operator [1010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
               Operator [1000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
                Operator [110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
                 Operator [10000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
                  Operator [10001010000000000100101000000000001010111000100000000000010101111100111011110101011]
                   Operator [00101000000000001010111000100000000000010101111100111011110101011]
                    Operator [1000100000000000010101111100111011110101011]
                     LiteralValue [111100111011110101011] (3547)


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2404016
masklinn
í dag viðrar vel til loftárása
Posté le 16-12-2021 à 17:58:31  profilanswer
 

hephaestos a écrit :

Tain les emojis dans les commentaires de revue de code pourquoi j'y pense jamais c'est génial !

 

Par contre je découvre aujourd'hui que le forum les supporte pas, c'est quoi ce délire on se croirait dans les années 90...

 

[:- supersonique -:1]


MySQL [:dawa]

 

Tu découvres la grandeur de leur encodage utf8 [:dawa]

Citation :

utf8, utf8mb3: A UTF-8 encoding of the Unicode character set using one to three bytes per character.


  • 1b: U+0000 - U+007F
  • 2b: U+0080 - U+07FF
  • 3b: U+0800 - U+FFFF
  • 4b: U+10000 - U+10FFFF


Donc en utf8(mb3) tu peux avoir que le BMP... et le parsing s'arrête au premier caractère astral, tout le reste est perdu [:dawa]

Message cité 1 fois
Message édité par masklinn le 16-12-2021 à 18:02:39

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2404017
Flaie
Posté le 16-12-2021 à 18:00:37  profilanswer
 

hephaestos a écrit :

Tain les emojis dans les commentaires de revue de code pourquoi j'y pense jamais c'est génial !
 
Par contre je découvre aujourd'hui que le forum les supporte pas, c'est quoi ce délire on se croirait dans les années 90...
 
 [:- supersonique -:1]


on a mieux avec tous nos souriards cela dit

n°2404018
pataluc
Posté le 16-12-2021 à 18:21:57  profilanswer
 

hephaestos a écrit :


Overflow ? Pour moi ça ça passait pas en int32 mais ça passait en int64.


qqchose du genre visiblement parce que j'utilisais numpy.prod et que ça me renvoyait un négatif, je m'en suis aperçu en debug (fallait des bons yeux)... j'ai viré numpy et recodé moi même en

Code :
  1. def array_prod(array):
  2.     produit = 1
  3.     for element in array:
  4.         produit = produit*element
  5.     return produit


 
ça a fait le job...
 
par contre, c'est moi ou dans le second exemple du 2 est mauvais?
 
"04005AC33890" ==> 54

Spoiler :

sauf erreur, ça donne:
010 000 0 000000101101011 0000110011100010010000
VVV TTT I LLLLLLLLLLLLLLL AAAAAAAAAAABBBBBBBBBBBBBBBB
 
010 Version = 1
000 Type=0 => Sum
0   length type ID = 0 donc les 15 prochains bits donnent la longueur des subpackets
000001011010110 = 363 bits???

Message cité 3 fois
Message édité par pataluc le 16-12-2021 à 18:36:43
n°2404019
gfive
Posté le 16-12-2021 à 18:48:16  profilanswer
 

pataluc a écrit :


par contre, c'est moi ou dans le second exemple du 2 est mauvais?
 
"04005AC33890" ==> 54

Spoiler :

sauf erreur, ça donne:
010 000 0 000000101101011 0000110011100010010000
VVV TTT I LLLLLLLLLLLLLLL AAAAAAAAAAABBBBBBBBBBBBBBBB
 
010 Version = 1
000 Type=0 => Sum
0   length type ID = 0 donc les 15 prochains bits donnent la longueur des subpackets
000001011010110 = 363 bits???



 
J'ai bon :
 

Spoiler :


Packet 04005AC33890
Operator * [54] 00000100000000000101101011000011001110001001
 LiteralValue  [6] 10110000110
 LiteralValue  [9] 01110001001
Versions sum :8
Value : 54


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
mood
Publicité
Posté le 16-12-2021 à 18:48:16  profilanswer
 

n°2404020
xtieu
Posté le 16-12-2021 à 18:52:24  profilanswer
 

pataluc a écrit :


qqchose du genre visiblement parce que j'utilisais numpy.prod et que ça me renvoyait un négatif, je m'en suis aperçu en debug (fallait des bons yeux)... j'ai viré numpy et recodé moi même en

Code :
  1. def array_prod(array):
  2.     produit = 1
  3.     for element in array:
  4.         produit = produit*element
  5.     return produit


 
ça a fait le job...
 
par contre, c'est moi ou dans le second exemple du 2 est mauvais?
 
"04005AC33890" ==> 54

Spoiler :

sauf erreur, ça donne:
010 000 0 000000101101011 0000110011100010010000
VVV TTT I LLLLLLLLLLLLLLL AAAAAAAAAAABBBBBBBBBBBBBBBB
 
010 Version = 1
000 Type=0 => Sum
0   length type ID = 0 donc les 15 prochains bits donnent la longueur des subpackets
000001011010110 = 363 bits???



 
Ca passait pas avec math.prod ?


---------------
There's more to life than the boy in that mirror.
n°2404021
beel1
Posté le 16-12-2021 à 19:16:12  profilanswer
 

gfive a écrit :

[:tinostar]
 

Spoiler :


 
 Operator [1110000000000110001111100011000000010111100100001100000001011000111100011000000000010010011000000000010010011000000000010110111000000000011100110000000100000101110000100000000001000001100000000001010000000000001100101101000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
  Operator [100011000000010111100100001100000001011000111100011000000000010010011000000000010010011000000000010110111000000000011100110000000100000101110000100000000001000001100000000001010000000000001100101101000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
   Operator [00001100000001011000111100011000000000010010011000000000010010011000000000010110111000000000011100110000000100000101110000100000000001000001100000000001010000000000001100101101000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
    Operator [1100011000000000010010011000000000010010011000000000010110111000000000011100110000000100000101110000100000000001000001100000000001010000000000001100101101000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
     Operator [0010011000000000010010011000000000010110111000000000011100110000000100000101110000100000000001000001100000000001010000000000001100101101000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
      Operator [0010011000000000010110111000000000011100110000000100000101110000100000000001000001100000000001010000000000001100101101000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
       Operator [0110111000000000011100110000000100000101110000100000000001000001100000000001010000000000001100101101000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
        Operator [1100110000000100000101110000100000000001000001100000000001010000000000001100101101000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
         Operator [110000100000000001000001100000000001010000000000001100101101000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
          Operator [000001100000000001010000000000001100101101000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
           Operator [010000000000001100101101000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
            Operator [01000000000000101101011110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
             Operator [1110101000000000011010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
              Operator [1010101000000000011000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
               Operator [1000100000000001111011110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
                Operator [110000000000000110010110000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
                 Operator [10000010000000000110001010000000000100101000000000001010111000100000000000010101111100111011110101011]
                  Operator [10001010000000000100101000000000001010111000100000000000010101111100111011110101011]
                   Operator [00101000000000001010111000100000000000010101111100111011110101011]
                    Operator [1000100000000000010101111100111011110101011]
                     LiteralValue [111100111011110101011] (3547)



[:dawak]

Spoiler :

['+(', '*(', 3655413307, '<(', 1488657141, 78, ')', ')', '*(', '>(', '+(', 2, 9, 3, ')', '+(', 5, 11, 3, ')', ')', 3188, ')', 198311, '*(', 2494, '<(', '+(', 15, 5, 10, ')', '+(', 3, 8, 15, ')', ')', ')', '*(', 152, 216, 153, 157, ')', 15, 'min(', 6, 80, 50823, 10886, 3889877, ')', 14837431, '*(', 32152, '>(', 825, 77, ')', ')', '*(', '>(', 118, 14631, ')', 27, ')', '*(', 29, 88, ')', 158, '+(', 14, 12, ')', 'min(', 60286, ')', '+(', 400469972, ')', '*(', 1847, '>(', '+(', 13, 7, 11, ')', '+(', 13, 7, 15, ')', ')', ')', '*(', '>(', 175, 9, ')', 261860, ')', '*(', 14, ')', 10, '*(', '>(', 621337, 621337, ')', 3868, ')', '*(', '=(', 13458, 7682, ')', 152719799, ')', '*(', 136, '=(', 184, 550728, ')', ')', '+(', '*(', 10, 12, 10, ')', '*(', 12, 7, 5, ')', '*(', 8, 13, 5, ')', ')', 3, 'max(', 157, 126, 360, 887400, ')', '*(', 238, 90, 138, ')', '*(', 179, 253, 181, 197, 129, ')', '*(', '<(', 365080, 1371162, ')', 235, ')', '*(', '<(', 11857143, 349869, ')', 39, ')', '+(', 'min(', 'max(', 'max(', '+(', 'min(', '+(', '*(', 'min(', 'min(', 'max(', '*(', 'max(', 'max(', 'max(', 'min(', '+(', '*(', '*(', 'min(', 249, ')', ')', ')', ')', ')', ')', ')', ')', ')', ')', ')', ')', ')', ')', ')', ')', ')', ')', ')', ')', '*(', 3307, '>(', 454429736284, 454429736284, ')', ')', 'min(', 20311436482, 63060, ')', '+(', 9069, 210144, 156, 3686, ')', 'min(', 51412, 4, 26446, 356201, ')', 70305, '*(', 137, '=(', '+(', 9, 10, 6, ')', '+(', 4, 3, 4, ')', ')', ')', '*(', 219, '<(', '+(', 7, 6, 5, ')', '+(', 12, 2, 6, ')', ')', ')', '+(', 1863, 59, 535379840585, ')', '*(', '+(', 12, 3, 3, ')', '+(', 14, 5, 8, ')', '+(', 3, 14, 7, ')', ')', 53943839, 421, 'max(', 233419, 34457, 1, ')', 'max(', 2, ')', '*(', '>(', 54, 370314881, ')', 139, ')', 'max(', 18, 51636, 13656, 889154, 50840, ')', 'min(', 11, 10454300, 40782, ')', '*(', '<(', 1088, 1088, ')', 676238, ')', 'max(', 2226, 13, ')', '*(', 50, '=(', 55, 55, ')', ')', '*(', '<(', 198, 2202, ')', 3626, ')', '*(', '<(', 43110754013, 43110754013, ')', 62, ')', 8, '+(', 170, 7, 111, 5, 559002, ')', ')']

n°2404022
beel1
Posté le 16-12-2021 à 19:20:27  profilanswer
 

pataluc a écrit :


qqchose du genre visiblement parce que j'utilisais numpy.prod et que ça me renvoyait un négatif, je m'en suis aperçu en debug (fallait des bons yeux)... j'ai viré numpy et recodé moi même en

Code :
  1. def array_prod(array):
  2.     produit = 1
  3.     for element in array:
  4.         produit = produit*element
  5.     return produit


 
ça a fait le job...
 
par contre, c'est moi ou dans le second exemple du 2 est mauvais?
 
"04005AC33890" ==> 54

Spoiler :

sauf erreur, ça donne:
010 000 0 000000101101011 0000110011100010010000
VVV TTT I LLLLLLLLLLLLLLL AAAAAAAAAAABBBBBBBBBBBBBBBB
 
010 Version = 1
000 Type=0 => Sum
0   length type ID = 0 donc les 15 prochains bits donnent la longueur des subpackets
000001011010110 = 363 bits???



Spoiler :

ta conversion est fausse, le premier 0 n'a pas été décodé : 04 -> 0000 0100 et non 0100
 
et 010 -> 2 et non 1 :o

Message cité 1 fois
Message édité par beel1 le 16-12-2021 à 19:26:08
n°2404024
pataluc
Posté le 16-12-2021 à 20:00:18  profilanswer
 

beel1 a écrit :


Spoiler :

ta conversion est fausse, le premier 0 n'a pas été décodé : 04 -> 0000 0100 et non 0100
 
et 010 -> 2 et non 1 :o



ouh pinaise, heureusement que mon input commençait pas par zero... #boulet
 :jap:

n°2404025
pataluc
Posté le 16-12-2021 à 20:00:37  profilanswer
 

xtieu a écrit :


 
Ca passait pas avec math.prod ?


j'ai pas essayé...

n°2404026
nraynaud
lol
Posté le 16-12-2021 à 20:58:57  profilanswer
 

je viens de faire l'AOC d'hier
https://gist.github.com/nraynaud/b9 [...] 80f9cc8eb1
 
j'avais la flemme de faire une vraie priority queue, donc j'ai juste accolé la dernière valeur dans un tableau et re-trié le tableau à chaque fois.  
la deuxième partie tourne en 8s avec ça.


---------------
trainoo.com, c'est fini
n°2404027
beel1
Posté le 16-12-2021 à 21:02:24  profilanswer
 

nraynaud a écrit :

je viens de faire l'AOC d'hier
https://gist.github.com/nraynaud/b9 [...] 80f9cc8eb1
 
j'avais la flemme de faire une vraie priority queue, donc j'ai juste accolé la dernière valeur dans un tableau et re-trié le tableau à chaque fois.  
la deuxième partie tourne en 8s avec ça.


Pareil ici (pas de priority queue) mais moi ça prend 1h je pige pas pourquoi :/

Message cité 1 fois
Message édité par beel1 le 16-12-2021 à 21:21:45
n°2404028
beel1
Posté le 16-12-2021 à 21:15:22  profilanswer
 

beel1 a écrit :


Pareil ici mais moi ça prend 1h je pige pas pourquoi :/


https://pastebin.com/1KELZHzi
c'est issu d'une implé que j'avais trouvé pas mal (une matrice nœuds*nœuds), forcément *25 ça a pété, j'ai transformé en listes d'arcs, puis fait une pile de nœuds non visités pour pas tout reparcourir et touillé tout un tas de truc
ça accélère au fur et à mesure que ça avance mais 1h quand même sur l'i5
(8 secondes avec fold=1)

Message cité 1 fois
Message édité par beel1 le 16-12-2021 à 21:28:06
n°2404029
depart
Posté le 16-12-2021 à 21:35:31  profilanswer
 

masklinn a écrit :


MySQL [:dawa]

 

Tu découvres la grandeur de leur encodage utf8 [:dawa]

Citation :

utf8, utf8mb3: A UTF-8 encoding of the Unicode character set using one to three bytes per character.


  • 1b: U+0000 - U+007F
  • 2b: U+0080 - U+07FF
  • 3b: U+0800 - U+FFFF
  • 4b: U+10000 - U+10FFFF


Donc en utf8(mb3) tu peux avoir que le BMP... et le parsing s'arrête au premier caractère astral, tout le reste est perdu [:dawa]


Je planche sur la conversion de mon appli php/mysql (Windows 1252 / latin1) vers utf8 : des recommandations ?
Utf8mb4 partout ?
Conversion des champs un par un via les fonctions mysql ou alors je sous traite à une tâche faite en php ? Ou via un export mysqldump en exportant en utf8 ?


Message édité par depart le 16-12-2021 à 21:35:54
n°2404030
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 16-12-2021 à 21:48:41  profilanswer
 

beel1 a écrit :


https://pastebin.com/1KELZHzi
c'est issu d'une implé que j'avais trouvé pas mal (une matrice nœuds*nœuds), forcément *25 ça a pété, j'ai transformé en listes d'arcs, puis fait une pile de nœuds non visités pour pas tout reparcourir et touillé tout un tas de truc
ça accélère au fur et à mesure que ça avance mais 1h quand même sur l'i5
(8 secondes avec fold=1)


C'est minDistance qui est en O(n) alors que ça devrait être O(log(n)), du coup tu te retrouves avec un algo O(n * n). J'ai le même genre de perf en C++ avec une implémentation similaire.

n°2404031
nraynaud
lol
Posté le 16-12-2021 à 22:10:08  profilanswer
 

https://gist.github.com/nraynaud/b9 [...] aoc15_2-js
j'arrive à le faire en  
 246.359ms
 
en gardant le openSet trié à coup de recherche par dichotomie et de splice()
 
par contre ça m'a pris 3h :sweat:


---------------
trainoo.com, c'est fini
n°2404032
___alt
Posté le 16-12-2021 à 22:26:37  profilanswer
 

hephaestos a écrit :


Overflow ? Pour moi ça ça passait pas en int32 mais ça passait en int64.

 

Moi aussi tous mes tests d'acceptance de partie 2 passaient mais la réponse était fausse.
Dans le doute j'ai remplacé ça :

Code :
  1. case 0 -> children().map(Packet::value).sum().longValue();
  2. case 1 -> children.map(Packet::value).product().longValue();


Par ça :

 
Code :
  1. case 0 -> children().map(Packet::value).reduceLeft(Math::addExact);
  2. case 1 -> children.map(Packet::value).reduceLeft(Math::multiplyExact);
 

Et ça n'a jamais pété d'exception (les méthodes en question pètent une exception si l'opération fait un overflow au lieu de renvoyer un résultat faux).

 

Et en fait :

 
Spoiler :

J'ai codé à l'arrache ce matin avant partir de chez moi, du coup j'avais intégré dans la valeur le bit qui dit si un groupe de bits est le dernier d'une valeur. Donc j'avais plusieurs bits en trop dans tous les nombres, mais ceux des exemples tiennent sur 4 bits donc ça marchait quand même [:dawa]

 


@gfive : j'ai tenté de passer par un ByteBuffer et un BitSet, pire idée, alors que faire une ça avec une chaîne c'est facile.

Message cité 1 fois
Message édité par ___alt le 16-12-2021 à 22:28:56

---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2404033
gfive
Posté le 16-12-2021 à 22:30:09  profilanswer
 

___alt a écrit :

 

@gfive : j'ai tenté de passer par un ByteBuffer et un BitSet, pire idée, alors que faire une ça avec une chaîne c'est facile.

 

Le bitset j'ai jamais vraiment réussi à l'utiliser... Au final j'ai toujours fini par un byte et des << & et compagnie :o

 

J'ai fait une branche sur le truc des afficheurs 7 segments comme ça, ou chaque segment a un bit
.. j'avais tenté le bitset, au bout de 10 minutes ça m'avait cassé les couilles :o


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2404034
skeye
Posté le 16-12-2021 à 22:48:35  profilanswer
 

Bon, finalement c'était un peu long mais pas dur. :o


---------------
Can't buy what I want because it's free -
n°2404035
gfive
Posté le 16-12-2021 à 22:49:30  profilanswer
 

skeye a écrit :

Bon, finalement c'était un peu long mais pas dur. :o

 

COMME TA BITE???


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2404036
ratibus
Posté le 16-12-2021 à 23:02:57  profilanswer
 

Bon j'ai passé 2h45 à faire la partie 1 (notamment à cause d'une règle de nettoyage des 0 finaux qui me décalait les bits...) et j'ai plus d'énergie pour la partie 2, dodo.
https://github.com/ratibus/adventof [...] lve_01.php
A mon avis ma récursion est trop dégueulasse pour que j'arrive à faire un truc qui marche en part 2 :(


---------------
Mon blog
n°2404037
beel1
Posté le 16-12-2021 à 23:50:59  profilanswer
 

beel1 a écrit :

Les soluces c'est toujours vers le bas et vers la droite jusqu'à la fin ou ça peut être plus tordu ?


 


 

beel1 a écrit :


Oui sur le principe mais ça serait pas la première fois que les inputs de l'AoC soient arrangeants :o


Bon alors j'ai testé, c'est à peine moins lent (1h20 vs 1h30), et le résultat est faux (de très peu) :o
c'est clairement minDistance le maillon faible :jap:

n°2404038
___alt
Posté le 16-12-2021 à 23:52:17  profilanswer
 

ratibus a écrit :

Bon j'ai passé 2h45 à faire la partie 1 (notamment à cause d'une règle de nettoyage des 0 finaux qui me décalait les bits...) et j'ai plus d'énergie pour la partie 2, dodo.
https://github.com/ratibus/adventof [...] lve_01.php
A mon avis ma récursion est trop dégueulasse pour que j'arrive à faire un truc qui marche en part 2 :(


 

Spoiler :

C'est là que d'avoir une bête hiérarchie Packet -> Operator/Value ça rend bien service, si tu les construis comme des nœuds d'arbre pour avoir la réponse à la partie 1, la partie 2 est quasi gratuite.


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2404039
R3g
fonctionnaire certifié ITIL
Posté le 16-12-2021 à 23:53:20  profilanswer
 

ratibus a écrit :

Bon j'ai passé 2h45 à faire la partie 1 (notamment à cause d'une règle de nettoyage des 0 finaux qui me décalait les bits...) et j'ai plus d'énergie pour la partie 2, dodo.
https://github.com/ratibus/adventof [...] lve_01.php
A mon avis ma récursion est trop dégueulasse pour que j'arrive à faire un truc qui marche en part 2 :(


Putain pareil :fou:  1h30 avant de comprendre que c’est le padding du début de chaîne qui n’était pas bon :fou: tous les exemples fonctionnaient :fou:


---------------
Au royaume des sourds, les borgnes sont sourds.
n°2404040
Flaie
Posté le 17-12-2021 à 06:48:29  profilanswer
 

Facile ce jour

 
Spoiler :

par brute force évidemment mais quand même un minimum malin, avec vx entre 0 et x2 (vu que sinon on le dépasse direct) et comme vy entre y1 et abs(y1) car mon y1 est < 0, je sais pas si c'est généralisé, c'était le cas sur mes 2 inputs.

 

Y'a surement d'autres choses à faire, à vous les studios

 

--- Day 17: Trick Shot ---
  Part 1: 23005  (90.27ms)
  Part 2: 2040   (3.30us)  (cached)

Message cité 2 fois
Message édité par Flaie le 17-12-2021 à 06:49:57
n°2404041
masklinn
í dag viðrar vel til loftárása
Posté le 17-12-2021 à 06:57:06  profilanswer
 

https://twitter.com/komrad36/status/1471206968765284354   [:justhynbrydhou:1]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2404042
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 17-12-2021 à 07:02:30  profilanswer
 

Flaie a écrit :

Facile ce jour

 
Spoiler :

par brute force évidemment mais quand même un minimum malin, avec vx entre 0 et x2 (vu que sinon on le dépasse direct) et comme vy entre y1 et abs(y1) car mon y1 est < 0, je sais pas si c'est généralisé, c'était le cas sur mes 2 inputs.

 

Y'a surement d'autres choses à faire, à vous les studios

 

--- Day 17: Trick Shot ---
  Part 1: 23005  (90.27ms)
  Part 2: 2040   (3.30us)  (cached)


 


Ici, 15 minutes j'aurais dû mettre mon réveil !

 

https://pastebin.com/1XCPvYTQ

 

Je pense que le seul piège c'est justement de vouloir être malin, à mon avis il n'y a guère de raccourci à prendre.

Message cité 1 fois
Message édité par hephaestos le 17-12-2021 à 07:05:38
n°2404043
Flaie
Posté le 17-12-2021 à 07:12:54  profilanswer
 

hephaestos a écrit :


 
 
Ici, 15 minutes j'aurais dû mettre mon réveil !
 
https://pastebin.com/1XCPvYTQ
 
Je pense que le seul piège c'est justement de vouloir être malin, à mon avis il n'y a guère de raccourci à prendre.


A priori après quelques essais:
 

Spoiler :


target area: x=tx1..tx2, y=ty1..ty2
 
J'en arrive à la conclusion qu'on peut itérer vx entre 0 et tx2, vy entre t1 et abs(t1), et les steps à calculer sont entre 1 et abs(2 * y1) inclus.
Ca réduit déjà pas mal la zone de recherche.

n°2404044
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 17-12-2021 à 07:20:24  profilanswer
 

Flaie a écrit :


A priori après quelques essais:
 

Spoiler :


target area: x=tx1..tx2, y=ty1..ty2
 
J'en arrive à la conclusion qu'on peut itérer vx entre 0 et tx2, vy entre ty1 et abs(ty1), et les steps à calculer sont entre 1 et abs(2 * y1) inclus.
Ca réduit déjà pas mal la zone de recherche.



 

Spoiler :


Je ne vois pas trop comment on peut faire pire :D
 
On peut réduire un peu la borne inférieure de vx : xmax = vx * (vx+1) / 2, et on veut xmax >= tx1, ça nous donne une borne inférieur vaguement plus maline. Mais bon c'est s'emmerder pouor pas grand chose...


n°2404045
Flaie
Posté le 17-12-2021 à 07:30:37  profilanswer
 

hephaestos a écrit :


 

Spoiler :


Je ne vois pas trop comment on peut faire pire :D
 
On peut réduire un peu la borne inférieure de vx : xmax = vx * (vx+1) / 2, et on veut xmax >= tx1, ça nous donne une borne inférieur vaguement plus maline. Mais bon c'est s'emmerder pouor pas grand chose...




On peut faire pire

Spoiler :

j'ai vu des solutions sur reddit ils se cassent pas le cul vont entre -10k et 10k pour vx, vy et 0..1000 pour les incréments, et ils doivent attendre 1 ou 2min j'imagine :D

n°2404046
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 17-12-2021 à 07:33:44  profilanswer
 

La partie 1 a une solution en O(1) !

 
Spoiler :


En partant du principe qu'on va réussir à atteindre la zone, la vitesse maximale en y c'est quand on va revenir à y = 0 avec une vitesse qui nous fera arriver pile à la fin de la zone d'atterrissage : ty1. Comme la vitesse à y0 au retour est aussi la vitesse de départ (à 1 près), il faut vy0 = abs(ty1) - 1

 

Donc, la hauteur maximale vaut (abs(ty1) - 1) * (abs(ty1)) / 2.

Message cité 1 fois
Message édité par hephaestos le 17-12-2021 à 07:35:24
n°2404047
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 17-12-2021 à 07:34:55  profilanswer
 

Flaie a écrit :


On peut faire pire

Spoiler :

j'ai vu des solutions sur reddit ils se cassent pas le cul vont entre -10k et 10k pour vx, vy et 0..1000 pour les incréments, et ils doivent attendre 1 ou 2min j'imagine :D



Ok  [:delarue5]  
 
C'est pas tant que c'est pire, c'est surtout que c'est faux en fait... enfin, ok, c'est pire du coup... !

n°2404048
Flaie
Posté le 17-12-2021 à 07:53:28  profilanswer
 

hephaestos a écrit :

La partie 1 a une solution en O(1) !  
 

Spoiler :


En partant du principe qu'on va réussir à atteindre la zone, la vitesse maximale en y c'est quand on va revenir à y = 0 avec une vitesse qui nous fera arriver pile à la fin de la zone d'atterrissage : ty1. Comme la vitesse à y0 au retour est aussi la vitesse de départ (à 1 près), il faut vy0 = abs(ty1) - 1
 
Donc, la hauteur maximale vaut (abs(ty1) - 1) * (abs(ty1)) / 2.



VOILA  [:cheesecake]  
 
Merci :jap:

n°2404049
ratibus
Posté le 17-12-2021 à 08:21:09  profilanswer
 

Flaie a écrit :

Facile ce jour
 

Spoiler :

par brute force évidemment mais quand même un minimum malin, avec vx entre 0 et x2 (vu que sinon on le dépasse direct) et comme vy entre y1 et abs(y1) car mon y1 est < 0, je sais pas si c'est généralisé, c'était le cas sur mes 2 inputs.
 
Y'a surement d'autres choses à faire, à vous les studios
 
 --- Day 17: Trick Shot ---
  Part 1: 23005  (90.27ms)
  Part 2: 2040   (3.30us)  (cached)



 
AoC du jour fait également (26 minutes + 3 minutes).

Spoiler :

Je vois pas pourquoi je me suis fait chier à parser l'entrée, j'aurais dû la taper :D
Et oui j'ai brute force le truc aussi (en optimisant vx mais pas vy :D)
Partie 1 : https://github.com/ratibus/adventof [...] lve_01.php
Partie 2 : https://github.com/ratibus/adventof [...] lve_02.php
 
Sachant que les intervalles "optimisables" sont pas les mêmes entre les 2 parties. Dans la partie 1, vu qu'on veut maximiser la hauteur, ça sert à rien d'avoir un vy négatif.


 

n°2404051
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 17-12-2021 à 08:37:16  profilanswer
 

1. On oublie vx, la fenêtre est toujours assez grande pour parvenir à l'atteindre en un nombre de coups donnés.
2. On constate qu'on revient toujours à y=0 avec la vitesse de départ - 1.
3. Comme on veut maximiser la vitesse de départ, on va la choisir de telle sorte que, quand on revient à y=0, on aille aussi bas que possible en un seul coup, sans dépasser la zone d'atterrissage.

Message cité 2 fois
Message édité par hephaestos le 17-12-2021 à 08:53:30
n°2404052
ratibus
Posté le 17-12-2021 à 08:59:13  profilanswer
 

hephaestos a écrit :

Spoiler :

1. On oublie vx, la fenêtre est toujours assez grande pour parvenir à l'atteindre en un nombre de coups donnés.
2. On constate qu'on revient toujours à y=0 avec la vitesse de départ - 1.  
3. Comme on veut maximiser la vitesse de départ, on va la choisir de telle sorte que, quand on revient à y=0, on aille aussi bas que possible en un seul coup, sans dépasser la zone d'atterrissage.



 :jap:

Spoiler :

Et du coup tu calcules l'altitude max avec la formule de Gauss.

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  24454  24455  24456  ..  27191  27192  27193  27194  27195  27196

Aller à :
Ajouter une réponse
 

Sujets relatifs
Plus de sujets relatifs à : [blabla@olympe] Le topic du modo, dieu de la fibre et du monde


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)