Serguey Zefirov (thesz) wrote,
Serguey Zefirov
thesz

Category:

Попробовал задачку nponeccop.

Задачка.

Мой текущий вариант решения.

Работает плохо, на диапазонах типа "192.168.2.4,193.0.0.3" сжирает всю память.

Попробовал два варианта упрощения дерева разбора: foldr и попарное упрощение:
reduceTrees [] = Failure
reduceTrees [t] = t
reduceTrees ts =
	-- foldr joinTree Failure ts
	reduceTrees (reduce ts)
	where
		reduce (a:b:ts) = joinTree a b : reduce ts
		reduce ts = ts
Разница в 20% времени выполнения.

Такое попарное упрощение справедливо для коммутативных операций.

Плохое поведение можно улучшить. Но не сегодня. ;)
Tags: Хаскель, разное
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 40 comments