锘??xml version="1.0" encoding="utf-8" standalone="yes"?>无码国内精品久久人妻麻豆按摩 ,久久综合视频网站,久久99九九国产免费看小说http://www.shnenglu.com/Yuan/zh-cnWed, 07 May 2025 20:07:08 GMTWed, 07 May 2025 20:07:08 GMT60hdu 3403 鍥炴枃鏃ユ湡http://www.shnenglu.com/Yuan/archive/2011/08/09/152846.html_Yuan_YuanTue, 09 Aug 2011 02:33:00 GMThttp://www.shnenglu.com/Yuan/archive/2011/08/09/152846.htmlhttp://www.shnenglu.com/Yuan/comments/152846.htmlhttp://www.shnenglu.com/Yuan/archive/2011/08/09/152846.html#Feedback0http://www.shnenglu.com/Yuan/comments/commentRss/152846.htmlhttp://www.shnenglu.com/Yuan/services/trackbacks/152846.html/**//*    姹傜k<=4000000涓洖鏂囦覆鐨勬棩鏈燂紝涓嶈兘鏈夊墠緗? 濡?0011001    褰㈠紡涓簓...  闃呰鍏ㄦ枃

_Yuan 2011-08-09 10:33 鍙戣〃璇勮
]]>
hdu 3826http://www.shnenglu.com/Yuan/archive/2011/08/07/152690.html_Yuan_YuanSat, 06 Aug 2011 18:40:00 GMThttp://www.shnenglu.com/Yuan/archive/2011/08/07/152690.htmlhttp://www.shnenglu.com/Yuan/comments/152690.htmlhttp://www.shnenglu.com/Yuan/archive/2011/08/07/152690.html#Feedback0http://www.shnenglu.com/Yuan/comments/commentRss/152690.htmlhttp://www.shnenglu.com/Yuan/services/trackbacks/152690.html/*
    闂畁<=10^18鏄惁鑳借涓涓暟鐨勫鉤鏂規暣闄?br />    灝唍鍒嗚В涓猴細p1p2pk  鍏朵腑pi涓虹礌鏁幫紝涓攑i<=pi+1錛堣繖閲屽彲浠ョ瓑浜庯級
    鑻鑳借涓涓暟鐨勫鉤鏂規暣闄わ紝瀹冭偗瀹氳兘琚竴涓礌鍥犲瓙鐨勫鉤鏂筽^2鏁撮櫎錛屾垜浠壘鍒版渶灝忕殑榪欎釜p鍗沖彲  ~~~
    1.濡傛灉p涓嶆槸鏈鍚庣殑绱犲洜瀛愶紝鍦╬涔嬪悗鐨勭礌鏁皃i>=p錛岃繖鏃跺氨鏈塶>=p^3浜嗭紝
       鍗硃<=n^(1/3)錛屾墍浠ユ灇涓緉^(1/3)鍐呯殑绱犳暟鐪嬫槸鍚^2|n鍗沖彲錛岃宯^(1/3)<=10^6
    2.濡傛灉p鏄渶鍚庣殑绱犲洜瀛愶紝鎵浠鐨勫艦寮忓氨鏄痯1p2p'p^2錛岃宲'<=p錛屾墍浠'^3<=n錛宲'<=n^(1/3)
       鎵浠ュ彲浠ュ厛灝唍鐨勮繖浜涚礌鍥犲瓙p1,p2,,p'緇欏幓鎺夛紝p'<=n^(1/3)錛屾墍浠ョ敤n^(1/3)鍐呯殑绱犳暟鍘婚櫎鍗沖彲
       鏈鍚庡彧鍓╀笅n'=p^2錛岄氳繃鍒ゆ柇涓涓暟鏄惁涓哄畬鍏ㄥ鉤鏂規暟鍗沖彲

    綆楁硶灝辨槸棰勫鐞?0^6鍐呯殑绱犳暟錛岀敤榪欎簺绱犳暟鍘婚櫎n錛屽彂鐜版湁p^2鑳芥暣闄ょ殑return鍗沖彲
    鍚﹀垯鍒ゆ柇鍓╀笅鐨勮繖涓猲'鏄惁涓哄畬鍏ㄥ鉤鏂規暟錛屾垜鏄敤浜屽垎鍒ゆ柇鐨勶紝鍔犱簡double澶勭悊long long 婧㈠嚭
*/

#include
<cstdio>
#include
<cstring>
#include
<algorithm>
#include
<vector>
#include
<queue>
#include
<string>
#include
<iostream>
#include
<cassert>

using namespace std;

bool isp[1000010];
int pr[300000], pn;

