115 Commits

Author SHA1 Message Date
74a6b16924
chore: rust fmt 2024-12-13 23:06:07 -08:00
e8a38e7b24
day14: pretty print a tree 2024-12-13 23:05:58 -08:00
c6153663b5
day14: complete solution
Some checks failed
test / AoC 2024 (push) Failing after 58s
2024-12-13 22:53:07 -08:00
8b011941c4
CI: make a workspace
Some checks failed
test / AoC 2024 (push) Failing after 1m7s
2024-12-13 18:09:22 -08:00
d88f907c03
clippies
Some checks failed
test / AoC 2024 (push) Failing after 1m14s
2024-12-13 17:55:28 -08:00
d6d81a0c29
CI: run tests
Some checks failed
test / AoC 2024 (push) Failing after 1m22s
2024-12-13 17:52:42 -08:00
ed184fc92c
day12/day13: codspeed compat (&str input) 2024-12-13 17:42:44 -08:00
a1774d1f73
grid: impl FromStr for Grid<u8> 2024-12-13 17:28:45 -08:00
3bbf05b30c
pre-commit 2024-12-13 02:24:18 -08:00
6a8a7a9ad1
pre-commit update 2024-12-13 02:22:55 -08:00
1a6d37f4f3
clippies 2024-12-13 02:17:57 -08:00
35637cece1
readme 2024-12-13 02:15:41 -08:00
ebf5a0a489
day13: complete solution 2024-12-13 02:12:18 -08:00
4aa7e9f43c
day3: perf - branchless 2024-12-12 17:56:28 -08:00
a5439062a4
day3: performance - avoid converting &[u8] to &str 2024-12-12 17:38:42 -08:00
3658183deb
day7: performance. DFS with pruning. 2024-12-12 16:02:13 -08:00
38cba37b06
day5: perf: switch to sort-based implementation 2024-12-12 14:50:00 -08:00
6022d2cc39
multiple: Use FxHashMap for s p e e d 2024-12-12 14:07:22 -08:00
447ff5c62c
grid: improve ergonomics with more trait impls and other improvements
update puzzles to pass tests, some performance gains
2024-12-12 02:14:29 -08:00
c213bbbc27
day12: optimization and cleanup 2024-12-12 01:24:14 -08:00
a56fc933c9
day12: complete solution 2024-12-11 22:27:59 -08:00
31eb500832
day7: slight performance improvement from skipping ThreadLoacls 2024-12-11 19:40:45 -08:00
4c14c6092e
bugfix: count off by one, thought ^ was left in the map, but it gets
replaced by X
2024-12-11 18:59:58 -08:00
de535303d4
day11: don't use aoc_generator 2024-12-11 18:43:57 -08:00
50b6d045e7
multiple: genericize Grid over coordinate type, parallelism for day 11 2024-12-11 18:43:13 -08:00
d2defae8a2
chore: make day modules public 2024-12-11 18:40:53 -08:00
cd8900d936
chore: enable LTO for release builds 2024-12-11 18:40:29 -08:00
11b29a4d57
chore: refactor for cargo-aoc / codspeed 2024-12-11 15:45:52 -08:00
3bfde9fd9b
day11: some cleanup, slight performance 2024-12-11 03:11:17 -08:00
2e239681ce
day11: performance 2024-12-11 00:55:47 -08:00
a7354b6ed7
day11: part 2 solution 2024-12-10 23:40:03 -08:00
462918b382
day11: part 1 solution 2024-12-10 21:55:00 -08:00
8af11a6092
day10: performance. slight gain from memoizing visited positions in p1. 2024-12-10 17:07:00 -08:00
d9d55b069f
day10: optimization
Part 2 doesn't actually require tracking state at all, it's enough to
just follow the rules and count every DFS that lands on a target square.

Part 1 optimized by only tracking which targets have been previously
visited, instead of all squares.

Both parts, pass position reference to recursive calls instead of by
value for tiny improvement.
2024-12-10 16:20:15 -08:00
0716dde8b1
day10: complete solution 2024-12-09 21:59:39 -08:00
206c1fca85
day9: optimize part 2 2024-12-09 00:23:40 -08:00
f7cf4f1e9f
day9: optimize part 1 2024-12-08 23:58:47 -08:00
b08c8fbd80
day9: use part 2 'inodes' table to speed up part 1 2024-12-08 23:51:51 -08:00
2bc751dd0d
day9: complete solution
previous commit should actually work for part 1 if you don't truncate
the input.
2024-12-08 23:34:15 -08:00
a6ea5b4155
day9: second rewrite, still failing 2024-12-08 22:57:20 -08:00
622877843e
day8: refactor and cleanup 2024-12-07 22:49:57 -08:00
47e40942e2
day8: complete solution 2024-12-07 21:43:56 -08:00
3e0bc0d5cc
day7: parallel solution, < 100ms
This is definitely a problem that calls for DFS, but I couldn't be
bothered.
2024-12-06 22:52:00 -08:00
868c3e56fc
day7: complete solution 2024-12-06 21:40:25 -08:00
fee37aebd0
day6: further performance improvement, ~55ms total runtime
We only need to run the guard forward from the step before the obstacle
we placed, instead of starting at the original starting position.

The code starts to look ugly...
2024-12-06 17:05:36 -08:00
b1918bbebf
day6: performance - only check obstacles on the original path
700ms -> 150ms
2024-12-06 10:59:43 -08:00
1cd535c2aa
chore: clippies 2024-12-06 10:52:31 -08:00
1dd3ce5862
day6: performance improvement 2024-12-06 10:40:28 -08:00
145d779e83
day6: complete solution + grid lib (used in solution) 2024-12-05 22:41:47 -08:00
49c37800a0
day5: complete solution 2024-12-04 22:41:33 -08:00