锘??xml version="1.0" encoding="utf-8" standalone="yes"?>美女写真久久影院,久久久久亚洲AV无码永不,久久er国产精品免费观看8http://www.shnenglu.com/Yuan/category/16260.htmlzh-cnThu, 04 Aug 2011 02:55:25 GMTThu, 04 Aug 2011 02:55:25 GMT60zoj 3512 宸﹀亸鏍?鎬濈淮 涓綅鏁?/title><link>http://www.shnenglu.com/Yuan/archive/2011/08/03/152374.html</link><dc:creator>_Yuan</dc:creator><author>_Yuan</author><pubDate>Wed, 03 Aug 2011 09:35:00 GMT</pubDate><guid>http://www.shnenglu.com/Yuan/archive/2011/08/03/152374.html</guid><wfw:comment>http://www.shnenglu.com/Yuan/comments/152374.html</wfw:comment><comments>http://www.shnenglu.com/Yuan/archive/2011/08/03/152374.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/Yuan/comments/commentRss/152374.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/Yuan/services/trackbacks/152374.html</trackback:ping><description><![CDATA[<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008000; ">/*</span><span style="color: #008000; "><br />     緇欏嚭n<=50000涓暟鐨勫簭鍒梐[1]..a[n]錛屾眰涓涓潪閫掑噺鐨勫簭鍒梑[1]..b[n]<br />     浣垮緱∑|a[i]-b[i]|鏈灝?br /> <br />     濡傛灉鍙槸姹備竴涓偣x錛屼嬌寰?#8721;|a[i]-b[i]|鏈灝忥紝鏄劇劧x = a[(n+1)/2]錛堜腑浣嶆暟錛?--------------OMG<br />     浣嗙幇鍦ㄥ彲浠ユ湁澶氫釜鐐癸紝濡傛灉a[]鏄掑鐨勶紝閭d箞浠[i] = a[i]鍗沖彲浜?br />     鐜板湪a[]鏄棤瑙勫緥鐨?br /> <br />     宸﹀亸鏍戠殑璁烘枃棰橈紝鐪嬩簡璁烘枃榪樹笉瀹屽叏鎳?br />     鍋氭硶錛?br />     鏈鍚庣瓟妗堢殑褰㈠紡鏄皢1..n鍒嗘垚m涓繛緇殑鍖洪棿錛屾瘡涓尯闂寸殑b[i]鏄竴鏍風殑錛屼笖涓嶅悓鍖洪棿鏄潪閫掑噺鐨?br />     鍦ㄦ鏌鏃訛紝鍋囪1..n-1宸茬粡鍒嗘垚浜唌涓尯闂翠簡<br />     鐜板湪鍏堟妸a[n]鍗曠嫭涓涓尯闂達紝鏄劇劧b[n]=a[n]浼氭槸1..n鐨勬渶浼樺鹼紙鍥犱負鍓嶉潰1..n-1鏄渶浼樼殑錛岃岀n涓?br />     瀵圭瓟妗堢殑璐$尞涓?錛夛紝浣嗘槸涓嶄竴瀹氭弧瓚砨[n-1]<=b[n]錛岀畻娉曚負錛?br />     鑻[n-1] <= b[n]錛屽垯b[n]灝辨槸a[n]浜?br />     鍚﹀垯錛岄渶瑕佸悎騫剁洰鍓嶆渶灝劇殑涓や釜鍖洪棿錛岀洿鑷寵繖涓や釜鍖洪棿鏈塨[k] <= b[k+1]              -------OMG<br />     鑰宐[k]鏄劇劧鏄瘡涓涓尯闂寸殑涓綅鏁頒簡<br />     鍚堝茍涓や釜鍖洪棿姹備腑浣嶆暟錛屽彲鐢ㄥ乏鍋忔爲鍋氭渶澶у爢鍒嗗埆緇存姢姣忎釜鍖洪棿鐨勫墠(ni+1)/2灝忕殑鏁幫紝-------OMG<br />     鍒欏爢欏朵負姣忎釜    鍖洪棿鐨勪腑浣嶆暟浜嗭紝鍚堝茍鏃訛紝灝嗗彸杈瑰尯闂寸殑閭d簺鏁板悎騫跺埌宸﹁竟鍗沖彲<br />     O(nlogn)<br />     宸﹀亸鏍戠湡鏄濂囨紓浜殑涓滆タ!!<br /> <br />     鑷充簬涓轟粈涔堟槸鍚堝茍鏈鍚庝袱涓尯闂達紝灝嗙n涓暟鍜屽畠涔嬪墠閭d釜鍖洪棿鐨勪竴閮ㄥ垎鏁板悎璧鋒潵涓嶈鍚楋紵<br />     鍋囪a[k<img src="http://www.shnenglu.com/Images/dot.gif" alt="" />n-1]鏄眰鍑烘潵鐨勪竴涓尯闂達紝鍒欒偗瀹氭湁a[n-1]<a[k..n-2]鐨勪腑浣嶆暟錛屽惁鍒欏皢a[n-1]鐙珛鍑烘潵浼氭洿浼?--OMG<br />     鍚岀悊錛宎[n]<a[k..n-1]鐨勪腑浣嶆暟錛岄渶瑕佽繘琛屽悎騫訛紝閭h兘涓嶈兘a[k<img src="http://www.shnenglu.com/Images/dot.gif" alt="" />n]鍒嗘垚涓ら儴鍒嗭紝鑰屼笉鏄悎騫舵垚涓閮ㄥ垎鍛紵<br />     鍗砤[k..k'], a[k'..n]錛岃繖鏍蜂篃涓嶈錛岀敱鍋囪鐭ワ紝鑲畾a[k'..n]鐨勪腑浣嶆暟<a[k..k']鐨勪腑浣嶆暟錛岄渶瑕佸悎騫?br />     錛堝ぇ浜庣殑璇濓紝a[k'+1..n-1]灝變笉浼氬悎騫跺埌閭i噷鍘誨暒~~錛?br /> </span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br /> #include</span><span style="color: #000000; "><</span><span style="color: #000000; ">iostream</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> #include</span><span style="color: #000000; "><</span><span style="color: #000000; ">cstring</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> #include</span><span style="color: #000000; "><</span><span style="color: #000000; ">map</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> #include</span><span style="color: #000000; "><</span><span style="color: #000000; ">algorithm</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> #include</span><span style="color: #000000; "><</span><span style="color: #000000; ">stack</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> #include</span><span style="color: #000000; "><</span><span style="color: #000000; ">queue</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> #include</span><span style="color: #000000; "><</span><span style="color: #000000; ">cstring</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> #include</span><span style="color: #000000; "><</span><span style="color: #000000; ">cmath</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> #include</span><span style="color: #000000; "><</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> #include</span><span style="color: #000000; "><</span><span style="color: #000000; ">cstdlib</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> #include</span><span style="color: #000000; "><</span><span style="color: #000000; ">vector</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> #include</span><span style="color: #000000; "><</span><span style="color: #000000; ">cstdio</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> #include</span><span style="color: #000000; "><</span><span style="color: #0000FF; ">set</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> #include</span><span style="color: #000000; "><</span><span style="color: #000000; ">list</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> #include</span><span style="color: #000000; "><</span><span style="color: #000000; ">numeric</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> #include</span><span style="color: #000000; "><</span><span style="color: #000000; ">cassert</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> #include</span><span style="color: #000000; "><</span><span style="color: #000000; ">sstream</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> #include</span><span style="color: #000000; "><</span><span style="color: #000000; ">ctime</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> #include</span><span style="color: #000000; "><</span><span style="color: #000000; ">bitset</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> #include</span><span style="color: #000000; "><</span><span style="color: #000000; ">functional</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /> <br /> </span><span style="color: #0000FF; ">using</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">namespace</span><span style="color: #000000; "> std;<br /> <br /> </span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> MAXN </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">100010</span><span style="color: #000000; ">;<br /> <br /> </span><span style="color: #0000FF; ">struct</span><span style="color: #000000; "> Node <br /> {<br />     </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> key, dist, lc, rc;<br /> };<br /> <br /> Node nodes[MAXN];<br /> </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> alloc;<br /> <br /> </span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> initNode()<br /> {<br />     nodes[</span><span style="color: #000000; ">0</span><span style="color: #000000; ">].dist </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">0浣滀負NULL鑺傜偣</span><span style="color: #008000; "><br /> </span><span style="color: #000000; ">    alloc </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br /> }<br /> <br /> </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> newNode(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> x)<br /> {<br />     nodes[alloc].key </span><span style="color: #000000; ">=</span><span style="color: #000000; "> x;<br />     nodes[alloc].dist </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br />     nodes[alloc].lc </span><span style="color: #000000; ">=</span><span style="color: #000000; "> nodes[alloc].rc </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br />     </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> alloc</span><span style="color: #000000; ">++</span><span style="color: #000000; ">;<br /> }<br /> <br /> </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> merge(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> A, </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> B)<br /> {<br />     </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (A </span><span style="color: #000000; ">!=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; "> </span><span style="color: #000000; ">&&</span><span style="color: #000000; "> B </span><span style="color: #000000; ">!=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">) {<br />         </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (nodes[A].key </span><span style="color: #000000; "><</span><span style="color: #000000; "> nodes[B].key) {</span><span style="color: #008000; ">//<br /> </span><span style="color: #000000; ">            swap(A, B);<br />         }<br />         nodes[A].rc </span><span style="color: #000000; ">=</span><span style="color: #000000; "> merge(nodes[A].rc, B);<br />         </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">&</span><span style="color: #000000; ">lc </span><span style="color: #000000; ">=</span><span style="color: #000000; "> nodes[A].lc;<br />         </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> </span><span style="color: #000000; ">&</span><span style="color: #000000; ">rc </span><span style="color: #000000; ">=</span><span style="color: #000000; "> nodes[A].rc;<br />         </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (nodes[lc].dist </span><span style="color: #000000; "><</span><span style="color: #000000; "> nodes[rc].dist) {<br />             swap(lc, rc);<br />         }<br />         nodes[A].dist </span><span style="color: #000000; ">=</span><span style="color: #000000; "> nodes[rc].dist </span><span style="color: #000000; ">+</span><span style="color: #000000; "> </span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br />     } </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> {<br />         A </span><span style="color: #000000; ">=</span><span style="color: #000000; "> A </span><span style="color: #000000; ">==</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; "> </span><span style="color: #000000; ">?</span><span style="color: #000000; "> B : A;<br />     }<br />     </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> A;<br /> }<br /> <br /> <br /> </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> pop(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> A)<br /> {<br />     </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> t </span><span style="color: #000000; ">=</span><span style="color: #000000; "> merge(nodes[A].lc, nodes[A].rc);<br />     nodes[A].lc </span><span style="color: #000000; ">=</span><span style="color: #000000; "> nodes[A].rc </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">闅旂鍑篈鍚庤寰楀皢A鐨勫効瀛愪篃娓呯┖</span><span style="color: #008000; "><br /> </span><span style="color: #000000; ">    </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> t;<br /> }<br /> <br /> </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> a[MAXN];<br /> <br /> </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> main()<br /> {<br /> #ifndef ONLINE_JUDGE<br />     freopen(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">in.txt</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">r</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,stdin);<br /> </span><span style="color: #0000FF; ">#endif</span><span style="color: #000000; "><br /> <br />     </span><span style="color: #0000FF; ">for</span><span style="color: #000000; "> (</span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> n;scanf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%d</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, </span><span style="color: #000000; ">&</span><span style="color: #000000; ">n), n; ) {<br />         initNode();<br />         stack</span><span style="color: #000000; "><</span><span style="color: #000000; ">pair</span><span style="color: #000000; "><</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">,</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">></span><span style="color: #000000; "> </span><span style="color: #000000; ">></span><span style="color: #000000; "> S;<br />         </span><span style="color: #0000FF; ">for</span><span style="color: #000000; "> (</span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> i </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">1</span><span style="color: #000000; ">; i </span><span style="color: #000000; "><=</span><span style="color: #000000; "> n; i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">) {<br />             scanf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%d</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, </span><span style="color: #000000; ">&</span><span style="color: #000000; ">a[i]);<br />             pair</span><span style="color: #000000; "><</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">, </span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">></span><span style="color: #000000; "> np(newNode(a[i]), </span><span style="color: #000000; ">1</span><span style="color: #000000; ">);</span><span style="color: #008000; ">//</span><span style="color: #008000; ">node, len</span><span style="color: #008000; "><br /> </span><span style="color: #000000; ">            </span><span style="color: #0000FF; ">while</span><span style="color: #000000; "> (</span><span style="color: #000000; ">!</span><span style="color: #000000; ">S.empty() </span><span style="color: #000000; ">&&</span><span style="color: #000000; "> nodes[S.top().first].key </span><span style="color: #000000; ">></span><span style="color: #000000; "> nodes[np.first].key) {<br />                 pair</span><span style="color: #000000; "><</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">,</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">></span><span style="color: #000000; "> top </span><span style="color: #000000; ">=</span><span style="color: #000000; "> S.top();<br />                 S.pop();<br />                 </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> n1 </span><span style="color: #000000; ">=</span><span style="color: #000000; "> top.second, n2 </span><span style="color: #000000; ">=</span><span style="color: #000000; "> np.second;<br />                 np.first </span><span style="color: #000000; ">=</span><span style="color: #000000; "> merge(top.first, np.first);<br />                 np.second </span><span style="color: #000000; ">=</span><span style="color: #000000; "> n1</span><span style="color: #000000; ">+</span><span style="color: #000000; ">n2;<br />                 </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> ((n1</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">)</span><span style="color: #000000; ">/</span><span style="color: #000000; ">2</span><span style="color: #000000; "> </span><span style="color: #000000; ">+</span><span style="color: #000000; "> (n2</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">)</span><span style="color: #000000; ">/</span><span style="color: #000000; ">2</span><span style="color: #000000; "> </span><span style="color: #000000; ">></span><span style="color: #000000; "> (n1</span><span style="color: #000000; ">+</span><span style="color: #000000; ">n2</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">)</span><span style="color: #000000; ">/</span><span style="color: #000000; ">2</span><span style="color: #000000; ">) {<br />                     np.first </span><span style="color: #000000; ">=</span><span style="color: #000000; "> pop(np.first);<br />                 }<br />             }<br />             S.push(np);<br />         }<br />         </span><span style="color: #0000FF; ">long</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">long</span><span style="color: #000000; "> ans </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br />         </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> id </span><span style="color: #000000; ">=</span><span style="color: #000000; "> n;<br />         </span><span style="color: #0000FF; ">while</span><span style="color: #000000; "> (</span><span style="color: #000000; ">!</span><span style="color: #000000; ">S.empty()) {<br />             </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> b </span><span style="color: #000000; ">=</span><span style="color: #000000; "> nodes[S.top().first].key, num </span><span style="color: #000000; ">=</span><span style="color: #000000; "> S.top().second;<br />             S.pop();<br />             </span><span style="color: #0000FF; ">while</span><span style="color: #000000; "> (num </span><span style="color: #000000; ">--</span><span style="color: #000000; "> </span><span style="color: #000000; ">></span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">) {<br />                 ans </span><span style="color: #000000; ">+=</span><span style="color: #000000; "> abs(a[id</span><span style="color: #000000; ">--</span><span style="color: #000000; ">] </span><span style="color: #000000; ">-</span><span style="color: #000000; "> b);<br />             }<br />         }<br />         printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%lld\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, ans);<br />     }<br />     </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /> }</span></div><img src ="http://www.shnenglu.com/Yuan/aggbug/152374.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/Yuan/" target="_blank">_Yuan</a> 2011-08-03 17:35 <a href="http://www.shnenglu.com/Yuan/archive/2011/08/03/152374.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>CF70C 鐢╩ap瀛樺垎瀛愬垎姣?鎵弿x寰皟yhttp://www.shnenglu.com/Yuan/archive/2011/05/05/145726.html_Yuan_YuanThu, 05 May 2011 02:56:00 GMThttp://www.shnenglu.com/Yuan/archive/2011/05/05/145726.htmlhttp://www.shnenglu.com/Yuan/comments/145726.htmlhttp://www.shnenglu.com/Yuan/archive/2011/05/05/145726.html#Feedback0http://www.shnenglu.com/Yuan/comments/commentRss/145726.htmlhttp://www.shnenglu.com/Yuan/services/trackbacks/145726.html/*
    緇欏嚭mx,my,w(1<= mx,my<=10^5, 1<= w <= 10^7)
    姹俶inimal{x*y}錛?<=x<=mx,1<=y<=my
    浣垮緱[1x][1y]榪欎釜鍖哄煙鍐呮弧瓚?nbsp;a*b = rev(a)*rev(b)鐨勭偣鐨勪釜鏁?gt;=w
    
    鎴戣兘鎯沖埌鐨勬槸
    鍏堥澶勭悊鍑烘墍鏈塺ev(a)錛屼粠宸﹀埌鍙蟲壂鎻弜錛屽姞榪涙柊鐨勭偣錛堝嵆鎵鏈夋弧瓚硏*b = rev(x)*rev(b),1<=b<=my錛?br>    鐒跺悗浜屽垎y錛屾壘鍑烘弧瓚硍鐨勬渶灝忕殑y
    
    涔熸兂鍒板皢a*b = rev(a)*rev(b)鍙樺艦涓?nbsp;a/rev(a) = rev(b)/b錛屼絾鎯充笉涓嬪幓浜嗭紝
    涓嶇煡鎬庝箞蹇熻幏鍙栨墍鏈夋弧瓚硏*b = rev(x)*rev(b)錛堜富瑕佹槸鍥犱負a/rev(a)鏄誕鐐規暟錛屼笉鐭ユ庝箞鐢ㄤ笅鏍囧瓨錛?br>    
    鐪嬩簡鍒漢鐨勶紝鐢╩ap<double,int>灝卞彲浠ヤ簡   →.→
    鐪嬩簡watashi鐨勶紝鏄瓨鍒嗗瓙鍒嗘瘝錛堝厛鐢╣cd綰﹀垎涓涓嬶級              ------------------------------OMG

    鎬諱綋綆楁硶灝辨槸
    浠庡乏鍒板彸鎵弿x錛屽姞鍏ユ墍鏈夋弧瓚硏*b = rev(x)*rev(b)鐨勭偣
    鑰屾弧瓚寵繖涓潯浠剁殑灝辨槸婊¤凍x/rev(x) = rev(b)/b鐨勶紝鐢變簬涔嬪墠宸茬粡瀛樹簡mpy[(b,rev(b))]
    婊¤凍涓婇潰寮忓瓙鐐圭殑涓暟灝辨槸mpy[(rev(x),x)]浜?br>    姣旇緝紲炲鐨勬槸錛屼粬鍦ㄦ灇涓緓鏃訛紝瑕佽幏鍙栨弧瓚?gt;=w鐨剏錛屼笉鏄簩鍒唝鐨勶紝鏄氳繃寰皟鐨?nbsp;   -----------OMG
    鍗寵嫢褰撳墠鐨剎*y鑼冨洿鍐呯殑鐐?gt;=w,
    y--;
    iw -= mpx[(rev(y),y)];
    mpy[(y,rev(y))]--;
    鑻?lt;w錛屽啀琛ヤ笂鍘?br>

    絎竴嬈$湅鍒拌繖鏍峰井璋冪殑錛岀濂囦斧~~~~~~~~~
    y浠巑y鍑哄彂
    涓鐩翠繚鎸乮w>=w錛屽井璋冭嚦鏈鎺ヨ繎w浣?gt;=w
    鏁翠釜榪囩▼錛寉鑲畾鏄掑噺鐨剘~~