void init()
{
    
for (int p = 2; p <= 1000000; p++{
        
if (!isp[p]) {
            pr[pn
++= p;
            
for (long long j = (long long)p*p; j <= 1000000; j+= p) {
                isp[j] 
= 1;
            }

        }

    }

}


// n = p1p2pk

bool chk(long long n)
{
    
for (int i = 0; i < pn && pr[i] <= n; i++{
        
if (n % pr[i] == 0{
            n 
/= pr[i];
            
if (n%pr[i] == 0return 0;
        }

    }

    
if (n == 1{
        
return 1;
    }

    
long long left = 1, right = n;
    
while (left <= right) {
        
long long mid = (left + right) / 2;
        
if ((double)mid*mid > n) right = mid - 1;//double !!
        else left = mid+1;
    }

    
return right*right != n;
}



int main()
{
    
//freopen("in.txt", "r", stdin);
    init();
    
int T, t = 1;
    
for (scanf("%d"&T); T--; ) {
        printf(
"Case %d: ", t++);
        
long long n;
        scanf(
"%I64d"&n);
        puts(chk(n) 
? "Yes" : "No");
    }

    
return 0;
}



_Yuan 2011-08-07 02:40 鍙戣〃璇勮
]]>
zoj 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>ural 1720 http://www.shnenglu.com/Yuan/archive/2011/08/01/152243.html_Yuan_YuanMon, 01 Aug 2011 15:14:00 GMThttp://www.shnenglu.com/Yuan/archive/2011/08/01/152243.htmlhttp://www.shnenglu.com/Yuan/comments/152243.htmlhttp://www.shnenglu.com/Yuan/archive/2011/08/01/152243.html#Feedback0http://www.shnenglu.com/Yuan/comments/commentRss/152243.htmlhttp://www.shnenglu.com/Yuan/services/trackbacks/152243.html/*
    涓篬l,r]鍖洪棿鍐呮湁澶氬皯涓暟鏄尯闂碵x,y]涓殑鏁扮殑鍜?br />    1 <= x, y, l, r <= 10^8     x <=y, l <= r
    
    濡傛灉鑼冨洿娌¤繖涔堝ぇ鐨勮瘽錛屽[x,y]榪檡-x+1涓墿鍝佽繘琛屽畬鍏ㄨ儗鍖咃紝鎵懼嚭瑕嗙洊浜嗛偅浜涗綅緗?br />    鐜板湪鏁版嵁榪欎箞澶э紝鑳屽寘涓嶅彲琛?br />    浣嗘槸錛屾敞鎰忓埌[x,y]榪欐槸涓涓繛緇殑鍖洪棿錛屽彲浠ョ畻鍑轟粬浠細瑕嗙洊鐨勬暟鏄細
    [x,y] , [2x,2y]  [kx, ky]
    榪欐牱鐨勮瘽錛屾垜浠鎵炬弧瓚砙l,r]涓殑鏁幫紝鍙鐢╢[r] - f[l-1]
    f[x]琛ㄧず[1,x]涓涓婇潰閭d簺鏁拌鐩栫殑涓暟

    瑕佹敞鎰忕殑鏄紝鏈夊彲鑳絒(k-1)x, (k-1)y]涓嶽kx,ky]鏈夐噸鍙犻儴鍒嗭紙鍗?k-1)y>=kx錛?br />    鍙涓寮濮嬮噸鍙犱簡錛屼箣鍚庣殑鎵鏈夌偣閮戒細琚鐩栦簡

    鏁版嵁姣旇緝澶э紝鏈変簺鍒ゆ柇闇瑕佺敤double
*/
#include
<iostream>
#include
<cstring>
#include
<map>
#include
<algorithm>
#include
<stack>
#include
<queue>
#include
<cstring>
#include
<cmath>
#include
<string>
#include
<cstdlib>
#include
<vector>
#include
<cstdio>
#include
<set>
#include
<list>
#include
<numeric>
#include
<cassert>
#include
<sstream>
#include
<ctime>
#include
<bitset>
#include
<functional>

using namespace std;

