If we want to know the last ten digits of number an – we have to evaluate expression an mod 1010. Using brute force approach, we have to do O(n) ( If you don’t understand big „O” notation, visit: Big O notation – it’s VERY important) multiplications and modulo divisions. When n is greater than 109, it will take a lot of time. Fortunately, we can use more „mathematical” approach, which has O(log n) complexity. Read More
When you write in PHP $$name, parser treats it as variable, wchich name is value of $name – it works like pointer:
<? $var1 = 'test1'; $var2 = 'test2'; $a = 'var1'; echo $$a.'<br>'; $a = 'var2'; echo $$a; ?>
output:
test1 test2
In PHP we can use function eval in order to evaluate given variable (string) as PHP code:
<? $var = 'for ($i=0;$i<5;$i++) { echo $i.\'<br>\'; }'; eval($var); ?>
output:
0 1 2 3 4
Here is a list of websites, which are sets of algorithmical tasks or online contests:
http://www.topcoder.com
http://www.spoj.pl
http://icpcres.ecs.baylor.edu/onlinejudge/
http://acm.timus.ru
http://acm.mipt.ru/judge
http://www.uwp.edu/sws/usaco/
http://acm.sgu.ru/
http://projecteuler.net/