bert
247613555b
Implement day 12 part 2.
...
This in no way should work, but it does, at least for my input.
2018-12-12 12:44:27 +01:00
bert
fd3e509841
Implement part 1 of day 12.
...
Part two is going to take 31 hours of computation, so I might need to
improve that.
2018-12-12 11:30:45 +01:00
bert
b245e0911d
Implement the summed-area-table algorithm.
...
Which is somewhat awkward for the edge cases (that are not in my input!)
but is really fast anyway.
2018-12-11 18:14:15 +01:00
bert
4b8255728c
Remove an invalid optimization.
2018-12-11 15:49:39 +01:00
bert
59be8e9d7a
Implement day 11 part 2.
2018-12-11 11:06:20 +01:00
bert
ff8bc97329
Implement day 11 part 1.
2018-12-11 10:31:23 +01:00
bert
eaf1156ae0
Refactor for autovectorization.
...
By storing x/y as a vector of ints instead of a vector of tuples, the
compiler recognizes it for what it is: a huge vector multiplication. Now
the compiler emits AVX2 instructions.
2018-12-10 17:13:10 +01:00
bert
c3480482f2
Implement an estimator function for day 10.
...
This bumps the speed tenfold.
2018-12-10 14:17:57 +01:00
bert
c94555fda1
Implement day 10.
...
This implementation is stupid but it works.
2018-12-10 13:13:29 +01:00
bert
63a5f81d8c
Pre-allocate correct size.
2018-12-09 17:47:22 +01:00
bert
c17be69910
Replace linkedlist with VecDeq.
...
Slightly slower but a lot cleaner.
2018-12-09 13:27:05 +01:00
bert
9b287a0098
Prepare future scaffolding.
...
Also reformat the code, but that is nothing significant.
2018-12-09 13:02:54 +01:00
bert
9b04e3b2c9
Implement day 9 part 2.
...
Linked lists in rust are a pain, but we got there.
2018-12-09 10:57:47 +01:00
bert
e101dbd58c
Move get_impl to crate.
2018-12-09 10:49:04 +01:00
bert
1d5869af70
Implement day 9 part 1.
2018-12-09 10:47:21 +01:00
bert
cf6f4f9e1e
Better usage of clap.
2018-12-08 08:00:43 +01:00
bert
880ae49be6
Split lib/bin.
2018-12-08 07:37:04 +01:00
bert
c0052c8c24
Replace filter + map with filter_map.
2018-12-08 07:32:46 +01:00
bert
7245cdf6b5
Implement day 08 in rust.
2018-12-08 07:15:27 +01:00
bert
2b732c2285
Implement day 08, in python.
...
Attempted to reach the leaderboard. Failed miserably. Trying again soon
anyway.
2018-12-08 07:13:48 +01:00
bert
0c07cbda24
Remove unused hashset.
2018-12-07 18:13:40 +01:00
bert
3deb4ceb9a
Replace backwards edges with dependency count.
2018-12-07 17:27:26 +01:00
bert
eee42a70f4
Implement part 2.
...
This one got kind of messy at the end.
2018-12-07 15:58:53 +01:00
bert
7b56d98853
Implement day 07 part 1.
2018-12-07 11:26:25 +01:00
bert
1582b556d8
Refactor range of coordinates to own function.
2018-12-06 16:37:19 +01:00
bert
c44ebaa238
Refactor grouping count into a trait.
2018-12-06 16:19:52 +01:00
bert
d53100e591
Move sample and input files.
...
IDEA doesn't like files without extension.
2018-12-06 15:43:28 +01:00
bert
f77e5adf2a
Implement day 6.
2018-12-06 13:08:28 +01:00
bert
bdea21d92b
Day 06 inputs.
2018-12-06 11:10:51 +01:00
bert
8fef472a58
Clarify bitmagic.
...
[skip ci]
2018-12-05 22:45:55 +01:00
bert
f3d0297da5
Bithack optimizations, why not.
...
It saves a branch and a (possibly inlined) function call, but it also
halves the runtime.
2018-12-05 22:37:22 +01:00
bert
f426e7067a
More easily time the program.
2018-12-05 12:23:54 +01:00
bert
f4cbb75e63
Attempt 3 to fix travis ignore.
2018-12-05 10:56:34 +01:00
bert
a2f0026c18
Fix ignore of ubuntu rust.
2018-12-05 10:53:26 +01:00
bert
aeb2faa6c9
Also test for Ubuntu's rust version.
2018-12-05 10:51:15 +01:00
bert
28d38470a6
Move sample input to separate files.
2018-12-05 10:43:58 +01:00
bert
3543351c20
Implement day 05.
...
This was a nice exercise in not allocating memory. Or at least it was,
for part 1.
2018-12-05 10:39:39 +01:00
bert
3d68f20097
Slightly more efficient and compact code.
...
This version loops the input twice, first to build the claims, and then
to check whether they have been claimed more than once.
2018-12-05 09:53:42 +01:00
bert
38db4487e3
Add missing input for day 3.
2018-12-04 15:16:50 +01:00
bert
43eeacc686
Rework previous regex use.
2018-12-04 13:49:16 +01:00
bert
1e51012d5e
Implement day 4.
...
Nice code-reuse between 1 and 2. I'm not accustomed to this.
2018-12-04 13:41:45 +01:00
bert
9a0f24d6bb
Implement day 3.
...
Wasted way too much trying to do this cleverly.
2018-12-03 10:41:38 +01:00
bert
fd5af9245b
Implement day 2.
...
Part two was weird.
2018-12-02 10:36:45 +01:00
bert
e4e4432810
Add travis button.
2018-12-01 13:37:33 +01:00
bert
3bbe6a479a
Implement day 1 2018.
...
We've started.
2018-12-01 11:03:48 +01:00
bert
c41099d9d5
Implement day 11.
...
Whelp, this was really annoying.
2018-11-30 16:39:42 +01:00
bert
48db1dde39
Simplify the "find" operation.
2018-11-30 14:13:58 +01:00
bert
2ec8dddb66
Reimplement day 21.
2018-11-30 13:59:53 +01:00
bert
b570821c8a
Properly use the never type.
2018-11-29 17:01:01 +01:00
bert
d02fd49bd6
Clean up tests
2018-11-29 16:58:51 +01:00