Commit Graph

611 Commits

Author SHA1 Message Date
bert fbfcfa65fb Implement 2022 day 10 2022-12-10 21:50:31 +01:00
bert 20b2fe7684 Remove useless lifetime 2022-12-09 12:00:22 +01:00
bert e45aaad1c4 Faster hash set 2022-12-09 11:43:33 +01:00
bert a44420cbe7 Implement 2022 day 9 2022-12-09 11:22:24 +01:00
bert 44b7b6b1b2 Incorrect implementation for 2022 day 9 2022-12-09 11:09:36 +01:00
bert 79387b5f14 Slightly more efficient O(kn) implementation 2022-12-08 22:40:39 +01:00
bert a05dc588db Implement 2022 day 8 part 2 2022-12-08 12:09:04 +01:00
bert b080859356 Replace todo with error, bench everything 2022-12-08 11:06:59 +01:00
bert fead587b2a Implement 2022 day 8 part 1 2022-12-08 11:01:48 +01:00
bert eec886b5e2 Slightly cleaner parser 2022-12-07 16:01:09 +01:00
bert 45a6c78d77 Remove most allocations 2022-12-07 15:27:30 +01:00
bert e80b5bde68 Implement 2022 day 7 2022-12-07 10:27:06 +01:00
bert 1cd5579bf6 Use iterators instead of explicit indexing 2022-12-06 18:37:38 +01:00
bert 7c7c69255d Replace indirect indexing
230 byte overhead is worth it to avoid conversions and potential
indexing errors
2022-12-06 18:23:43 +01:00
bert 391bba24c5 Use enumerate combinator 2022-12-06 18:19:42 +01:00
bert e887a8ad0d Implement 2022 day 6 2022-12-06 08:29:26 +01:00
bert 38a024d095 Implement 2022 day 5 2022-12-05 11:14:36 +01:00
bert 6802a7bf33 Refactor common parts 2022-12-04 11:18:03 +01:00
bert 9d23e80256 Implement 2022 day 4 2022-12-04 11:14:23 +01:00
bert e1b3b9d179 Implement 2022 day 3 2022-12-03 20:23:14 +01:00
bert 30d1a16075 Collect into vec for nicer vectorization 2022-12-02 09:52:09 +01:00
bert 256d351f8e Implement day 2 2022 2022-12-02 09:06:59 +01:00
bert 48594a75e6 Make parsers more robust 2022-12-01 11:28:59 +01:00
bert 85a51b13c1 Implement 2022 day 1 2022-12-01 09:40:00 +01:00
bert 2ae2d6baa8 Merge pull request #4 from bertptrs/setup-2022 2022-11-30 18:08:54 +01:00
bert 4a55e53182 Update README and references 2022-11-24 08:23:58 +01:00
bert af0897300d Add caching to CI pipeline for speed 2022-11-05 16:17:47 +01:00
bert cabae7b1fd Convert 2021 CI to 2022 2022-11-05 16:17:47 +01:00
bert 0635141ac6 Add skeleton for 2022 2022-11-05 16:17:47 +01:00
bert d9d5947c3b Replace unnecessary Vec with slice 2022-06-07 08:32:59 +02:00
bert cc8b4ce353 Update vulnerable dependencies
Not that this will affect anyone, but it's nice anyway.
2022-06-07 08:25:30 +02:00
bert 0b91da04b3 Add benchmarking plots 2022-01-09 18:41:02 +01:00
bert dba146b299 Avoid instantiating translated sets 2022-01-09 15:45:22 +01:00
bert 33111615be Directly infer matched pivot 2022-01-09 14:22:41 +01:00
bert 04e8a41d98 Use pre-matching strategy
Ensure that both scanners to be matched have a set of enough distances
in common to avoid matching between groups that cannot possibly be
related.
2022-01-08 19:50:16 +01:00
bert 36d76018ba Correct width calculation
The original worked by accident
2022-01-06 23:35:38 +01:00
bert 4172fd0463 Slightly more efficiently pre-allocate bitsets 2022-01-06 23:22:10 +01:00
bert ad0b4a4659 Use running masks instead of computing one by one 2022-01-06 23:05:41 +01:00
bert 2dab7342f8 Replace sparse map with bitset 2022-01-06 22:52:57 +01:00
bert edd14a0e3d Update to Clap 3.0.0! 2022-01-02 23:06:32 +01:00
bert 4d7188e1ff Replace hashset with bitset 2022-01-02 22:38:28 +01:00
bert 255edaca79 Implement day 24 2022-01-02 21:47:07 +01:00
bert 8ea716cba8 Properly use TryFrom 2022-01-02 18:49:25 +01:00
bert 601de2c565 Readability 2022-01-02 18:30:13 +01:00
bert 894524bc81 Implement part 2
Turns out you can incorrectly implement the problem and still get the
right answer for part 1. If you then correct it, it's a lot faster.
2022-01-02 18:28:04 +01:00
bert f19bf28f34 Properly implemented A* estimate 2022-01-02 16:17:01 +01:00
bert de3a24a87c Implementation day 23 2022-01-02 16:17:01 +01:00
bert 09b590e927 Update southbound comment 2021-12-29 15:39:20 +01:00
bert 9dacb4c1ae Perform updates in-place 2021-12-29 15:29:21 +01:00
bert 07e03c1630 Implement day 25 2021-12-29 15:09:43 +01:00