<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Latest posts for the topic "Odzemanje IBUOI 2019"]]></title>
		<link>http://mendo.mk/jforum/posts/list/6.page</link>
		<description><![CDATA[Latest messages posted in the topic "Odzemanje IBUOI 2019"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Odzemanje IBUOI 2019</title>
				<description><![CDATA[ Zdravo, dali nekoj znae kako se resava ovaa zadaca, ja resiv za test slucaevite kade n&lt;1 000 000, no pagja na vreme za drugite bidejki ja probuvam sekoja kombinacija. ]]></description>
				<guid isPermaLink="true">http://mendo.mk/jforum/posts/preList/701/3812.page</guid>
				<link>http://mendo.mk/jforum/posts/preList/701/3812.page</link>
				<pubDate><![CDATA[Wed, 17 Apr 2019 21:27:08]]> GMT</pubDate>
				<author><![CDATA[ BATIR]]></author>
			</item>
			<item>
				<title>Re:Odzemanje IBUOI 2019</title>
				<description><![CDATA[ Оваа задача, и вакви слични задачи каде што треба да изброиме колку броеви постојат што задоволуваат некое својство кое не е тривијално обично се решаваат со техниката [url="https://codeforces.com/blog/entry/53960"]Digit DP[/url].<br /> Бидејќи постојат броеви со различен број на цифри кои би можеле да го задоволат бараното својство, ќе ја повториме техниката на броење за секоја должина на бројот посебно. Да речеме дека имаме дадна разлика S, |S| = k, и цифрите на S се s_k, s_(k-1), ..., s_1. Нека бројот кој тековно го разгледуваме е N, |N| = q,  цифрите на N се n_q, n_(q-1), ..., n_1. Значајно е да спомнеме дека N &gt; S и |N| &gt;= |S|, инаку својството не би можело да биде исполнето. За поедноставување на проблемот, сметаме дека |S| = |N|, со тоа што S го пополнуваме со водечки нули.<br /> За да развиеме техника за броење, треба да увидиме како можеме да ги пресметаме сите различни начини за да се добие цифрата на некоја произволна позиција (k) во бројот S. Првото нешто што би ни текнало на памет е да ги најдеме сите можни вредности на n_k и n_(q-k) за кои важи својството: s_k = n_k - n_(q+1-k). Но, тоа не е сосема точно, бидејќи кога одземаме броеви може да дојде до пренесување на десетки ако n_k &lt; n_(q+1-k). Според тоа, нека carry е бит стринг, кај кој k-тиот бит има вредност 1 ако се пренесува десетка од k-тата во (k-1)-та позиција при одземањето. Нека valid(s, n, k, carry) е функција која враќа дали можеме да ја добиеме k-тата цифра во s од бројот n и пренесувањата carry. Тогаш, valid(s, n, k, carry) = true ако и само ако s_k = 10 * getBit(carry, k+1) + n_k - getBit(carry, k) - n_(q+1-k). Конечно, доаѓаме до следната рекурентна равенка за пресметување на сите можни броеви:<br /> <br /> ways(k, carry, q) = cnt_k * ways(k+1, carry, q); k &lt;= q / 2; каде што cnt_k се сите подредени парови (a, b), за кои важи valid(s, n, k, carry) и valid(s, n, q+1-k, carry).<br /> ways(k, carry, q) = 1; k &gt; q / 2;<br /> <br /> Бидејќи не можеме однапред да знаеме на кои места ќе имаме пренесување на вредноста, ќе ги испробаме сите вредности на carry, кои се 2^(digitLen-1) на број, каде digitLen е бројот на цифри за кој пресметуваме. Псевдо-кодот на решението е следниот:<br /> [code]<br /> total = 0<br /> for digit_len in |S|..MAX_LEN:<br />    for carry in 0..2^(digit_len-1):<br />        total += ways(1, carry&lt;&lt;1, digit_len)<br /> [/code]<br /> <br /> Да напоменам дека решението работи за MAX_LEN &gt;= 19. Исто така, carry има вкупно 2^(digitLen-1) вредности, а не 2^(digitLen), поради тоа што не можеме да пренесуваме десетки од првата цифра на десно.]]></description>
				<guid isPermaLink="true">http://mendo.mk/jforum/posts/preList/701/3813.page</guid>
				<link>http://mendo.mk/jforum/posts/preList/701/3813.page</link>
				<pubDate><![CDATA[Thu, 18 Apr 2019 13:03:35]]> GMT</pubDate>
				<author><![CDATA[ despotovski01]]></author>
			</item>
			<item>
				<title>Odzemanje IBUOI 2019</title>
				<description><![CDATA[ Fala]]></description>
				<guid isPermaLink="true">http://mendo.mk/jforum/posts/preList/701/3814.page</guid>
				<link>http://mendo.mk/jforum/posts/preList/701/3814.page</link>
				<pubDate><![CDATA[Thu, 18 Apr 2019 14:35:23]]> GMT</pubDate>
				<author><![CDATA[ BATIR]]></author>
			</item>
	</channel>
</rss>