16e7528b34
Updated day 12 WIP performance refactor
...
- Added TValidationsToBlockAssignments to replace the loops in
TConditionRecord.GenerateBlockAssignments
2024-11-19 18:14:14 +01:00
ec6928679a
Updated day 12 WIP performance refactor
...
- Added combinations calculation directly to the multi-index enumerable
(TValidationPositionOffsets) and added new intermediate derived class
TAccumulatedCombinationsMultiIndexStrategy to make this reusable for the other
enumerables
- Removed TBinomialCoefficientCache instances and used new global instance instead
- Renamed TValidationToDamageAssignments to TDamageToValidationAssignments
2024-11-17 23:55:25 +01:00
3f7fb4a548
Added global BinomialCoefficients instance
2024-11-17 17:47:43 +01:00
05863842df
Added TBlock to replace the block strings for day 12
2024-11-15 19:08:33 +01:00
1642c7dcfb
Updated day 12 WIP solver (correct solution)
2024-11-12 19:16:12 +01:00
60ef49c1ee
Updated day 12 WIP solver
2024-11-10 23:04:01 +01:00
21ef4c08f1
Added TBinomialCoefficientCache method documentation
2024-11-09 23:11:05 +01:00
be0357befd
Added binomial coefficient calculation
2024-11-09 17:59:56 +01:00
1d399cc5b6
Updated day 12 WIP solver
2024-11-09 00:42:11 +01:00
fb2f813701
Added MultiIndexEnumerator
2024-11-09 00:41:49 +01:00
151b5dc49a
Updated day 12 WIP solver
2024-10-15 11:45:44 +02:00
c0ee7894ae
Added initial attempt for "Day 12: Hot Springs", part 2 including test cases
2024-07-03 20:48:50 +02:00
c84d3e6a2d
Updated favorites in readme
2024-07-03 20:42:40 +02:00
ba4195af82
Added solution for "Day 18: Lavaduct Lagoon", part 2
2024-07-03 20:41:19 +02:00
b086038aa5
Added solution for "Day 18: Lavaduct Lagoon", part 1
2024-06-29 01:03:16 +02:00
4cd9392bbc
Added puzzle commentaries for days 17, 19, and 22
2024-06-26 21:25:49 +02:00
c0a6145019
Added favorites in readme
2024-06-26 21:23:04 +02:00
dfa6f6a09c
Fixed more typos in the readme
2024-06-26 21:20:21 +02:00
00f90a1da9
Fixed nested if block in USandSlabs.pas
2024-06-26 21:16:02 +02:00
5441700572
Updated several of the solution infos in the readme
2024-06-26 09:36:56 +02:00
6d622d4c22
Added tests section in the readme
2024-06-26 09:34:05 +02:00
72ce40d84a
Updated readme headings and links
2024-06-26 09:32:52 +02:00
d79bd2e78a
Removed unused unit includes, left from older changes
2024-06-25 22:23:58 +02:00
7b33e8b406
Added solution for "Day 17: Clumsy Crucible", part 2
2024-06-25 22:22:52 +02:00
ba1cefc371
Added solution for "Day 17: Clumsy Crucible", part 1
2024-06-19 22:38:24 +02:00
0ccb047312
Fixed test project unit order
2024-06-17 14:01:53 +02:00
3e7943056a
Added new alternative data path ..\..\data
2024-06-17 14:01:23 +02:00
f66e3fc2d8
Removed full data test cases
...
Providing full access to the solver code is the purpose of this project
repository. However, I think there should be some work in getting to
the actual solutions to not open the doors to abuse.
2024-06-17 14:00:22 +02:00
8eb76329c1
Moved common TPoint direction code into new unit
2024-06-10 20:48:07 +02:00
19509c6173
Fixed memory leak in TSnowverload
2024-06-10 20:46:54 +02:00
e81df9d558
Added test categories to all registered test cases
2024-06-10 20:24:05 +02:00
3f83f888f3
Updated solution for day 25, significantly speeding up the algorithm
2024-06-05 13:40:31 +02:00
c5ea70ed21
Added solution for "Day 25: Snowverload", part 1
2024-06-04 17:14:24 +02:00
216839c98b
Fixed copyright date
2024-06-03 20:52:42 +02:00
3c2acf05e8
Fixed project uses
2024-06-03 20:50:56 +02:00
c2570fab3d
Removed unused dividers factorization
2024-06-03 14:49:21 +02:00
33e7b64276
Added puzzle commentary for day 24
2024-05-27 03:10:14 +02:00
859a5db921
Merge branch 'day24-analytical'
2024-05-27 02:53:03 +02:00
b27b14a153
Fixed day 24 helper variable indices
2024-05-27 02:52:22 +02:00
3e3e1d45d3
Added solution "Day 24: Never Tell Me The Odds", part 2
2024-05-27 02:29:49 +02:00
44caf3e21c
Fixed comments
2024-05-26 19:58:13 +02:00
1784e41c0f
Fixed root isolation interval data types
2024-05-26 19:28:04 +02:00
5f93ad7869
Added bisection variant for integers instead of intervals
2024-05-26 18:59:47 +02:00
7db8f948c5
Changed TPolynomialRoots.BisectIsolation return type to array
2024-05-26 17:34:18 +02:00
8d4a5c2ed8
Changed root finder to use base-2 exponent of bound
...
Since the root isolation algorithm uses a power of two as bound anyway,
it makes sense to use it's exponent in method interfaces and throughout
the algorithm. This simplifies multiplications to cheap shifts and will
make it easier to detect when the isolating interval size is 1.
Also added some method documentation.
2024-05-26 17:31:37 +02:00
04e1702a2e
Added TBigIntPolynomial.ScaleVariableByPowerOfTwo
2024-05-26 16:59:16 +02:00
ab453b347d
Renamed root finding class and methods, now class methods
2024-05-26 14:23:31 +02:00
ae30889bbb
Fixed calculation of root-isolating intervals and tests
2024-05-25 02:51:00 +02:00
748964c871
Fixed broken polynomial degree in bisection algorithm
2024-05-25 02:37:34 +02:00
fa5616f3cc
Fixed initializer of zero polynomial
2024-05-25 02:35:55 +02:00