*/

#include
<iostream>
#include
<cstring>
#include
<map>
#include
<algorithm>
#include
<stack>
#include
<queue>
#include
<cmath>
#include
<string>
#include
<cstdlib>
#include
<vector>
#include
<cstdio>
#include
<set>
#include
<list>
#include
<numeric>
#include
<cassert>
#include
<ctime>
#include
<bitset>

using namespace std;

const long long INF = 12345678987654321LL;
const int MAXN = 100100;

pair
<int,int> r[MAXN];//(i, rev(i))

inline 
int gcd(int a, int b) {
    
return b == 0 ? a : gcd(b, a % b);
}


inline 
int rev(int x) {
    
int r = 0;
    
while(x > 0{
        r 
= r*10 + x % 10;
        x 
/= 10;
    }

    
return r;
}


pair
<int,int> inv(pair<int,int> &p) {
    
return make_pair(p.second, p.first);
}


void init() {
    
for (int i = 1 ; i <= 100000; i++{
        
int t = rev(i);
        
int g = gcd(i,t);
        r[i] 
= make_pair(i/g, t/g);
    }

}


int main()
{
#ifndef ONLINE_JUDGE
    freopen(
"in","r",stdin);
#endif

    init();
    
for (int mx,my,w; ~scanf("%d%d%d"&mx, &my, &w);) {

        map
<pair<int,int>int> mpx, mpy;    
        
for (int y = 1; y <= my; y++{
            mpy[r[y]]
++;
        }


        
long long X = -1, Y = -1;
        
long long iw = 0;
        
for (long long x = 1, y = my; x <= mx; x++{//y鏄粠my鍑哄彂鐨?/span>
            iw += mpy[inv(r[x])];
            mpx[r[x]]
++;
            
while(iw >= w) {                
                iw 
-= mpx[inv(r[y])];
                mpy[r[y]]
--;
                y
--;
                
if(iw < w) {
                    y
++;
                    mpy[r[y]]
++;
                    iw 
+= mpx[inv(r[y])];
                    
break;
                }

            }

            
//涓鐩翠繚鎸佺潃iw>=w錛岀劧鍚庡紩榪涙柊鐨剎鏃訛紝灝濊瘯y--
            
//鏁翠釜榪囩▼錛寉鑲畾鏄掑噺鐨剘~~
            if(iw>=&& (X == -1 || x*< X*Y) ) {
                X 
= x;
                Y 
= y;
            }

        }

        
if (X == -1{
            puts(
"-1");
        }
 else {
            printf(
"%I64d %I64d\n", X, Y);
        }

    }
    
    
return 0;
}


_Yuan 2011-05-05 10:56 鍙戣〃璇勮
]]>
CF79Chttp://www.shnenglu.com/Yuan/archive/2011/05/05/145705.html_Yuan_YuanWed, 04 May 2011 17:10:00 GMThttp://www.shnenglu.com/Yuan/archive/2011/05/05/145705.htmlhttp://www.shnenglu.com/Yuan/comments/145705.htmlhttp://www.shnenglu.com/Yuan/archive/2011/05/05/145705.html#Feedback0http://www.shnenglu.com/Yuan/comments/commentRss/145705.htmlhttp://www.shnenglu.com/Yuan/services/trackbacks/145705.html闃呰鍏ㄦ枃

_Yuan 2011-05-05 01:10 鍙戣〃璇勮
]]>
CF74D 鏍戠姸鏁扮粍鐢╩ap瀛橈紝紲炲涓? 瀛樺垎鍓茬偣.cpphttp://www.shnenglu.com/Yuan/archive/2011/05/02/145495.html_Yuan_YuanMon, 02 May 2011 07:13:00 GMThttp://www.shnenglu.com/Yuan/archive/2011/05/02/145495.htmlhttp://www.shnenglu.com/Yuan/comments/145495.htmlhttp://www.shnenglu.com/Yuan/archive/2011/05/02/145495.html#Feedback0http://www.shnenglu.com/Yuan/comments/commentRss/145495.htmlhttp://www.shnenglu.com/Yuan/services/trackbacks/145495.html闃呰鍏ㄦ枃

_Yuan 2011-05-02 15:13 鍙戣〃璇勮
]]>
jsoi 2010 Word Query鐢靛瓙瀛楀吀 http://www.shnenglu.com/Yuan/archive/2011/03/25/142734.html_Yuan_YuanFri, 25 Mar 2011 11:45:00 GMThttp://www.shnenglu.com/Yuan/archive/2011/03/25/142734.htmlhttp://www.shnenglu.com/Yuan/comments/142734.htmlhttp://www.shnenglu.com/Yuan/archive/2011/03/25/142734.html#Feedback0http://www.shnenglu.com/Yuan/comments/commentRss/142734.htmlhttp://www.shnenglu.com/Yuan/services/trackbacks/142734.html闃呰鍏ㄦ枃