long long gao(long long x, long long y, long long z, long long k)
{
    
long long l = 0, r = z;
    
while (l <= r) {//find first l*y >= z
        long long m = (l+r)/2;
        
if ((double)m*< z) l = m+1;//瑕佺敤double
        else r = m-1;
    }
    
long long ans = 0;
    
//[x,y] [2x,2y]  [(l-1)x, (l-1)y], [lx, ly]
    if (l >= k) {
        ans 
= (y-x)*(k-1)*k/2 + (k-1+ (k*> z ? 0 : z-k*x+1);
    } 
else {
        ans 
= (y-x)*(l-1)*l/2 + (l-1+ (l*> z ? 0 : z-l*x+1);
    }
    
return  ans;
}

int main()
{
#ifndef ONLINE_JUDGE
    
//freopen("in.txt","r",stdin);
#endif
    
for (long long x, y, l, r; cin>>x>>y>>l>>r; ){ 
        
if (r < x ) {
            cout
<<0<<endl;
            
continue;
        }
        
if (x == y) {
            cout
<<r/- (l-1)/<< endl;
            
continue;
        }
        
long long lk = 1, rk = y;
        
while (lk <= rk) {
            
long long mk = (lk+rk)/2;
            
//瑕佺敤double
            if ((double)mk*> ((double)mk-1)*y) lk = mk + 1;
            
else rk = mk-1;
        }
        
//[rk*x, oo)

        cout
<<gao(x, y, r, rk) - gao(x, y, l-1, rk)<<endl;
    }
    
return 0;
}


_Yuan 2011-08-01 23:14 鍙戣〃璇勮
]]>
zoj 3511 璧板嚭涓涓渶灝忕殑鐜?/title><link>http://www.shnenglu.com/Yuan/archive/2011/08/01/152185.html</link><dc:creator>_Yuan</dc:creator><author>_Yuan</author><pubDate>Sun, 31 Jul 2011 18:09:00 GMT</pubDate><guid>http://www.shnenglu.com/Yuan/archive/2011/08/01/152185.html</guid><wfw:comment>http://www.shnenglu.com/Yuan/comments/152185.html</wfw:comment><comments>http://www.shnenglu.com/Yuan/archive/2011/08/01/152185.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/Yuan/comments/commentRss/152185.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/Yuan/services/trackbacks/152185.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #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 />    涓涓嚫澶氳竟褰<=10000錛宑ut浜唌嬈★紝姣忎竴鍒涓嶇浉浜?br />    姹傝竟鏁版渶澶氶偅鍧楃殑杈規暟<br /><br />    榪欓鐢ㄩ敊璇殑鍋氭硶鎼炰簡寰堜箙錛屾氮璐瑰ぇ閲忔椂闂達紝鍥?img src="http://www.shnenglu.com/Images/dot.gif" alt="" /><br />    鐒跺悗媧楁盡鏃舵兂鍒頒簡鍙互閫氳繃姣忔鎵句竴涓?#8220;鏈灝忕殑鐜?#8221;鏉ュ仛<br />    綾諱技錛?br />    </span><span style="color: #008000; text-decoration: underline; ">http://watashi.ws/blog/970/andrew-stankevich-3-solution/</span><span style="color: #008000; "><br />    zoj 2361<br />    涓婇潰榪欓鍗佸垎鎺ㄨ崘錛侊紒錛?br />    <br />    涓婇潰閭i鏄寜鐓ф瀬瑙掓帓搴忥紝涓嶈繃榪欓鍙互鎸夌収鐐圭殑緙栧彿鎺掑簭鍗沖彲<br /><br />    澶氳竟褰㈢殑欏剁偣鐪嬫垚鍥劇殑欏剁偣錛屽杈瑰艦鐨勮竟鏄竟錛宑ut涔熺湅鎴愯竟錛堝弻鍚戠殑杈癸級<br />    寤哄ソ鍥懼悗錛屽姣忎釜鐐規壘瀹冩墍鍦ㄧ殑鐜紙鍙兘澶氫釜錛?br />    姣斿鐜板湪宸茬粡鏈夎竟pre->now錛岄偅涔堝氨鍦╪ow鐨勯偦鎺ヨ竟涓壘絎竴涓瘮pre灝忕殑鐐?br />    錛堟病鏈夌殑璇濓紝灝辨渶澶ч偅涓級<br />    榪欐牱錛岃蛋鍑虹殑鐜氨鏄渶灝忕殑浜嗭紙涔熷嵆鐜唴娌℃湁杈癸級<br />    鐢諱釜鍥懼氨娓呮浜?br />    8 4<br />    2 8<br />    2 4<br />    4 6<br />    6 8<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; "> INF </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0x3f3f3f3f</span><span style="color: #000000; ">;<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; ">10086</span><span style="color: #000000; ">;<br /><br />vector</span><span style="color: #000000; "><</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">></span><span style="color: #000000; "> e[MAXN];<br /><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, M; </span><span style="color: #000000; ">~</span><span style="color: #000000; ">scanf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%d%d</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, </span><span style="color: #000000; ">&</span><span style="color: #000000; ">N, </span><span style="color: #000000; ">&</span><span style="color: #000000; ">M); ) {<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 />            e[i].clear();<br />            e[i].push_back(i </span><span style="color: #000000; ">==</span><span style="color: #000000; "> N </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; ">1</span><span style="color: #000000; ">);<br />            </span><span style="color: #008000; ">//</span><span style="color: #008000; ">e[i].push_back(i == 1 ? N : i-1);榪欐潯杈逛笉鐢ㄥ姞</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">        }<br />        </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> x, y;<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; ">0</span><span style="color: #000000; ">; i </span><span style="color: #000000; "><</span><span style="color: #000000; "> M; i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">) {<br />            scanf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%d%d</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, </span><span style="color: #000000; ">&</span><span style="color: #000000; ">x, </span><span style="color: #000000; ">&</span><span style="color: #000000; ">y);<br />            </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (x </span><span style="color: #000000; ">></span><span style="color: #000000; "> y) swap(x, y);<br />            </span><span style="color: #008000; ">//</span><span style="color: #008000; ">鍙屽悜鐨勮竟</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">            e[x].push_back(y);<br />            e[y].push_back(x);<br />        }<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 />            sort(e[i].begin(), e[i].end());<br />        }<br />        </span><span style="color: #0000FF; ">int</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; ">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 />            </span><span style="color: #008000; ">//</span><span style="color: #008000; ">cout<<endl<<i<<":  \n";</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">            </span><span style="color: #0000FF; ">for</span><span style="color: #000000; "> (vector</span><span style="color: #000000; "><</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">></span><span style="color: #000000; ">::iterator it </span><span style="color: #000000; ">=</span><span style="color: #000000; "> e[i].begin(), jt; it </span><span style="color: #000000; ">!=</span><span style="color: #000000; "> e[i].end(); ) {<br />                </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> pre </span><span style="color: #000000; ">=</span><span style="color: #000000; "> i, now </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">*</span><span style="color: #000000; ">it, len </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: #008000; ">//</span><span style="color: #008000; ">姣忔鍦╪ow涓鎵劇涓涓皬浜巔re鐨勶紝榪欐牱灝辨槸鏈灝忕殑鐜簡錛岀被浼兼瀬瑙掓渶灝?/span><span style="color: #008000; "><br /></span><span style="color: #000000; ">                </span><span style="color: #0000FF; ">while</span><span style="color: #000000; "> (now </span><span style="color: #000000; ">!=</span><span style="color: #000000; "> i) {<br />                    </span><span style="color: #008000; ">//</span><span style="color: #008000; ">cout<<pre<<" "<<now<<endl;</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">                    len </span><span style="color: #000000; ">++</span><span style="color: #000000; ">;<br />                    jt </span><span style="color: #000000; ">=</span><span style="color: #000000; "> lower_bound(e[now].begin(), e[now].end(), pre);<br />                    </span><span style="color: #008000; ">//</span><span style="color: #008000; ">涓嶈兘鍐欐垚--jt < e[now].begin()錛屽洜涓?-jt涓嶅啀灞炰簬e[now]鐨勮寖鍥翠簡</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">                    </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (jt </span><span style="color: #000000; ">==</span><span style="color: #000000; "> e[now].begin()) {<br />                        jt </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">--</span><span style="color: #000000; ">e[now].end();<br />                    } </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> jt </span><span style="color: #000000; ">--</span><span style="color: #000000; ">;<br />                    pre </span><span style="color: #000000; ">=</span><span style="color: #000000; "> now;<br />                    now </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">*</span><span style="color: #000000; ">jt;<br />                    e[pre].erase(jt); <br />                }<br />                it </span><span style="color: #000000; ">=</span><span style="color: #000000; "> e[i].erase(it);<br />                </span><span style="color: #008000; ">//</span><span style="color: #008000; ">cout<<len<<endl;</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">                ans </span><span style="color: #000000; ">=</span><span style="color: #000000; "> max(ans, len);<br />            }<br />        }<br />        printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%d\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/152185.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-01 02:09 <a href="http://www.shnenglu.com/Yuan/archive/2011/08/01/152185.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>zoj 1039 鍗氬紙dphttp://www.shnenglu.com/Yuan/archive/2011/07/29/152011.html_Yuan_YuanThu, 28 Jul 2011 16:43:00 GMThttp://www.shnenglu.com/Yuan/archive/2011/07/29/152011.htmlhttp://www.shnenglu.com/Yuan/comments/152011.htmlhttp://www.shnenglu.com/Yuan/archive/2011/07/29/152011.html#Feedback0http://www.shnenglu.com/Yuan/comments/commentRss/152011.htmlhttp://www.shnenglu.com/Yuan/services/trackbacks/152011.html/*
    鍗氬紙娓告垙
    2鍒?0鐨勬暟錛屼袱涓漢杞祦鍙?br />    鍙栨暟涓嶈兘鍙栦箣鍓嶅凡鍙栬繃鏁扮殑鍊嶆暟錛屾垨涔嬪墠鍙栬繃鐨勪袱涓暟鐨勫嶆暟涔嬪拰
    緇欏嚭褰撳墠鐨勪竴涓悎娉曞眬闈紝闂厛鎵嬭璧㈢殑絳栫暐

    n<=20錛屾瘮杈冩槑鏄劇殑mask dp
    dp[mask]琛ㄧず鍓╀笅mask琛ㄧず鐨勬暟錛屽綋鍓嶄笅鎵嬫槸璧㈣繕鏄緭

    娉ㄦ剰鐨勬槸錛屽case錛屼絾鏄彧綆椾竴嬈″氨琛屼簡錛屼笉鐢ㄦ瘡涓猚ase閮絚lear dp[]
    鍥犱負鐭ラ亾浜嗗綋鍓嶅眬闈紝灝辮兘紜畾涔嬪墠閫変簡浠涔堟暟浜?br />
