i am thinking of just storing hashes in memory and the winner is the hash that is closest to the hash of the previous block.
an attacker can just recalculate the hashes like in conventional pow but in the long run storing the hashes will give an advantage.
if the miner doesn't have a valid hash he can start calculating other hashes with the CPU.
it is like a proof of work and memory.