_Yuan 2011-03-25 19:45 鍙戣〃璇勮
]]>
Poj 2482 綰挎鏍?浜嬩歡鐐?涓拰http://www.shnenglu.com/Yuan/archive/2010/04/19/113015.html_Yuan_YuanMon, 19 Apr 2010 14:26:00 GMThttp://www.shnenglu.com/Yuan/archive/2010/04/19/113015.htmlhttp://www.shnenglu.com/Yuan/comments/113015.htmlhttp://www.shnenglu.com/Yuan/archive/2010/04/19/113015.html#Feedback0http://www.shnenglu.com/Yuan/comments/commentRss/113015.htmlhttp://www.shnenglu.com/Yuan/services/trackbacks/113015.html 

/*
    寰堢洿瑙傜殑鎯蟲硶錛岀敤涓ゆ牴綰挎壂鎻忥紝寰楀埌鏉$姸鍖哄煙
    蹇熸眰鍥哄畾楂樹負h鐨勫尯鍩熸瘮杈冮毦錛屼絾鏄眰榪炵畫鐨勪竴孌靛嵈鏄瘮杈冨鏄?br>    鍗砙1,x] 榪欎箞澶氫釜鐨勮繛鍔犲拰
    鎵浠ュ緩绔嬭繖鏍風殑鍊鹼細 (y,v) (y+h+1,-v)  榪欐牱灝辮兘涓拰鎺変簡
    鐒跺悗鐢ㄥ畬鍏ㄤ簩鍙夋爲 sum[p]琛ㄧず鏍逛負mid鐨勮繖涓瀛愭爲鐨勫拰錛宮axSum[p]琛ㄧず浠id鏍瑰瓙鏍戜腑榪炵畫鐨勫拰
*/