*/
#include
<iostream>
#include
<cstring>
#include
<map>
#include
<algorithm>
#include
<stack>
#include
<queue>
#include
<cstring>
#include
<cmath>
#include
<string>
#include
<cstdlib>
#include
<vector>
#include
<cstdio>
#include
<set>
#include
<list>
#include
<numeric>
#include
<cassert>
#include
<sstream>
#include
<ctime>
#include
<bitset>
#include
<functional>

using namespace std;

char dp[1<<20];

void add(int &forbiden, int &multiple, int x)//forbiden涓轟笉鑳界殑浣嶏紝multiple涓轟箣鍓嶉夌殑閭d簺鏁扮殑鍊嶆暟鐨勪綅
{
    
for (int a = x; a <= 20 ; a += x) {
        forbiden 
|= 1<<a;
        multiple 
|= 1<<a;
        forbiden 
|= multiple<<a;
    }
}

bool win(int mask, int forbiden, int multiple, int x)
{
    
if (mask == 0) {
        dp[mask] 
= -1;
        
return false;
    }
    
if(dp[mask]) {
        
return dp[mask] > 0;
    }
    add(forbiden, multiple, x);
    
for (int i = 2; i <= 20; i++) {
        
if((mask & (1<<i-2)) == 0 || (forbiden&(1<<i)) )continue;
        
if (!win(mask ^ (1<<i-2), forbiden, multiple, i) )  {//榪欓噷鎻愬墠閫鍑轟簡錛屾湁浜涘瓙鐘舵佸茍娌℃湁綆楀埌
            return dp[mask] = 1;
        }
    }
    dp[mask] 
= -1;
    
return 0;
}

int main()
{
#ifndef ONLINE_JUDGE
    
//freopen("in","r",stdin);
    
//freopen("out","w",stdout);
#endif
    
    
int T, t = 1, n;
    
for (scanf("%d"&T); T--; ) {
        printf(
"Scenario #%d:\n", t++);
        scanf(
"%d"&n);
        vector
<int> vt, have;
        
int vi[30= {0}, mask = 0;
        
for (int i = 1,x; i <= n; i++) {
            scanf(
"%d"&x);
            vt.push_back(x);
            vi[x] 
= 1;
            mask 
|= 1<<(x-2);//
        }
        
int forbiden = 0, multiple = 0;
        
for (int i = 2; i <= 20; i++) {//緇欏嚭涓涓暟錛岃偗瀹氱粰鍑轟粬鐨勬墍鏈夊洜瀛?/span>
            if (vi[i] || (forbiden & (1<<i)) ) continue;
            add(forbiden, multiple, i);
        }
    
//    fill(dp, dp+mask+1, 0);   涓嶇敤姣忔閮絚lear
        /*
            涓嶈鎼炰竴嬈in(mask)
            鐒跺悗鍙杁p[mask ^ (1<<vt[i]-2)錛岀湅win閲岄潰浼氭彁鏃╅鍑虹殑
            鎵浠ユ湁浜沝p[mask']娌$畻鍒幫紝浼氫負0
            涓嶈繃鍙杦in(mask ^ (1<<vt[i]-2))灝辮鍚?br />        
*/
        vector
<int> ans;
        
for (int i = 0; i < vt.size(); i++) {
            
if (!win(mask^(1<<vt[i]-2), forbiden, multiple, vt[i])) {
                ans.push_back(vt[i]);
            }
        }
        
if(ans.empty()) {
            puts(
"There is no winning move.");
        } 
else {
            printf(
"The winning moves are:");
            sort(ans.begin(), ans.end());
            
for (int i = 0; i < ans.size(); i++) {
                printf(
" %d", ans[i]);
            }
            puts(
".");
        }
        puts(
"");
    }
    
return 0;
}


_Yuan 2011-07-29 00:43 鍙戣〃璇勮
]]>
poj 3373 鐘舵佺殑璁捐http://www.shnenglu.com/Yuan/archive/2011/07/26/151892.html_Yuan_YuanTue, 26 Jul 2011 13:36:00 GMThttp://www.shnenglu.com/Yuan/archive/2011/07/26/151892.htmlhttp://www.shnenglu.com/Yuan/comments/151892.htmlhttp://www.shnenglu.com/Yuan/archive/2011/07/26/151892.html#Feedback0http://www.shnenglu.com/Yuan/comments/commentRss/151892.htmlhttp://www.shnenglu.com/Yuan/services/trackbacks/151892.html/**//*    鍙敼鍙樻暟瀛椾覆A鐨勬瘡涓浣嶏紝涓睞鐨勯暱搴<=100    姹傛敼鍙樺嚭鐨勬柊涓詫紙涓嶈兘鏈夊墠緙0錛夛紝闇瑕佹槸x&l...  闃呰鍏ㄦ枃

