By adurysk, 6 years ago, , Programming & Algorithms Group and SDSLabs invite you to Algophobic, a 5 hour ACM ICPC style individual coding contest. The contest will take place on 7th March from 7pm to 12 am on codevillage.sdslabs.co

The contest is open for everyone!!   Comments (17)
 » I cant see the captcha when I try to submit my code.
 » From 7 pm to 12 am... in what timezone?
•  » » The Contest is postponed and will start at 9:00 PM (IST : GMT +5:30)
 » 6 years ago, # | ← Rev. 2 →   Is there any other way to log in than with FB? Because I surely don't see it.And URL links don't exist just because they look pretty, but so that people didn't have to copy-paste a link from the text...
 » The contest is live now.Sorry for the inconvenience caused.
 » Nice contest!Have anyone ideas, how to solve problem "Starks and Tiles"?
•  » » 6 years ago, # ^ | ← Rev. 2 →   Hey, I set the problem.Here goes a small hint-Try using mobius inversion formula. http://en.wikipedia.org/wiki/M%C3%B6bius_inversion_formula
•  » » » It's a funny situation, when a grey coder is helping a red coder :D
•  » » » What is the complexity of each query in your algorithm? Some more hints will be appreciated. :)
•  » » 6 years ago, # ^ | ← Rev. 3 →   I think I have the solution. I am too lazy to code it and check, so let me know if I missed something :DSuppose we have a function f(n) satisfying , then the required sum is and so, . Note that where and . So, we can answer each query in O(max(m, n)) time if we precompute f(n) for all 1 ≤ n ≤ 1000000.By mobius inversion, . If vp(n) ≥ 3 for some prime p, then at least one of μ(d) or is 0. Assume that is not the case, then let . The values of d which do not contribute 0 are precisely those values of the form for ci ≤ 1. Also, denote . Then since |μ(d)| = 1 for all such d. But we have obtained by applying mobius inversion to (which is a standard result of Gauss). So, . Now, we can precompute the least prime divisor array for each number in overall linear time and use it to factorize fast enough to compute the above f(n). The complexity of precomputation is but I think it runs much better because the numbers for which we have to actually compute the f value are cube-free numbers.
•  » » » I wrote this solution on the contest, but it works 8 seconds on maxtest and gets TL.Maybe, there is very magic way, how to write this optimal... but it looks like author's solution is different, and much more faster.
•  » » » » The precomputation is the most expensive part and it takes only 2 × 107 operations in the worst case and each query is linear. I really see no reason for this to TLE :(Maybe, I should code it sometime later :P
•  » » » » » Precomutation is quick. We have 100 queries in the test and this is the problem. 10^8 of some multiplications, divisions, in long type... works long enough :(
 » When will the editorials be published ?
 » Here is my editorial for Starks and Tiles.Each query is taking O(sqrt(n)) time complexity. (http://goo.gl/0XFZMm)
•  » » Exactly the same idea as I and enot.1.10 did except that the ending was pretty neat. Thanks for the cool problem, you should set more problems, perhaps a really mathy cf contest :D
•  » » » Thanks :)!