#include
<cstdio>
#include
<cstring>
#include
<algorithm>
using namespace std;

const int MAXN=10010;

int n,w,h;
int tot;
unsigned 
int y[MAXN*2];                                    //娉ㄦ剰瑕佺敤unsigned int                        2^31+h浼氳秴int
int sum[MAXN*8],maxSum[MAXN*8];

struct Point{
    unsigned 
int x,y;
    
int v;
    
bool operator<(const Point &p)const{
        
return x<p.x;
    }

}
points[MAXN*2];

/*
    鍚戜笅鎵懼埌x鎵鍦ㄨ妭鐐癸紝榪欎竴璺笂閮借鏇存柊
    娉ㄦ剰閫掑綊鍐欐硶錛屼笉鏄痻==mid 灝眗eturn
*/

void insert(int p,int left,int right,int x,int c){
    
int mid=(left+right)>>1;
    
if(x!=mid){
        
if(x<mid)insert(2*p,left,mid-1,x,c);
        
else insert(2*p+1,mid+1,right,x,c);
    }

    sum[p]
+=c;
    maxSum[p]
=maxSum[2*p];
    maxSum[p]
=max(maxSum[p],sum[p]-sum[2*p+1]);
    maxSum[p]
=max(maxSum[p],sum[p]-sum[2*p+1]+maxSum[2*p+1]);
}