_Yuan 2011-07-26 21:36 鍙戣〃璇勮
]]>
Spoj 1479 鏈灝忕洿寰勭敓鎴愭爲http://www.shnenglu.com/Yuan/archive/2011/07/21/151519.html_Yuan_YuanWed, 20 Jul 2011 17:12:00 GMThttp://www.shnenglu.com/Yuan/archive/2011/07/21/151519.htmlhttp://www.shnenglu.com/Yuan/comments/151519.htmlhttp://www.shnenglu.com/Yuan/archive/2011/07/21/151519.html#Feedback0http://www.shnenglu.com/Yuan/comments/commentRss/151519.htmlhttp://www.shnenglu.com/Yuan/services/trackbacks/151519.html闃呰鍏ㄦ枃

_Yuan 2011-07-21 01:12 鍙戣〃璇勮
]]>
ural 1577 E-mailhttp://www.shnenglu.com/Yuan/archive/2011/07/18/151322.html_Yuan_YuanMon, 18 Jul 2011 13:09:00 GMThttp://www.shnenglu.com/Yuan/archive/2011/07/18/151322.htmlhttp://www.shnenglu.com/Yuan/comments/151322.htmlhttp://www.shnenglu.com/Yuan/archive/2011/07/18/151322.html#Feedback0http://www.shnenglu.com/Yuan/comments/commentRss/151322.htmlhttp://www.shnenglu.com/Yuan/services/trackbacks/151322.html/*
    緇欏嚭涓や釜涓睞,B <=2000錛屾瀯閫犱竴涓柊涓詫紝浣垮緱璇ユ柊涓茬殑瀛愬簭鍒楁槸A,B錛屼笖闀垮害鏈鐭?br />     姹傛柊涓茬殑鏂規鏁?br />     鏄劇劧鏄渶灝忛暱搴+m-lcs
    
    姣旇禌鏃訛紝鎴戦敊璇仛娉曟槸瀵圭浉閭誨尮閰嶇偣涓棿鐨勫瓧絎﹁繘琛屾帓鍒楋紝濡?br />     abcd
    aefd
    灝卞浐瀹歛,d錛屼腑闂寸殑b,c,e,f鎺掑垪錛屽綋鐒墮渶瑕乥鍦╟鍓嶏紝e鍦╢鍓?br />     浣嗚繖縐嶅仛娉曢亣鍒板涓尮閰嶇偣鏃跺氨鏈夐棶棰樹簡錛屽
    be
    babo
    涓婇潰鐨刡鍙互璺熶笅闈袱涓尮閰嶏紝鐩存帴鍍忎笂闈㈤偅鏍峰瓙鎺掑垪浼氭湁閲嶅鐨勯棶棰?br />     褰撴椂灞闄愬湪涓婇潰鐨勬濊礬錛屾病鎼炲嚭.
    
    鍏跺疄涓嶉毦錛岀洿鎺p鍗沖彲
    dp[i,j]琛ㄧず浠[i]鎴栬匓[j]緇撳熬鐨勪覆鐨勪釜鏁?br />
    濡傛灉A[i] = B[j]錛屽垯dp[i,j] = dp[i-1,j-1]   鍥犱負榪欐椂蹇呴』鍖歸厤A[i],B[j]
    鍚﹀垯錛宭cs[i-1,j] > lcs[i,j-1] 鍒檇p[i,j] = dp[i-1,j]   榪欐椂鏂頒覆鑲畾鏄疉[i]緇撳熬錛屽洜涓哄彇鐨勬槸dp[i-1,j]
           lcs[i-1,j] < lcs[i,j-1] 鍒檇p[i,j] = dp[i,j-1]      榪欐椂鏂頒覆鑲畾鏄疊[i-1]緇撳熬
           lcs[i-1,j] = lcs[i,j-1] 鍒檇p[i,j] = dp[i-1,j] +dp[i,j-1]  榪欐椂鏂頒覆鍙互鏄疉[i]鎴朆[j]緇撳熬錛屼絾涓嶄細閲嶅錛屽洜涓哄熬閮ㄤ笉鍚?br />     
    鍧戝緱錛屽綋鏃舵瘮璧涙椂錛屾病鎯蟲墦濡傛灉鍙杁p[i-1,j]錛岃嚜鐒舵槸浠[i]緇撳熬鐨勶紒錛侊紒
    緇撳熬涓嶅悓錛屼笉浼氬鑷撮噸澶嶈鏁扮殑錛侊紒
    鐢ㄧ粍鍚堟暟瀛︾殑鏂規硶綆楁椂錛屼笉娓呮灝鵑儴鏄粈涔?img src="http://www.shnenglu.com/Images/dot.gif" alt="" />