int find(unsigned int x){
    
int low=1,high=tot;
    
while(high>=low){
        
int mid=(high+low)>>1;
        
if(y[mid]==x)return mid;
        
if(y[mid]>x)high=mid-1;
        
else low=mid+1;
    }

}


int main(){
    
while(~scanf("%d%d%d",&n,&w,&h)){
        w
--;h--;                                  //涓嶅惈杈圭晫
        tot=0;
        
for(int i=1;i<=n;i++){
            scanf(
"%u%u%d",&points[i].x,&points[i].y,&points[i].v);
            y[
++tot]=points[i].y;y[++tot]=points[i].y+h+1;
            points[n
+i].x=points[i].x,points[n+i].y=points[i].y+h+1,points[n+i].v=-points[i].v;
        }

        sort(y
+1,y+1+tot);
        tot
=unique(y+1,y+1+tot)-(y+1);
        n
=n*2;
        sort(points
+1,points+1+n);
        memset(sum,
0,sizeof(sum));
        memset(maxSum,
0,sizeof(maxSum));
        
int ans=0,s=1,t=1;
        
while(t<=n){                                //娉ㄦ剰涓嶈鎸墄鍧愭爣鎵紝浼氳秴鏃?/span>
            int x=points[t].x;
            
while(s<=n&&x-points[s].x>w)
                insert(
1,1,tot,find(points[s].y),-points[s].v),s++;
            
while(t<=n&&points[t].x==x)                //鎶婂悓涓鍒楃殑鍔犺繘鍘?/span>
                insert(1,1,tot,find(points[t].y),points[t].v),t++;
            ans
=max(ans,maxSum[1]);                    //姹傝繛緇竴孌電殑鍜?/span>
        }

        printf(
"%d\n",ans);
    }

    
return 0;
}