*/
#include
<cstdio>
#include
<iostream>
#include
<cmath>
#include
<map>
#include
<queue>
#include
<vector>
#include
<bitset>
#include
<set>
#include
<cstring>
#include
<string>
#include
<stack>
#include
<cassert>
#include
<sstream>
#include
<list>
#include
<algorithm>

using namespace std;

const int INF = 0x3f3f3f3f;
const int MAXN = 2010;
const int MOD = 1000000007;

int dp[MAXN][MAXN], lcs[MAXN][MAXN];
char A[MAXN], B[MAXN];

int main()
{
    
//freopen("in","r", stdin);
    
//freopen("out","w", stdout);
    while (~scanf("%s%s", A+1, B+1)) {
        
int n = strlen(A+1);
        
int m = strlen(B+1);
        memset(dp, 
0sizeof dp);
        memset(lcs, 
0sizeof lcs);
        
for (int i = 0; i <= n; i++) {
            dp[i][
0= 1;
        }
        
for (int i = 0; i <= m; i++) {
            dp[
0][i] = 1;
        }
        
for (int i = 1; i <= n; i++
            
for (int j = 1; j <= m;j ++) {
                
if (A[i] == B[j]) {
                    lcs[i][j] 
= lcs[i-1][j-1]+1;
                    dp[i][j] 
= dp[i-1][j-1];
                } 
else if (lcs[i-1][j] > lcs[i][j-1]) {
                    lcs[i][j] 
= lcs[i-1][j];
                    dp[i][j] 
= dp[i-1][j];
                } 
else if (lcs[i-1][j] < lcs[i][j-1]) {
                    lcs[i][j] 
= lcs[i][j-1];
                    dp[i][j] 
= dp[i][j-1];
                } 
else {
                    lcs[i][j] 
= lcs[i-1][j];
                    dp[i][j] 
= (dp[i-1][j] + dp[i][j-1]) % MOD;
                }
            }
        
//cout<<lcs[n][m]<<endl;
        cout<<dp[n][m]<<endl;
    }    
    
return 0;
}



_Yuan 2011-07-18 21:09 鍙戣〃璇勮
]]>
poj 3274 淇濆瓨鐩稿鍊?/title><link>http://www.shnenglu.com/Yuan/archive/2011/07/16/151138.html</link><dc:creator>_Yuan</dc:creator><author>_Yuan</author><pubDate>Sat, 16 Jul 2011 02:40:00 GMT</pubDate><guid>http://www.shnenglu.com/Yuan/archive/2011/07/16/151138.html</guid><wfw:comment>http://www.shnenglu.com/Yuan/comments/151138.html</wfw:comment><comments>http://www.shnenglu.com/Yuan/archive/2011/07/16/151138.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/Yuan/comments/commentRss/151138.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/Yuan/services/trackbacks/151138.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #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涓暟錛屾眰鏈闀跨殑榪炵畫涓孌碉紝浣垮緱榪欎竴孌墊暟瀛楋紝浜岃繘鍒朵腑姣忎竴浣嶆嫢鏈?鐨勯偅浜涙暟瀛楃殑涓暟鐩哥瓑<br />     n<=10^5錛屼綅鏁発<=30<br />     濡?br />     7 2 1 4 榪欓噷姣忎竴浣?閮芥湁2涓暟瀛楁嫢鏈?br /> <br />     瀹規槗鎯沖埌鍏堥澶勭悊鍑簊um[n,k]琛ㄧず鍓嶉潰n涓暟瀛椾腑鍦ㄧk浣嶆槸1鐨勪釜鏁?br />     榪檏涓暟瀛梥um[n,k]鐨勬牱瀛愬氨鏄洸綰垮艦鐨勶紝濡俿um[i,k]涓?nbsp;           <br />      _   /\     <br />     /  \/   \_/\    <br />     涓轟簡浣垮緱sum[i,k] - sum[j,k]瀵規墍鏈塳閮芥槸鍚屼竴涓暟<br />     鍒檚um[j,k]鐨勬牱瀛愪篃蹇呴』鏄繖鏍風殑錛岃繖鏍穝um[i,k] - sum[j,k]鎵嶆槸涓涓悓涓涓暟錛堢被浼兼嫾鎺ユ椂鍥懼艦闇鍚誨悎錛?br />     濂戒簡錛屾墍浠ユ垜浠渶瑕佷繚瀛樿繖涓浘褰紝鍙互閫氳繃淇濆瓨a[i,k] = sum[i,k] - sum[i,0]鍗沖彲錛堝嵆淇濆瓨鐩稿鍊鹼級    -----OMG<br /> <br />     鎴戜竴寮濮嬬敤map<vector<int>, int>錛?nbsp;vector<int>鏄繚瀛樺浘褰紝int鏄繚瀛樼涓嬈″嚭鐜扮殑鍦版柟<br />     鍦╢or鍒癷鏃訛紝璁$畻鍑哄浘褰紝鍦╩ap涓壘鏈夋病鍑虹幇榪囷紝鏈夌殑璇濆氨鏇存柊絳旀涓篿-mp[vt]<br />     vector鏄湁閲嶈澆姣旇緝榪愮畻絎︾殑錛屾墍浠ヤ笉鐢ㄥ啓鍏朵粬<br />     浣嗘槸瓚呮椂浜嗭紝鎴戝湪鏈満嫻嬭矊浼間笉浼氳秴鏃?img src="http://www.shnenglu.com/Images/dot.gif" alt="" />  --||<br /> <br />     鐪嬩簡瑙i鎶ュ憡錛屾柟娉曚竴鏍鳳紝浣嗘槸涓嶆槸鐢╩ap錛屾槸鏈鍚巗ort涓嬈$殑<br />     瀵瑰摝錛屾垜鎯寵搗涔嬪墠涔熸湁涓閬撻錛屽張涓嶉渶瑕佹瘡涓猧閮借緭鍑虹粨鏋滐紝涓嶇敤map錛岀洿鎺ユ渶鍚巗ort涓嬈℃洿濂?br />     鐢╩ap浼氭參涓鐐?br />     <br />     浣嗚繖鏍瘋繕瓚呮椂錛屽師鏉ユ槸vector鐨勬瘮杈冩瘮杈冩參<br />     鑷繁鍐欎簡涓猻truct Node {int vt[30];}; 鍐嶉噸杞芥瘮杈冭繃浜?br /> <br />     sort鏃訛紝鍙互瀵逛笅鏍囨帓搴忥紝鍑忓皯浜嗗ぇ鏁版嵁縐誨姩<br /> <br />     榪欓瀹樻柟鏈夊彟澶栬В娉曪紝灝辨槸瀵規暟緇剉t[30] hash<br />     濂界殑hash鍑芥暟浼氬揩寰堝鍚?br />     hsize=997001;<br />     for(p=0,i=0;i<k;i++)<br />         p=((p<<2)+(v[i]>>4))^(v[i]<<10);<br />     p=p%hsize;<br />     if(p<0)    p+=hsize;<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; ">100100</span><span style="color: #000000; ">;<br /> <br /> </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> n, k;<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; "> vt[</span><span style="color: #000000; ">30</span><span style="color: #000000; ">];<br />     </span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> clear()<br />     {<br />         memset(vt, </span><span style="color: #000000; ">0</span><span style="color: #000000; ">, </span><span style="color: #0000FF; ">sizeof</span><span style="color: #000000; "> vt);<br />     }<br /> };<br /> <br /> </span><span style="color: #0000FF; ">bool</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">operator</span><span style="color: #000000; "> </span><span style="color: #000000; "><</span><span style="color: #000000; "> (</span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> Node </span><span style="color: #000000; ">&</span><span style="color: #000000; ">A, </span><span style="color: #0000FF; ">const</span><span style="color: #000000; "> Node </span><span style="color: #000000; ">&</span><span style="color: #000000; ">B) </span><span style="color: #008000; ">//</span><span style="color: #008000; ">鐩存帴鐢╲ector鐨勬瘮杈冧細鎱?img src="http://www.shnenglu.com/Images/dot.gif" alt="" />  鍙兘鏁版嵁澶ぇ鍚?/span><span style="color: #008000; "><br /> </span><span style="color: #000000; ">{<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; ">0</span><span style="color: #000000; ">; i </span><span style="color: #000000; "><</span><span style="color: #000000; "> k </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; ">) {<br />         </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (A.vt[i] </span><span style="color: #000000; ">!=</span><span style="color: #000000; "> B.vt[i]) {<br />             </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> A.vt[i] </span><span style="color: #000000; "><</span><span style="color: #000000; "> B.vt[i];<br />         }<br />     }<br />     </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">false</span><span style="color: #000000; ">;<br /> }<br /> <br /> pair</span><span style="color: #000000; "><</span><span style="color: #000000; ">Node, </span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">></span><span style="color: #000000; "> all[MAXN];<br /> <br /> inline </span><span style="color: #0000FF; ">bool</span><span style="color: #000000; "> cmp(</span><span style="color: #0000FF; ">const</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; ">a, </span><span style="color: #0000FF; ">const</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; ">b)<br /> {<br />     </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> all[a] </span><span style="color: #000000; "><</span><span style="color: #000000; "> all[b];<br /> }<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</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: #000000; ">~</span><span style="color: #000000; ">scanf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%d%d</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, </span><span style="color: #000000; ">&</span><span style="color: #000000; ">n, </span><span style="color: #000000; ">&</span><span style="color: #000000; ">k); ) {<br />     </span><span style="color: #008000; ">//</span><span style="color: #008000; ">    long long start = clock();</span><span style="color: #008000; "><br /> </span><span style="color: #000000; ">        vector</span><span style="color: #000000; "><</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">></span><span style="color: #000000; "> vt(k</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">), pos(n</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">);<br />         all[</span><span style="color: #000000; ">0</span><span style="color: #000000; ">].first.clear();</span><span style="color: #008000; ">//</span><span style="color: #008000; ">don't forget to push k-1 zeros</span><span style="color: #008000; "><br /> </span><span style="color: #000000; ">        all[</span><span style="color: #000000; ">0</span><span style="color: #000000; ">].second </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br />         pos[</span><span style="color: #000000; ">0</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 />         <br />         vector</span><span style="color: #000000; "><</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">></span><span style="color: #000000; "> sum(k);<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; ">, x; 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; ">x);<br />             </span><span style="color: #0000FF; ">for</span><span style="color: #000000; "> (</span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> j </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">; j </span><span style="color: #000000; "><</span><span style="color: #000000; "> k; j</span><span style="color: #000000; ">++</span><span style="color: #000000; ">) {<br />                 sum[j] </span><span style="color: #000000; ">+=</span><span style="color: #000000; "> (x</span><span style="color: #000000; ">>></span><span style="color: #000000; ">j) </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; ">if</span><span style="color: #000000; "> (j </span><span style="color: #000000; ">></span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">) {<br />                     all[i].first.vt[j</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; "> sum[j] </span><span style="color: #000000; ">-</span><span style="color: #000000; "> sum[j</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">];<br />                 }<br />             }<br />             all[i].second </span><span style="color: #000000; ">=</span><span style="color: #000000; "> i;<br />             pos[i] </span><span style="color: #000000; ">=</span><span style="color: #000000; "> i;<br />         }<br />         sort(pos.begin(), pos.end(), cmp);<br />         </span><span style="color: #0000FF; ">int</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; ">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; ">, last </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">; i </span><span style="color: #000000; "><=</span><span style="color: #000000; "> n</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; ">) {<br />             </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (i </span><span style="color: #000000; ">==</span><span style="color: #000000; "> n</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; ">  all[pos[i</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">]].first </span><span style="color: #000000; "><</span><span style="color: #000000; "> all[pos[i]].first) {<br />                 ans </span><span style="color: #000000; ">=</span><span style="color: #000000; "> max(ans, all[pos[i</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">]].second </span><span style="color: #000000; ">-</span><span style="color: #000000; "> all[pos[last]].second);<br />                 last </span><span style="color: #000000; ">=</span><span style="color: #000000; "> i;<br />             }<br />         }<br />         printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%d\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, ans);<br />     </span><span style="color: #008000; ">//</span><span style="color: #008000; ">    cout<<"time   "<<clock() - start<<endl;</span><span style="color: #008000; "><br /> </span><span style="color: #000000; ">    }<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/151138.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-07-16 10:40 <a href="http://www.shnenglu.com/Yuan/archive/2011/07/16/151138.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.shnenglu.com/" title="精品视频久久久久">精品视频久久久久</a> <div class="friend-links"> </div> </div> </footer> <a href="http://www.fengguan1688.cn" target="_blank">久久一区二区三区免费</a>| <a href="http://www.who8.cn" target="_blank">久久久国产精品亚洲一区</a>| <a href="http://www.ujpy.cn" target="_blank">爱做久久久久久</a>| <a href="http://www.3393795.cn" target="_blank">亚洲国产高清精品线久久</a>| <a href="http://www.yjtrade.cn" target="_blank">亚洲国产精品无码久久98</a>| <a href="http://www.zhouyangla.cn" target="_blank">久久久噜噜噜www成人网</a>| <a href="http://www.nbhaishun.cn" target="_blank">青青青青久久精品国产h</a>| <a href="http://www.gm53.cn" target="_blank">久久人搡人人玩人妻精品首页</a>| <a href="http://www.zzdls.cn" target="_blank">久久人人爽人人人人爽AV</a>| <a href="http://www.kaifang001.cn" target="_blank">色欲综合久久躁天天躁蜜桃</a>| <a href="http://www.pchenshimin.com.cn" target="_blank">国产91色综合久久免费</a>| <a href="http://www.sxzt888.cn" target="_blank">一97日本道伊人久久综合影院</a>| <a href="http://www.6159vs.cn" target="_blank">国产精品免费福利久久</a>| <a href="http://www.hbrsksy.cn" target="_blank">无码人妻少妇久久中文字幕</a>| <a href="http://www.dafa888da.cn" target="_blank">久久精品麻豆日日躁夜夜躁</a>| <a href="http://www.qingjian8.cn" target="_blank">久久精品亚洲福利</a>| <a href="http://www.3171unp.cn" target="_blank">久久99国产乱子伦精品免费</a>| <a href="http://www.denlight.com.cn" target="_blank">久久久久久国产精品美女</a>| <a href="http://www.lcvy.cn" target="_blank">99精品久久精品</a>| <a href="http://www.bolson.cn" target="_blank">亚洲综合精品香蕉久久网</a>| <a href="http://www.shangxin.net.cn" target="_blank">久久精品成人欧美大片</a>| <a href="http://www.athj.cn" target="_blank">99re久久精品国产首页2020</a>| <a href="http://www.disidai.cn" target="_blank">午夜天堂av天堂久久久</a>| <a href="http://www.nmbm.com.cn" target="_blank">伊人久久成人成综合网222</a>| <a href="http://www.macsales.cn" target="_blank">久久99国产精品99久久 </a>| <a href="http://www.yes365cc.cn" target="_blank">久久精品国产亚洲精品2020</a>| <a href="http://www.rainbow-city.cn" target="_blank">欧美激情精品久久久久久</a>| <a href="http://www.jtlyr.cn" target="_blank">一本一道久久精品综合</a>| <a href="http://www.shzmxsls.cn" target="_blank">久久亚洲精品成人AV</a>| <a href="http://www.fengbiaochem.com.cn" target="_blank">97精品伊人久久大香线蕉</a>| <a href="http://www.kwk9605.cn" target="_blank">亚洲一区精品伊人久久伊人</a>| <a href="http://www.dywanjiale.cn" target="_blank">精品水蜜桃久久久久久久</a>| <a href="http://www.fozhun.cn" target="_blank">久久精品国产亚洲欧美</a>| <a href="http://www.e8ux.cn" target="_blank">久久亚洲欧美日本精品</a>| <a href="http://www.rojie.cn" target="_blank">久久青草国产手机看片福利盒子</a>| <a href="http://www.psia.cn" target="_blank">无码伊人66久久大杳蕉网站谷歌</a>| <a href="http://www.jvqn.cn" target="_blank">波多野结衣AV无码久久一区</a>| <a href="http://www.khdv.cn" target="_blank">国产亚洲美女精品久久久2020</a>| <a href="http://www.kkha.cn" target="_blank">99精品国产99久久久久久97 </a>| <a href="http://www.rytaoshumiao.cn" target="_blank">一本综合久久国产二区</a>| <a href="http://www.so006.cn" target="_blank">久久久久亚洲爆乳少妇无</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>