/*
3 2 2
0 0 2
2 2 3
4 4 6
*/


_Yuan 2010-04-19 22:26 鍙戣〃璇勮
]]>
久久久久久综合一区中文字幕 | 国内精品久久久久国产盗摄| 伊人久久大香线蕉综合Av| 久久99国产精品成人欧美| 97精品国产91久久久久久| 久久精品黄AA片一区二区三区| 亚洲综合熟女久久久30p| 2021国内久久精品| 区久久AAA片69亚洲| 国产精品久久久久久久久软件| 伊人精品久久久久7777| 久久久久久久精品妇女99| 狠狠色狠狠色综合久久| 亚洲va中文字幕无码久久 | 大香网伊人久久综合网2020| 91精品观看91久久久久久| 狠狠色伊人久久精品综合网| 久久婷婷五月综合成人D啪| 2021国内精品久久久久久影院| 欧美精品国产综合久久| 人妻精品久久无码区| 国内精品久久九九国产精品| 久久精品无码一区二区三区日韩 | 狠狠色丁香久久婷婷综合_中| 久久午夜无码鲁丝片秋霞| 婷婷久久香蕉五月综合加勒比| 久久成人国产精品二三区| 久久WWW免费人成—看片| 亚洲国产成人久久笫一页| 午夜不卡久久精品无码免费| 一本一道久久精品综合| 久久婷婷国产剧情内射白浆| 国产精品久久久久无码av| 久久一区二区三区免费| 久久精品国产亚洲AV电影| 久久天天躁狠狠躁夜夜不卡| 99久久99久久久精品齐齐| 亚洲国产成人乱码精品女人久久久不卡 | 久久一区二区三区免费| 亚洲国产精品无码久久一区二区| 老司机国内精品久久久久|