锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美亚洲国产精品久久蜜芽,久久er国产精品免费观看2,国产精品久久久久无码avhttp://www.shnenglu.com/yzhw/姹熻嫃澶уzh-cnFri, 09 May 2025 00:27:56 GMTFri, 09 May 2025 00:27:56 GMT60pku3908 騫舵煡闆嗙殑涓鐐瑰皬鍙橀?/title><link>http://www.shnenglu.com/yzhw/archive/2012/02/22/166244.html</link><dc:creator>yzhw</dc:creator><author>yzhw</author><pubDate>Wed, 22 Feb 2012 07:58:00 GMT</pubDate><guid>http://www.shnenglu.com/yzhw/archive/2012/02/22/166244.html</guid><wfw:comment>http://www.shnenglu.com/yzhw/comments/166244.html</wfw:comment><comments>http://www.shnenglu.com/yzhw/archive/2012/02/22/166244.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/yzhw/comments/commentRss/166244.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/yzhw/services/trackbacks/166244.html</trackback:ping><description><![CDATA[棰樼洰澶ф剰榪欐牱錛岀粰鍑轟竴浜涜妭鐐癸紝緇欏嚭3縐嶅懡浠わ細<br />1銆佸皢a,b鑱旈?br />2銆佹煡璇,b鐨勮仈閫氱姸鍐?br />3銆佸垹闄ら摼鎺鐨勮竟銆傦紙濡傛灉涔嬪墠a,c閫氳繃b鑱旈氾紝閭d箞鍒犻櫎b鐨勮仈閫氬叧緋誨悗a,c浠嶇劧璁や負鑱旈氾級<br />1錛?涓ょ鎿嶄綔涔嶄竴鐪婱S鏄茍鏌ラ泦錛屼絾鏄涓夌鐘跺喌璁╀漢寰堟伡鐏紝灝ゅ叾鏄兂鐢ㄨ礬寰勫帇緙╂妧宸х殑鏃跺欍傞偅涔堬紝鎴戜滑涓嶅Θ杞崲涓嬫濊礬錛屽垹闄鐨勮仈閫氬叧緋誨彲浠ヨ涓哄皢a鑺傜偣閲嶆爣鍙鳳紝鎶婁箣鍓嶉偅涓猘鑺傜偣璁や負鏄櫄鎷熻妭鐐癸紝榪欐牱鑱旈氭у暐鐨勯兘濂戒繚璇佷簡銆傝緇嗚鐪嬩唬鐮侊細<br /><div style="display: inline-block; "><div><p align="center" style="font-family: 'AR PL UKai CN'; line-height: normal; font-size: medium; "><font size="4" color="#333399">Source Code</font></p><table align="center" style="font-family: 'AR PL UKai CN'; font-size: 10pt; "><tbody><tr><td><strong>Problem:</strong> <a >3908</a></td><td width="10px"></td><td><strong>User:</strong> <a >yzhw</a></td></tr><tr><td><strong>Memory:</strong> 1096K</td><td width="10px"></td><td><strong>Time:</strong> 47MS</td></tr><tr><td><strong>Language:</strong> G++</td><td width="10px"></td><td><strong>Result:</strong> <font color="blue">Accepted</font></td></tr></tbody></table><ul style="font-family: 'AR PL UKai CN'; line-height: normal; font-size: medium; "><li><font color="#333399" size="5">Source Code</font></li><pre class="sh_cpp sh_sourceCode" style="background-color: white; font-family: 'Courier New', Courier, monospace; "><span id="sygesam" class="sh_preproc" style="color: #00008b; font-weight: bold; "># include</span> <span id="euaycmg" class="sh_string" style="color: red; font-family: monospace; "><cstdio></span> <span id="gqmaumk" class="sh_preproc" style="color: #00008b; font-weight: bold; "># define</span> N <span id="qceaoca" class="sh_number" style="color: purple; ">100000</span> <span id="cggacsc" class="sh_keyword" style="color: blue; font-weight: bold; ">using</span> <span id="ygakgao" class="sh_keyword" style="color: blue; font-weight: bold; ">namespace</span> std<span id="skogsyw" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="smwisiw" class="sh_type" style="color: #006400; ">int</span> set<span id="ugqaeks" class="sh_symbol" style="color: #8b0000; ">[</span>N<span id="cksuyws" class="sh_symbol" style="color: #8b0000; ">],</span>id<span id="ikcwgee" class="sh_symbol" style="color: #8b0000; ">[</span>N<span id="moykeka" class="sh_symbol" style="color: #8b0000; ">];</span> <span id="wycmwes" class="sh_type" style="color: #006400; ">int</span> <span id="cegisig" class="sh_function" style="font-weight: bold; ">find</span><span id="ikcegwi" class="sh_symbol" style="color: #8b0000; ">(</span><span id="mgysuka" class="sh_type" style="color: #006400; ">int</span> pos<span id="wqsuoou" class="sh_symbol" style="color: #8b0000; ">)</span> <span id="cmyacig" class="sh_cbracket" style="color: red; ">{</span> <span id="gicegec" class="sh_keyword" style="color: blue; font-weight: bold; ">if</span><span id="gisugmc" class="sh_symbol" style="color: #8b0000; ">(</span>set<span id="iugkmkq" class="sh_symbol" style="color: #8b0000; ">[</span>pos<span id="wwacmuk" class="sh_symbol" style="color: #8b0000; ">]==</span>pos<span id="wqquwck" class="sh_symbol" style="color: #8b0000; ">)</span> <span id="iyacmck" class="sh_keyword" style="color: blue; font-weight: bold; ">return</span> pos<span id="suoycio" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="wyacwka" class="sh_keyword" style="color: blue; font-weight: bold; ">else</span> <span id="akwaaiq" class="sh_keyword" style="color: blue; font-weight: bold; ">return</span> set<span id="oaueiwu" class="sh_symbol" style="color: #8b0000; ">[</span>pos<span id="smoqaag" class="sh_symbol" style="color: #8b0000; ">]=</span><span id="kkuwaww" class="sh_function" style="font-weight: bold; ">find</span><span id="smoqsyy" class="sh_symbol" style="color: #8b0000; ">(</span>set<span id="kcmysiw" class="sh_symbol" style="color: #8b0000; ">[</span>pos<span id="ueismca" class="sh_symbol" style="color: #8b0000; ">]);</span> <span id="mmqkkoe" class="sh_cbracket" style="color: red; ">}</span> <span id="qaegisy" class="sh_type" style="color: #006400; ">void</span> <span id="cceykyo" class="sh_function" style="font-weight: bold; ">uni</span><span id="cwoieua" class="sh_symbol" style="color: #8b0000; ">(</span><span id="iamgiqe" class="sh_type" style="color: #006400; ">int</span> a<span id="oyiuguc" class="sh_symbol" style="color: #8b0000; ">,</span><span id="yikooeu" class="sh_type" style="color: #006400; ">int</span> b<span id="qcwqayy" class="sh_symbol" style="color: #8b0000; ">)</span> <span id="ueikeci" class="sh_cbracket" style="color: red; ">{</span> set<span id="scgakqq" class="sh_symbol" style="color: #8b0000; ">[</span><span id="mwqacks" class="sh_function" style="font-weight: bold; ">find</span><span id="skeykqq" class="sh_symbol" style="color: #8b0000; ">(</span>a<span id="eoqamki" class="sh_symbol" style="color: #8b0000; ">)]=</span><span id="eoskmui" class="sh_function" style="font-weight: bold; ">find</span><span id="qswyawy" class="sh_symbol" style="color: #8b0000; ">(</span>b<span id="sgcmowc" class="sh_symbol" style="color: #8b0000; ">);</span> <span id="sswgayo" class="sh_cbracket" style="color: red; ">}</span> <span id="suceieu" class="sh_type" style="color: #006400; ">int</span> <span id="uoycwca" class="sh_function" style="font-weight: bold; ">main</span><span id="wwasoea" class="sh_symbol" style="color: #8b0000; ">()</span> <span id="mmyamai" class="sh_cbracket" style="color: red; ">{</span> <span id="kkeakiq" class="sh_type" style="color: #006400; ">int</span> num<span id="ykewygq" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="aegikqa" class="sh_keyword" style="color: blue; font-weight: bold; ">while</span><span id="wgskeki" class="sh_symbol" style="color: #8b0000; ">(</span><span id="ysmegow" class="sh_function" style="font-weight: bold; ">scanf</span><span id="qsceyou" class="sh_symbol" style="color: #8b0000; ">(</span><span id="gakwwec" class="sh_string" style="color: red; font-family: monospace; ">"%d"</span><span id="mqqkwus" class="sh_symbol" style="color: #8b0000; ">,&</span>num<span id="quwqqom" class="sh_symbol" style="color: #8b0000; ">)!=</span>EOF<span id="sewycii" class="sh_symbol" style="color: #8b0000; ">)</span> <span id="smyiuiy" class="sh_cbracket" style="color: red; ">{</span> <span id="gskeiow" class="sh_type" style="color: #006400; ">int</span> c<span id="qkwoioe" class="sh_symbol" style="color: #8b0000; ">=</span>num<span id="gakeoms" class="sh_number" style="color: purple; ">+1</span><span id="mgkugma" class="sh_symbol" style="color: #8b0000; ">,</span>n1<span id="gakugoc" class="sh_symbol" style="color: #8b0000; ">=</span><span id="wqueaoe" class="sh_number" style="color: purple; ">0</span><span id="isegqyw" class="sh_symbol" style="color: #8b0000; ">,</span>n2<span id="goscmes" class="sh_symbol" style="color: #8b0000; ">=</span><span id="oqaeoma" class="sh_number" style="color: purple; ">0</span><span id="ceiaesi" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="ceykusa" class="sh_keyword" style="color: blue; font-weight: bold; ">for</span><span id="gqkoqmu" class="sh_symbol" style="color: #8b0000; ">(</span><span id="oyasumk" class="sh_type" style="color: #006400; ">int</span> i<span id="ysuuwmc" class="sh_symbol" style="color: #8b0000; ">=</span><span id="eqikwks" class="sh_number" style="color: purple; ">1</span><span id="qsoqsao" class="sh_symbol" style="color: #8b0000; ">;</span>i<span id="sumqsqo" class="sh_symbol" style="color: #8b0000; "><</span>N<span id="akeoqye" class="sh_symbol" style="color: #8b0000; ">;</span>i<span id="qkegiyo" class="sh_symbol" style="color: #8b0000; ">++)</span> set<span id="gsmwgwu" class="sh_symbol" style="color: #8b0000; ">[</span>i<span id="oquoiqm" class="sh_symbol" style="color: #8b0000; ">]=</span>i<span id="gcmoawm" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="cqikeek" class="sh_keyword" style="color: blue; font-weight: bold; ">for</span><span id="akegiie" class="sh_symbol" style="color: #8b0000; ">(</span><span id="acwokiw" class="sh_type" style="color: #006400; ">int</span> i<span id="skmqsig" class="sh_symbol" style="color: #8b0000; ">=</span><span id="eoskecs" class="sh_number" style="color: purple; ">1</span><span id="aauoqye" class="sh_symbol" style="color: #8b0000; ">;</span>i<span id="ikeqcao" class="sh_symbol" style="color: #8b0000; "><=</span>num<span id="ymgaumk" class="sh_symbol" style="color: #8b0000; ">;</span>i<span id="mwyikig" class="sh_symbol" style="color: #8b0000; ">++)</span> id<span id="gsmogge" class="sh_symbol" style="color: #8b0000; ">[</span>i<span id="meoicay" class="sh_symbol" style="color: #8b0000; ">]=</span>i<span id="yqoyuay" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="2aoykq2" class="sh_type" style="color: #006400; ">char</span> jud<span id="2yw4a2y" class="sh_symbol" style="color: #8b0000; ">[</span><span id="g4w44aq" class="sh_number" style="color: purple; ">5</span><span id="4uo2wo2" class="sh_symbol" style="color: #8b0000; ">];</span> <span id="62s4me4" class="sh_keyword" style="color: blue; font-weight: bold; ">while</span><span id="4244gmo" class="sh_symbol" style="color: #8b0000; ">(</span><span id="es44o24" class="sh_function" style="font-weight: bold; ">scanf</span><span id="q42iius" class="sh_symbol" style="color: #8b0000; ">(</span><span id="swkagmi" class="sh_string" style="color: red; font-family: monospace; ">"%s"</span><span id="kyk2cmk" class="sh_symbol" style="color: #8b0000; ">,</span>jud<span id="e444ssq" class="sh_symbol" style="color: #8b0000; ">)&&*</span>jud<span id="2m4susy" class="sh_symbol" style="color: #8b0000; ">!=</span><span id="mg44wmc" class="sh_string" style="color: red; font-family: monospace; ">'e'</span><span id="4o4uwsg" class="sh_symbol" style="color: #8b0000; ">)</span> <span id="gqcqs4u" class="sh_cbracket" style="color: red; ">{</span> <span id="uickmce" class="sh_type" style="color: #006400; ">int</span> a<span id="s4e4u4q" class="sh_symbol" style="color: #8b0000; ">,</span>b<span id="yk244ia" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="c2gmgu2" class="sh_keyword" style="color: blue; font-weight: bold; ">switch</span><span id="ikwycs4" class="sh_symbol" style="color: #8b0000; ">(*</span>jud<span id="4g4424k" class="sh_symbol" style="color: #8b0000; ">)</span> <span id="ikq2uki" class="sh_cbracket" style="color: red; ">{</span> <span id="m4auegc" class="sh_keyword" style="color: blue; font-weight: bold; ">case</span> <span id="cceysii" class="sh_string" style="color: red; font-family: monospace; ">'c'</span><span id="suos4ie" class="sh_symbol" style="color: #8b0000; ">:</span> <span id="e4q44ca" class="sh_function" style="font-weight: bold; ">scanf</span><span id="qg4ewm2" class="sh_symbol" style="color: #8b0000; ">(</span><span id="22qc4aa" class="sh_string" style="color: red; font-family: monospace; ">"%d%d"</span><span id="2o442gg" class="sh_symbol" style="color: #8b0000; ">,&</span>a<span id="wwis44a" class="sh_symbol" style="color: #8b0000; ">,&</span>b<span id="sk2uq4u" class="sh_symbol" style="color: #8b0000; ">);</span> <span id="cqkuqg2" class="sh_function" style="font-weight: bold; ">uni</span><span id="m442qyu" class="sh_symbol" style="color: #8b0000; ">(</span>id<span id="2y2a244" class="sh_symbol" style="color: #8b0000; ">[</span>a<span id="suo4wui" class="sh_symbol" style="color: #8b0000; ">],</span>id<span id="y2ce2ua" class="sh_symbol" style="color: #8b0000; ">[</span>b<span id="ag2myeu" class="sh_symbol" style="color: #8b0000; ">]);</span> <span id="yeeq4sg" class="sh_keyword" style="color: blue; font-weight: bold; ">break</span><span id="cg244u4" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="icwyai4" class="sh_keyword" style="color: blue; font-weight: bold; ">case</span> <span id="24uo4c4" class="sh_string" style="color: red; font-family: monospace; ">'d'</span><span id="42kmggo" class="sh_symbol" style="color: #8b0000; ">:</span> <span id="aawgaaw" class="sh_function" style="font-weight: bold; ">scanf</span><span id="coq4ouk" class="sh_symbol" style="color: #8b0000; ">(</span><span id="sk4c4gc" class="sh_string" style="color: red; font-family: monospace; ">"%d"</span><span id="e4y44c4" class="sh_symbol" style="color: #8b0000; ">,&</span>a<span id="k4wq444" class="sh_symbol" style="color: #8b0000; ">);</span> id<span id="se2mwec" class="sh_symbol" style="color: #8b0000; ">[</span>a<span id="2ua4sao" class="sh_symbol" style="color: #8b0000; ">]=</span>c<span id="g4i4ckg" class="sh_symbol" style="color: #8b0000; ">++;</span> <span id="eg24aqo" class="sh_keyword" style="color: blue; font-weight: bold; ">break</span><span id="w44wqe4" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="y4qc244" class="sh_keyword" style="color: blue; font-weight: bold; ">case</span> <span id="42oyk4i" class="sh_string" style="color: red; font-family: monospace; ">'q'</span><span id="om4i2ea" class="sh_symbol" style="color: #8b0000; ">:</span> <span id="ku24ows" class="sh_function" style="font-weight: bold; ">scanf</span><span id="co4ys22" class="sh_symbol" style="color: #8b0000; ">(</span><span id="wou4aa4" class="sh_string" style="color: red; font-family: monospace; ">"%d%d"</span><span id="2ouoc24" class="sh_symbol" style="color: #8b0000; ">,&</span>a<span id="gio4msa" class="sh_symbol" style="color: #8b0000; ">,&</span>b<span id="244c464" class="sh_symbol" style="color: #8b0000; ">);</span> <span id="42qcwqg" class="sh_keyword" style="color: blue; font-weight: bold; ">if</span><span id="4ek4uca" class="sh_symbol" style="color: #8b0000; ">(</span><span id="42q4644" class="sh_function" style="font-weight: bold; ">find</span><span id="2e44cay" class="sh_symbol" style="color: #8b0000; ">(</span>id<span id="4ec2q4y" class="sh_symbol" style="color: #8b0000; ">[</span>a<span id="224oq4w" class="sh_symbol" style="color: #8b0000; ">])==</span><span id="244se46" class="sh_function" style="font-weight: bold; ">find</span><span id="62wqkus" class="sh_symbol" style="color: #8b0000; ">(</span>id<span id="qae6o4k" class="sh_symbol" style="color: #8b0000; ">[</span>b<span id="cyaqku2" class="sh_symbol" style="color: #8b0000; ">]))</span> n1<span id="4eqya4u" class="sh_symbol" style="color: #8b0000; ">++;</span> <span id="giaiam2" class="sh_keyword" style="color: blue; font-weight: bold; ">else</span> n2<span id="ugqaucs" class="sh_symbol" style="color: #8b0000; ">++;</span> <span id="i44os4m" class="sh_keyword" style="color: blue; font-weight: bold; ">break</span><span id="4k4ewwu" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="kmmoi4k" class="sh_cbracket" style="color: red; ">}</span><span id="4244oma" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="u24ew44" class="sh_cbracket" style="color: red; ">}</span> <span id="44cgiqg" class="sh_function" style="font-weight: bold; ">printf</span><span id="62uoq4q" class="sh_symbol" style="color: #8b0000; ">(</span><span id="yqk2aoo" class="sh_string" style="color: red; font-family: monospace; ">"%d , %d</span><span id="oyieyg2" class="sh_specialchar" style="color: #ffc0cb; font-family: monospace; ">\n</span><span id="gm44a4i" class="sh_string" style="color: red; font-family: monospace; ">"</span><span id="oak44ok" class="sh_symbol" style="color: #8b0000; ">,</span>n1<span id="acm4cio" class="sh_symbol" style="color: #8b0000; ">,</span>n2<span id="moi4oec" class="sh_symbol" style="color: #8b0000; ">);</span> <span id="wasqk2e" class="sh_cbracket" style="color: red; ">}</span> <span id="k244u6k" class="sh_keyword" style="color: blue; font-weight: bold; ">return</span> <span id="wquqew4" class="sh_number" style="color: purple; ">0</span><span id="is24ua4" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="g2gi2yo" class="sh_cbracket" style="color: red; ">}</span></pre></ul></div></div><img src ="http://www.shnenglu.com/yzhw/aggbug/166244.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/yzhw/" target="_blank">yzhw</a> 2012-02-22 15:58 <a href="http://www.shnenglu.com/yzhw/archive/2012/02/22/166244.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>pku3907 姹傚杈瑰艦闈㈢Нhttp://www.shnenglu.com/yzhw/archive/2012/02/18/165874.htmlyzhwyzhwFri, 17 Feb 2012 17:34:00 GMThttp://www.shnenglu.com/yzhw/archive/2012/02/18/165874.htmlhttp://www.shnenglu.com/yzhw/comments/165874.htmlhttp://www.shnenglu.com/yzhw/archive/2012/02/18/165874.html#Feedback0http://www.shnenglu.com/yzhw/comments/commentRss/165874.htmlhttp://www.shnenglu.com/yzhw/services/trackbacks/165874.html
 1 Show Code - Run ID 1166912
 2 
 3 Submit Time: 2012-02-18 01:33:04     Language: GNU C     Result: Accepted
 4     Pid: 3124     Time: 0.00 sec.     Memory: 852 K.     Code Length: 0.6 K.
 5 # include <stdio.h>
 6 # define cross(x1,y1,x2,y2) (x1)*(y2)-(x2)*(y1)
 7 # define get_aera(x0,y0,x1,y1,x2,y2) (cross((x1)-(x0),(y1)-(y0),(x2)-(x0),(y2)-(y0)))
 8 int main()
 9 {
10     int n;
11     while(scanf("%d",&n)!=EOF&&n)
12     {
13        int i;
14       
15            double x[3],y[3],aera=0;
16            scanf("%lf%lf",&x[2],&y[2]);
17            for(i=1;i<n;i++)
18            {
19                scanf("%lf%lf",&x[i%2],&y[i%2]);
20                if(i>1) aera+=get_aera(x[2],y[2],x[(i+1)%2],y[(i+1)%2],x[i%2],y[i%2]);
21            }
22            aera*=0.5;
23            if(aera<0) aera=-aera;
24            printf("%.0f\n",aera+1e-8);
25        
26     }
27     return 0;
28 }


yzhw 2012-02-18 01:34 鍙戣〃璇勮
]]>
pku3905 2-SAT闂 &鎴戝2-SAT闂鐨勬渶鏂扮悊瑙?/title><link>http://www.shnenglu.com/yzhw/archive/2012/02/17/165796.html</link><dc:creator>yzhw</dc:creator><author>yzhw</author><pubDate>Thu, 16 Feb 2012 18:38:00 GMT</pubDate><guid>http://www.shnenglu.com/yzhw/archive/2012/02/17/165796.html</guid><wfw:comment>http://www.shnenglu.com/yzhw/comments/165796.html</wfw:comment><comments>http://www.shnenglu.com/yzhw/archive/2012/02/17/165796.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/yzhw/comments/commentRss/165796.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/yzhw/services/trackbacks/165796.html</trackback:ping><description><![CDATA[鏈榪戠湅浜嗕漢宸ユ櫤鑳界殑紜畾鎬ф帹鐞嗭紝瀵?-SAT鏈変簡鏇存繁鐨勭悊瑙o紝鎰熻2-SAT鏋勫浘榪囩▼灝辨槸鏋勫緩鐨勪竴涓帹鐞嗗浘錛岄昏緫鍏崇郴鏄痑->b銆傛牴鎹繖棰樺疄闄呮潵璁茶<br />灝辯敤絎竴縐嶆儏鍐墊潵涓句緥鍚?br />A琚夋垨鑰匓琚夋垨鑰呬袱鑰呴兘鍙戠敓閮芥槸鍙互琚帴鍙楃殑銆?br />閭d箞濡傛灉A娌℃湁琚夛紝鎴戜滑鑳芥帹鍑築琚変簡銆傚悓鏍峰鏋淏娌℃湁琚夛紝鎴戜滑鑳芥帹鍑篈琚変簡錛屽叾浠栨垜浠笉鑳芥帹鍑轟換浣曠粨璁恒?br />鎵浠ユ瀯閫犲叧緋?br />!B->A<br />!A->B<br />鍙嶅簲鍒板浘涓婂氨鏄袱鏉¤竟銆?br />榪欐牱鏋勫浘瀹屾垚鍚庢壘鍑哄浘閲屾墍鏈夌殑寮鴻繛閫氬垎閲忥紝濡傛灉A鍜?A鍦ㄥ悓涓涓己榪為氬垎閲忛噷錛岄偅涔堝氨鍐茬獊浜嗐傦紙鎴戜滑鑳芥帹鐞嗗嚭A->!A錛?br />浠g爜錛?span style="background-color: #eeeeee; font-size: 13px; color: #008080; "> 1</span><span style="background-color: #eeeeee; font-size: 13px; "> </span><span style="background-color: #eeeeee; font-size: 13px; ">Source Code</span><br /><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"><span style="color: #008080; "> 2</span> <br /><span style="color: #008080; "> 3</span> Problem: 3905        User: yzhw<br /><span style="color: #008080; "> 4</span> Memory: 16168K        Time: 2297MS<br /><span style="color: #008080; "> 5</span> Language: GCC        Result: Accepted<br /><span style="color: #008080; "> 6</span> Source Code<br /><span style="color: #008080; "> 7</span> # include <stdio.h><br /><span style="color: #008080; "> 8</span> # include <stdlib.h><br /><span style="color: #008080; "> 9</span> # include <<span style="color: #0000FF; ">string</span>.h><br /><span style="color: #008080; ">10</span> # define N 2000<br /><span style="color: #008080; ">11</span> # define M 1000000*2<br /><span style="color: #008080; ">12</span> # define min(a,b) ((a)<(b)?(a):(b))<br /><span style="color: #008080; ">13</span> # define abs(a) ((a)>0?(a):-(a))<br /><span style="color: #008080; ">14</span> <span style="color: #0000FF; ">int</span> n,m;<br /><span style="color: #008080; ">15</span> <span style="color: #0000FF; ">int</span> p,nxt[M],g[N],v[M];<br /><span style="color: #008080; ">16</span> <span style="color: #0000FF; ">int</span> stack[N],sp,dfn,low[N];<br /><span style="color: #008080; ">17</span> <span style="color: #0000FF; ">void</span> insert(<span style="color: #0000FF; ">int</span> a,<span style="color: #0000FF; ">int</span> b)<br /><span style="color: #008080; ">18</span> {<br /><span style="color: #008080; ">19</span>     v[p]=b;<br /><span style="color: #008080; ">20</span>     nxt[p]=g[a];<br /><span style="color: #008080; ">21</span>     g[a]=p++;<br /><span style="color: #008080; ">22</span> }<br /><span style="color: #008080; ">23</span> <span style="color: #0000FF; ">int</span> dfs(<span style="color: #0000FF; ">int</span> pos)<br /><span style="color: #008080; ">24</span> {<br /><span style="color: #008080; ">25</span>     <span style="color: #0000FF; ">int</span> minnum=dfn++;<br /><span style="color: #008080; ">26</span>     <span style="color: #0000FF; ">int</span> p;<br /><span style="color: #008080; ">27</span>     stack[sp++]=pos;<br /><span style="color: #008080; ">28</span>     low[pos]=minnum;<br /><span style="color: #008080; ">29</span>     <span style="color: #0000FF; ">for</span>(p=g[pos];p!=-1;p=nxt[p])<br /><span style="color: #008080; ">30</span>     {<br /><span style="color: #008080; ">31</span>       <span style="color: #0000FF; ">if</span>(low[v[p]]==-1)<br /><span style="color: #008080; ">32</span>         <span style="color: #0000FF; ">if</span>(!dfs(v[p])) <span style="color: #0000FF; ">return</span> 0;<br /><span style="color: #008080; ">33</span>       minnum=min(minnum,low[v[p]]);<br /><span style="color: #008080; ">34</span>     }<br /><span style="color: #008080; ">35</span>     <span style="color: #0000FF; ">if</span>(minnum<low[pos]) low[pos]=minnum;<br /><span style="color: #008080; ">36</span>     <span style="color: #0000FF; ">else</span><br /><span style="color: #008080; ">37</span>     {<br /><span style="color: #008080; ">38</span>         <span style="color: #0000FF; ">do</span><br /><span style="color: #008080; ">39</span>         {<br /><span style="color: #008080; ">40</span>             low[stack[sp-1]]=N;<br /><span style="color: #008080; ">41</span>             <span style="color: #0000FF; ">if</span>(abs(stack[sp-1]-pos)==n) <span style="color: #0000FF; ">return</span> 0;<br /><span style="color: #008080; ">42</span>             sp--;<br /><span style="color: #008080; ">43</span>         }<span style="color: #0000FF; ">while</span>(stack[sp]!=pos);<br /><span style="color: #008080; ">44</span>     }<br /><span style="color: #008080; ">45</span>     <span style="color: #0000FF; ">return</span> 1;<br /><span style="color: #008080; ">46</span> }<br /><span style="color: #008080; ">47</span> <span style="color: #0000FF; ">int</span> main()<br /><span style="color: #008080; ">48</span> {<br /><span style="color: #008080; ">49</span>     <span style="color: #0000FF; ">while</span>(scanf("%d%d",&n,&m)!=EOF)<br /><span style="color: #008080; ">50</span>     {<br /><span style="color: #008080; ">51</span>         <span style="color: #0000FF; ">int</span> i,flag=1;<br /><span style="color: #008080; ">52</span>         memset(g,-1,<span style="color: #0000FF; ">sizeof</span>(g));<br /><span style="color: #008080; ">53</span>         p=0;<br /><span style="color: #008080; ">54</span>         <span style="color: #0000FF; ">for</span>(i=0;i<m;i++)<br /><span style="color: #008080; ">55</span>         {<br /><span style="color: #008080; ">56</span>             <span style="color: #0000FF; ">char</span> str1[32],str2[32];<br /><span style="color: #008080; ">57</span>             <span style="color: #0000FF; ">int</span> num1,num2;<br /><span style="color: #008080; ">58</span>             scanf("%s%s",str1,str2);<br /><span style="color: #008080; ">59</span>             num1=atoi(str1+1)-1;<br /><span style="color: #008080; ">60</span>             num2=atoi(str2+1)-1;<br /><span style="color: #008080; ">61</span>             <span style="color: #0000FF; ">if</span>(*str1=='+'&&*str2=='+')<br /><span style="color: #008080; ">62</span>             {<br /><span style="color: #008080; ">63</span>                 insert(num1+n,num2);<br /><span style="color: #008080; ">64</span>                 insert(num2+n,num1);<br /><span style="color: #008080; ">65</span>             }<br /><span style="color: #008080; ">66</span>             <span style="color: #0000FF; ">else</span> <span style="color: #0000FF; ">if</span>(*str1=='-'&&*str2=='-')<br /><span style="color: #008080; ">67</span>             {<br /><span style="color: #008080; ">68</span>                 insert(num1,num2+n);<br /><span style="color: #008080; ">69</span>                 insert(num2,num1+n);<br /><span style="color: #008080; ">70</span>             }<br /><span style="color: #008080; ">71</span>             <span style="color: #0000FF; ">else</span> <span style="color: #0000FF; ">if</span>(*str1=='+'&&*str2=='-')<br /><span style="color: #008080; ">72</span>             {<br /><span style="color: #008080; ">73</span>                 insert(num1+n,num2+n);<br /><span style="color: #008080; ">74</span>                 insert(num2,num1);<br /><span style="color: #008080; ">75</span>             }<br /><span style="color: #008080; ">76</span>             <span style="color: #0000FF; ">else</span><br /><span style="color: #008080; ">77</span>             {<br /><span style="color: #008080; ">78</span>                 insert(num1,num2);<br /><span style="color: #008080; ">79</span>                 insert(num2+n,num1+n);<br /><span style="color: #008080; ">80</span>             }<br /><span style="color: #008080; ">81</span>         }<br /><span style="color: #008080; ">82</span>         memset(low,-1,<span style="color: #0000FF; ">sizeof</span>(low));<br /><span style="color: #008080; ">83</span>         dfn=sp=0;<br /><span style="color: #008080; ">84</span>         <span style="color: #0000FF; ">for</span>(i=0;i<2*n&&flag;i++)<br /><span style="color: #008080; ">85</span>             <span style="color: #0000FF; ">if</span>(low[i]==-1)<br /><span style="color: #008080; ">86</span>                 <span style="color: #0000FF; ">if</span>(!dfs(i)) flag=0;<br /><span style="color: #008080; ">87</span>         printf("%d\n",flag);<br /><span style="color: #008080; ">88</span>     }<br /><span style="color: #008080; ">89</span>     <span style="color: #0000FF; ">return</span> 0;<br /><span style="color: #008080; ">90</span> }</div><img src ="http://www.shnenglu.com/yzhw/aggbug/165796.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/yzhw/" target="_blank">yzhw</a> 2012-02-17 02:38 <a href="http://www.shnenglu.com/yzhw/archive/2012/02/17/165796.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>pku3904 瀹規枼鍘熺悊鐨勮繍鐢紝濂介錛?/title><link>http://www.shnenglu.com/yzhw/archive/2012/02/17/165795.html</link><dc:creator>yzhw</dc:creator><author>yzhw</author><pubDate>Thu, 16 Feb 2012 18:03:00 GMT</pubDate><guid>http://www.shnenglu.com/yzhw/archive/2012/02/17/165795.html</guid><wfw:comment>http://www.shnenglu.com/yzhw/comments/165795.html</wfw:comment><comments>http://www.shnenglu.com/yzhw/archive/2012/02/17/165795.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/yzhw/comments/commentRss/165795.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/yzhw/services/trackbacks/165795.html</trackback:ping><description><![CDATA[瑙f硶鍙戠幇緗戜笂涓涓ぇ鐗涘啓鐨勫緢濂斤紝灝辮漿杞借繃鏉ュ惂銆傚彲鎬滅殑鎴戯紝寮濮嬫病鎯沖埌綆楁硶灝辯畻浜嗭紝鎯沖埌綆楁硶鍚庡張鍒繪剰渚濊禆STL緇撴灉o(N)鍐欐垚o(logN)鎴愬姛钁併?br /><fieldset><legend>瑙f硶</legend><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">棰樻剰錛氱粰浣爊涓暟錛屾眰GCD(gcd(a,b),gcd(c,d))=1鐨勬柟妗堟暟錛屾敞鎰廰,b,c,d騫朵笉涓瀹氫袱涓や簰璐紝鏈夊緇勬暟鎹?/p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">鏈潵榪欎釜棰樼殑棰樿В鏈変竴澶ф妸錛屼絾娌℃湁璁查瑙g殑鍙湁璐翠唬鐮佺殑銆?/p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">鏈潵涓鐩村湪鍋氶錛屾病鏈変粈涔堟椂闂村彂棰樿В錛屼絾榪欎釜棰樺姞娣變簡鎴戝瀹規枼鍘熺悊鐨勭悊瑙o紝鎵浠ヨ涓涓?/p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">榪欎釜棰樼殑綆楁硶鏄釜浼欏瑰紡</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">棣栧厛錛屽厛灝嗙畻娉曟祦紼嬭涓涓嬶紝鍘熺悊鍚庨潰浼氭湁</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">Step 1錛氱敤絳涙硶絳涘嚭10000鍐呯殑绱犳暟琛?/p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">Step 2錛氱粍鍚堢礌鏁幫紝鐢╞ool鏁扮粍璁板綍鐢眒(m<=5)涓礌鏁扮浉涔樻墍寰楁暟鐨刴鐨勫鍋?/p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">渚嬪錛?82=2*7*13 ———> m=3 so錛宐ool[182]=false</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">            2=2 ——>m=1 so錛宐ool[2]=false</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">            91=7*13 ——>m=2 so錛宐ool[91]=true</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">            娉ㄦ剰12=2^2*3絳夎繖縐嶆槸B=p1^k1*p2^k2+...榪欑鏈夎川鍥犳暟鎸囨暟涓嶄負涓鐨勫悎鏁頒笉瑕佸鐞嗗洜涓轟笉浼氱敤鍒?/p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">浠ヤ笂鏄澶勭悊</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">Step 3錛氳鍏ュ綋鍓嶆暟涓篴錛屽皢a鍒嗚В涓鴻川鍥犳暟褰㈠紡錛屾敞鎰忔瘡涓川鍥犳暟鍙璁板綍涓嬈?/p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">渚嬪錛?2=2*2*3 鍒?12浼氳鍒嗕負2*3錛屽浣欑殑2琚秷鍘諱簡</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">Step 4錛氬皢鍒嗗嚭鐨勭礌鏁拌繘琛岀粍鍚堬紝灝嗙粍鍚堝嚭鐨刟鐨勭害鏁扮殑time+1</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">渚嬪錛?2=2^2*3——>12=2*3——>time[2]++,time[3]++,time[6]++</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">Step 5錛氬鐞嗕箣鍚庯紝ans璧嬪間負C(n,4)鍗硁*(n-1)*(n-2)*(n-3)div 24</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">Step 6錛歠or i 2-->10000</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">                if bool[i] then ans:=ans-C(time[i],4)</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">                               else ans:=and+C(time[i],4);</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">Step 7錛氳緭鍑篴ns</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; "><br /></p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">鍘熺悊錛氶鍏堣冭檻涓涓棶棰橈紝1000浠ュ唴6,7,8,9鐨勫嶆暟鏈夊灝戜釜錛熺瓟妗堟槸</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">1000div6+1000div7+1000div8+1000div9</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">-1000div(6*7)-1000div(6*8)-1000div(6*9)-1000div(7*8)-1000div(7*9)-1000div(8*9)</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">+1000div(6*7*8)+1000div(6*8*9)+1000div(7*8*9)</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">-1000div(6*7*8*9)</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">榪欐槸瀹規枼鍘熺悊鐨勪竴涓渶綆鍗曠殑搴旂敤錛岀被姣旇繖閬撻錛孲tep3鍒?鍏跺疄灝嗘瘡涓暟a鐨勪笉閲嶅綰︽暟璁板綍浜嗕笅鏉ワ紝鏈夊叕鍏辯害鏁扮殑鍥涗釜鏁扮殑鏂規瑕佷粠ans涓噺鍘伙紝澶氬噺鐨勮鍔犱笂</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">鏄劇劧m涓哄鏃惰鍑忥紝m涓哄伓鏃惰鍔狅紝榪欏拰”1000浠ュ唴6,7,8,9鐨勫嶆暟鏈夊灝戜釜錛?#8220;榪欎釜闂濂囧伓鏄弽鐨勶紝鐢變簬a鏈澶т負10000錛屾墍浠鏈澶у彲浠ユ湁5 (2*3*5*7*11<10000,2*3*5*7*11*13>10000)</p><p style="color: #333333; font-family: Arial; line-height: 26px; text-align: left; background-color: #ffffff; ">鑷充簬12=2*2*3榪欑綰︽暟涓嶅鐞嗗洜涓哄彲浠ュ垎涓?*6錛岃?鍜?浼氱畻涓嬈★紝鎵浠ヤ笉欏誨啀綆椼?/p></fieldset><br />浠g爜錛?br /><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: #008080; "> 1</span> # include <cstdio><br /><span style="color: #008080; "> 2</span> # include <map><br /><span style="color: #008080; "> 3</span> # include <cstring><br /><span style="color: #008080; "> 4</span> # include <algorithm><br /><span style="color: #008080; "> 5</span> <span style="color: #0000FF; ">using</span> <span style="color: #0000FF; ">namespace</span> std;<br /><span style="color: #008080; "> 6</span> <span style="color: #0000FF; ">int</span> pa[2000],pp=0,sa[10],sp=0;<br /><span style="color: #008080; "> 7</span> <span style="color: #0000FF; ">int</span> refer[5][10001];<br /><span style="color: #008080; "> 8</span> <span style="color: #0000FF; ">void</span> make_prime()<br /><span style="color: #008080; "> 9</span> {<br /><span style="color: #008080; ">10</span>     <span style="color: #0000FF; ">bool</span> used[10001];<br /><span style="color: #008080; ">11</span>     memset(used,<span style="color: #0000FF; ">true</span>,<span style="color: #0000FF; ">sizeof</span>(used));<br /><span style="color: #008080; ">12</span>     <span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span> i=2;i<=10000;i++)<br /><span style="color: #008080; ">13</span>          <span style="color: #0000FF; ">if</span>(used[i])<br /><span style="color: #008080; ">14</span>          {<br /><span style="color: #008080; ">15</span>              pa[pp++]=i;<br /><span style="color: #008080; ">16</span>              <span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span> j=2*i;j<=10000;j+=i)<br /><span style="color: #008080; ">17</span>                 used[j]=<span style="color: #0000FF; ">false</span>;<br /><span style="color: #008080; ">18</span>          }<br /><span style="color: #008080; ">19</span> }<br /><span style="color: #008080; ">20</span> <span style="color: #0000FF; ">void</span> spilt(<span style="color: #0000FF; ">int</span> n)<br /><span style="color: #008080; ">21</span> {<br /><span style="color: #008080; ">22</span>     sp=0;<br /><span style="color: #008080; ">23</span>     <span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span> i=0;i<pp&&n!=1;i++)<br /><span style="color: #008080; ">24</span>         <span style="color: #0000FF; ">if</span>(n%pa[i]==0)<br /><span style="color: #008080; ">25</span>         {<br /><span style="color: #008080; ">26</span>             sa[sp++]=pa[i];<br /><span style="color: #008080; ">27</span>             <span style="color: #0000FF; ">while</span>(n%pa[i]==0)<br /><span style="color: #008080; ">28</span>                 n/=pa[i];<br /><span style="color: #008080; ">29</span>         }<br /><span style="color: #008080; ">30</span> }<br /><span style="color: #008080; ">31</span> <span style="color: #0000FF; ">void</span> putmap(<span style="color: #0000FF; ">int</span> n)<br /><span style="color: #008080; ">32</span> {<br /><span style="color: #008080; ">33</span>     spilt(n);<br /><span style="color: #008080; ">34</span>     <span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span> i=1;i<(1<<sp);i++)<br /><span style="color: #008080; ">35</span>     {<br /><span style="color: #008080; ">36</span>         <span style="color: #0000FF; ">int</span> n1=0,n2=1;<br /><span style="color: #008080; ">37</span>         <span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span> j=0;j<5;j++)<br /><span style="color: #008080; ">38</span>             <span style="color: #0000FF; ">if</span>(i&(1<<j))<br /><span style="color: #008080; ">39</span>                 n1++,n2*=sa[j];<br /><span style="color: #008080; ">40</span>         refer[n1-1][n2]++;<br /><span style="color: #008080; ">41</span>     }<br /><span style="color: #008080; ">42</span> }<br /><span style="color: #008080; ">43</span> <span style="color: #0000FF; ">long</span> <span style="color: #0000FF; ">long</span> c(<span style="color: #0000FF; ">int</span> n)<br /><span style="color: #008080; ">44</span> {<br /><span style="color: #008080; ">45</span>     <span style="color: #0000FF; ">return</span> (<span style="color: #0000FF; ">long</span> <span style="color: #0000FF; ">long</span>)n*(n-1)*(n-2)*(n-3)/4/3/2;<br /><span style="color: #008080; ">46</span> }<br /><span style="color: #008080; ">47</span> <span style="color: #0000FF; ">long</span> <span style="color: #0000FF; ">long</span> getans(<span style="color: #0000FF; ">int</span> n)<br /><span style="color: #008080; ">48</span> {<br /><span style="color: #008080; ">49</span>     <span style="color: #0000FF; ">long</span> <span style="color: #0000FF; ">long</span> ans=c(n);<br /><span style="color: #008080; ">50</span>     <span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span> i=0;i<5;i++)<br /><span style="color: #008080; ">51</span>     {<br /><span style="color: #008080; ">52</span>         <span style="color: #0000FF; ">bool</span> flag=<span style="color: #0000FF; ">false</span>;<br /><span style="color: #008080; ">53</span>         <span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span> j=1;j<=10000;j++)<br /><span style="color: #008080; ">54</span>             <span style="color: #0000FF; ">if</span>(refer[i][j]>=4)<br /><span style="color: #008080; ">55</span>                 flag=<span style="color: #0000FF; ">true</span>,<br /><span style="color: #008080; ">56</span>                 ans+=c(refer[i][j])*(i%2?1ll:-1ll);<br /><span style="color: #008080; ">57</span>         <span style="color: #0000FF; ">if</span>(!flag)<span style="color: #0000FF; ">break</span>;<br /><span style="color: #008080; ">58</span>     }<br /><span style="color: #008080; ">59</span>     <span style="color: #0000FF; ">return</span> ans;<br /><span style="color: #008080; ">60</span> }<br /><span style="color: #008080; ">61</span> <span style="color: #0000FF; ">int</span> main()<br /><span style="color: #008080; ">62</span> {<br /><span style="color: #008080; ">63</span>     <span style="color: #0000FF; ">int</span> n;<br /><span style="color: #008080; ">64</span>     make_prime();<br /><span style="color: #008080; ">65</span>     <span style="color: #0000FF; ">while</span>(scanf("%d",&n)!=EOF)<br /><span style="color: #008080; ">66</span>     {<br /><span style="color: #008080; ">67</span>         memset(refer,0,<span style="color: #0000FF; ">sizeof</span>(refer));<br /><span style="color: #008080; ">68</span>         <span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span> i=0;i<n;i++)<br /><span style="color: #008080; ">69</span>         {<br /><span style="color: #008080; ">70</span>             <span style="color: #0000FF; ">int</span> t;<br /><span style="color: #008080; ">71</span>             scanf("%d",&t);<br /><span style="color: #008080; ">72</span>             putmap(t);<br /><span style="color: #008080; ">73</span>         }<br /><span style="color: #008080; ">74</span>         printf("%lld\n",getans(n));<br /><span style="color: #008080; ">75</span>     }<br /><span style="color: #008080; ">76</span>     <span style="color: #0000FF; ">return</span> 0;<br /><span style="color: #008080; ">77</span> }</div><img src ="http://www.shnenglu.com/yzhw/aggbug/165795.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/yzhw/" target="_blank">yzhw</a> 2012-02-17 02:03 <a href="http://www.shnenglu.com/yzhw/archive/2012/02/17/165795.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>pku3903 鏈闀塊掑瀛椾覆鐨勫崟璋冩т紭鍖?/title><link>http://www.shnenglu.com/yzhw/archive/2012/02/09/165233.html</link><dc:creator>yzhw</dc:creator><author>yzhw</author><pubDate>Thu, 09 Feb 2012 11:33:00 GMT</pubDate><guid>http://www.shnenglu.com/yzhw/archive/2012/02/09/165233.html</guid><wfw:comment>http://www.shnenglu.com/yzhw/comments/165233.html</wfw:comment><comments>http://www.shnenglu.com/yzhw/archive/2012/02/09/165233.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/yzhw/comments/commentRss/165233.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/yzhw/services/trackbacks/165233.html</trackback:ping><description><![CDATA[濂戒箙涓嶅姩棰樼洰浜嗭紝浠婂ぉ鍔ㄤ簡涓棰橈紝蹇掕儗榪愶紝姝婚兘TLE錛屾兂浜嗘兂錛岀畻娉曞鏉傚害娌¢棶棰樺晩錛宯=100000錛宯logn鐨勭畻娉曟嫾1S鐨凴P鍜嬪穿婧冪殑銆傘傚悗鏉ユ兂璧蜂簡鏃犳晫鐨凱OJ瓚呯駭鎱㈤焥et錛屾棤濂堬紝涓嶆兂鏀癸紝鍒板鎼滄湁榪欓鐨凮J錛孴OJ涓婅窇浜嗕笅錛?0MS銆傘傛睏銆傘備笅杞芥暟鎹暟鎹潵鐪嬩簡鐪嬶紝灝辨槸12緇勶紝灝辨槸鏈湴debug涔熶笉浼歍LE鍟娿傘傛病鍔炴硶銆傘?br />涓嶅彂鐗㈤獨浜嗭紝璇磋榪欓鐨勬柟娉曞惂銆?br />涓鑸殑鏈闀塊掑瀛椾覆鐢╪^2鍋氬緢濂藉仛錛屽氨鏄痙p[i]=max{dp[j]+1,height[j]<height[i]}錛岃繖棰樺彲浠ョ敤鍗曡皟闃熷垪鍋氫紭鍖栵紝浣嗘槸鍜屾櫘閫氱殑鍗曡皟闃熷垪涓嶅悓錛岃鍊熷姪騫寵 鏍?br />棣栧厛錛屾垜浠煡閬擄紝瑕佺淮鎶よ繖鏍蜂竴涓崟璋冮槦鍒楋紝褰揾eight[i]<height[j]鏃訛紝瑕佹湁dp[i]<dp[j]錛屽惁鍒欑殑璇濓紝status{(j,height[j])}榪欎釜鐘舵佷互鍚庝笉浼氭帹寰楁渶浼樿В錛屽彲浠ュ垹闄ゃ傝繖棰橀夯鐑﹀氨楹葷儲鍐峢eight涓嶆槸涓崟璋冪殑鍑芥暟錛岄殢鐫i鐨勫澶э紙灝辨槸娌跨潃DP鏂瑰悜璁$畻錛夋椂錛宧eight涓嶈兘淇濊瘉涔熸槸閫掑鐨勶紝鏈ㄦ湁鍔炴硶錛屽彧鑳界淮鎶や竴涓鉤琛℃爲閭f牱鐨勪笢瑗褲?br />閭d箞鏇存柊榪囩殑DP鏂圭▼灝辨槸<br />dp[i]=dp[j]+1,j涓烘弧瓚砲eight[j]<height[i]鐨勬渶鍚庝竴涓厓绱?br />鐒跺悗鏇存柊鍗曡皟闃熷垪鐨勭瓥鐣ユ槸鎶婂綋鍓嶅喅絳栧姞鍏ュ崟璋冮槦鍒楅噷錛岀劧鍚庡線鍚庡垹闄p[i]>=dp[j]騫朵笖height[i]<height[j]鐨剆tatue{j}銆?br />姣忎釜鍏冪礌鏈澶氬叆闃熶竴嬈★紝鍑洪槦涓嬈★紝鎵浠ユ誨緱澶嶆潅搴(nlogn)<br />鎴戞槸鍏ㄩ儴鐢╯et瀹炵幇鐨勶紝杞繪澗濂界渷<br /><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: #008080; "> 1</span> # include <cstdio><br /><span style="color: #008080; "> 2</span> # include <<span style="color: #0000FF; ">set</span>><br /><span style="color: #008080; "> 3</span> <span style="color: #0000FF; ">using</span> <span style="color: #0000FF; ">namespace</span> std;<br /><span style="color: #008080; "> 4</span> <span style="color: #0000FF; ">struct</span> node<br /><span style="color: #008080; "> 5</span> {<br /><span style="color: #008080; "> 6</span>    <span style="color: #0000FF; ">int</span> height,id;<br /><span style="color: #008080; "> 7</span>    node(<span style="color: #0000FF; ">int</span> h,<span style="color: #0000FF; ">int</span> i):height(h),id(i){}<br /><span style="color: #008080; "> 8</span>    <span style="color: #0000FF; ">bool</span> <span style="color: #0000FF; ">operator</span><(<span style="color: #0000FF; ">const</span> node &pos) <span style="color: #0000FF; ">const</span><br /><span style="color: #008080; "> 9</span>    {<br /><span style="color: #008080; ">10</span>        <span style="color: #0000FF; ">if</span>(height!=pos.height) <span style="color: #0000FF; ">return</span> height<pos.height;<br /><span style="color: #008080; ">11</span>        <span style="color: #0000FF; ">else</span> <span style="color: #0000FF; ">return</span> id<pos.id;<br /><span style="color: #008080; ">12</span>    }<br /><span style="color: #008080; ">13</span> };<br /><span style="color: #008080; ">14</span> <span style="color: #0000FF; ">set</span><node> q;<br /><span style="color: #008080; ">15</span> <span style="color: #0000FF; ">int</span> dp[100005];<br /><span style="color: #008080; ">16</span> <span style="color: #0000FF; ">int</span> main()<br /><span style="color: #008080; ">17</span> {<br /><span style="color: #008080; ">18</span>      <span style="color: #0000FF; ">int</span> n;<br /><span style="color: #008080; ">19</span>      <span style="color: #0000FF; ">while</span>(scanf("%d",&n)!=EOF)<br /><span style="color: #008080; ">20</span>      {<br /><span style="color: #008080; ">21</span>         q.clear();<br /><span style="color: #008080; ">22</span>         <span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span> i=0;i<n;i++)<br /><span style="color: #008080; ">23</span>         {<br /><span style="color: #008080; ">24</span>             <span style="color: #0000FF; ">int</span> t;<br /><span style="color: #008080; ">25</span>             scanf("%d",&t);<br /><span style="color: #008080; ">26</span>             <span style="color: #0000FF; ">set</span><node>::iterator it=q.lower_bound(node(t,-1));<br /><span style="color: #008080; ">27</span>             <span style="color: #0000FF; ">int</span> ans;<br /><span style="color: #008080; ">28</span>             <span style="color: #0000FF; ">if</span>(it==q.begin())<br /><span style="color: #008080; ">29</span>               ans=1;<br /><span style="color: #008080; ">30</span>             <span style="color: #0000FF; ">else</span><br /><span style="color: #008080; ">31</span>               ans=dp[(--it)->id]+1;<br /><span style="color: #008080; ">32</span>             it=q.lower_bound(node(t,-1));<br /><span style="color: #008080; ">33</span>             <span style="color: #0000FF; ">if</span>(it!=q.end()&&it->height==t) <br /><span style="color: #008080; ">34</span>                  it=q.erase(it);<br /><span style="color: #008080; ">35</span>             <span style="color: #0000FF; ">while</span>(it!=q.end()&&dp[it->id]<=ans) <br /><span style="color: #008080; ">36</span>                  it=q.erase(it);<br /><span style="color: #008080; ">37</span>             q.insert(node(t,i)); <br /><span style="color: #008080; ">38</span>             dp[i]=ans;<br /><span style="color: #008080; ">39</span>         }<br /><span style="color: #008080; ">40</span>         printf("%d\n",dp[q.rbegin()->id]);<br /><span style="color: #008080; ">41</span>      }<br /><span style="color: #008080; ">42</span>      <span style="color: #0000FF; ">return</span> 0;<br /><span style="color: #008080; ">43</span> }<br /><span style="color: #008080; ">44</span> </div><img src ="http://www.shnenglu.com/yzhw/aggbug/165233.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/yzhw/" target="_blank">yzhw</a> 2012-02-09 19:33 <a href="http://www.shnenglu.com/yzhw/archive/2012/02/09/165233.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>pku 3943 Digits on the Floor 騫舵煡闆嗙殑媧葷敤錛堥噸鐐癸級+鏁板瓧璇嗗埆http://www.shnenglu.com/yzhw/archive/2012/01/14/164184.htmlyzhwyzhwSat, 14 Jan 2012 11:57:00 GMThttp://www.shnenglu.com/yzhw/archive/2012/01/14/164184.htmlhttp://www.shnenglu.com/yzhw/comments/164184.htmlhttp://www.shnenglu.com/yzhw/archive/2012/01/14/164184.html#Feedback0http://www.shnenglu.com/yzhw/comments/commentRss/164184.htmlhttp://www.shnenglu.com/yzhw/services/trackbacks/164184.html棣栧厛榪欓錛屾秹鍙婂埌騫舵煡闆嗙殑榪愮敤銆傚紑濮嬬姱浜嗕釜寰堢硦娑傜殑閿欒錛屾湰棰樻柊鍔犱笂涓鏉$嚎孌靛彲鑳介犳垚2縐嶆儏鍐?br />1銆丄 - C錛屾柊鍔犵嚎涓篊錛屽氨鏄妸C榪炴帴鍒版煇涓爲鏋濅笂
2銆丄-C-B錛岃繖縐嶆儏鍐佃冭檻婕忎簡錛屽氨鏄氳繃C榪欎釜綰挎妸淇╀釜涓嶈繛閫氱殑闆嗗悎緇欐墦閫氫簡
鍏蜂綋浠g爜搴旇鏄繖鏍?br />for(int j=0;j<now;j++)
    if(find(now)!=find(j)&&cross(now,j))
          set[find(now)]=find(j);
寮濮嬬硦娑傝泲鐨勫啓鎴愪簡
for(int j=0;j<now;j++)
      if(cross(now,j))
         set[now]=find(j),break;
榪欎釜灝辨槸鍙冭檻浜嗙涓縐嶆儏鍐點?br />
鍏充簬鏁板瓧璇嗗埆鐨勯棶棰樺氨濂藉姙澶氫簡錛屼富瑕佹牴鎹儴鍒嗙浉浜ゅ拰鐐圭浉浜ょ殑鏁扮洰浠ュ強鑱旈氶泦涓嚎孌電殑鏁扮洰鏉ュ垽鏂暟瀛楋紙5鍜?榪樿鏍規嵁鍙夌Н鍐嶆潵寮勪笅錛夛紝榪欓鍙楃泭鏈娣辯殑灝辨槸騫舵煡闆嗛偅閲岋紝瀹規槗鐘殑閿欒銆?br />
浠g爜濡備笅錛?br />
  1 Source Code
  2 
  3 Problem: 3943        User: yzhw
  4 Memory: 656K        Time: 188MS
  5 Language: G++        Result: Accepted
  6 Source Code
  7 # include <cstdio>
  8 # include <vector>
  9 # include <cstring>
 10 # include <map>
 11 using namespace std;
 12 # define N 1005
 13 # define min(a,b) ((a)<(b)?(a):(b))
 14 # define max(a,b) ((a)>(b)?(a):(b))
 15 struct line
 16 {
 17     int x1,y1,x2,y2;
 18 }l[N];
 19 bool in(int x,int y,const line &pos)
 20 {
 21     if(x>=min(pos.x1,pos.x2)&&x<=max(pos.x1,pos.x2)&&
 22        y>=min(pos.y1,pos.y2)&&y<=max(pos.y1,pos.y2)&&
 23        (pos.y2-pos.y1)*(pos.x2-x)==(pos.x2-pos.x1)*(pos.y2-y))
 24        return true;
 25     else return false;
 26 }
 27 int cross(const line &a,const line &b)
 28 {
 29     if(a.x1==b.x1&&a.y1==b.y1||
 30         a.x2==b.x1&&a.y2==b.y1||
 31         a.x1==b.x2&&a.y1==b.y2||
 32         a.x2==b.x2&&a.y2==b.y2) return 1;
 33     else if(in(a.x1,a.y1,b)||in(a.x2,a.y2,b)||in(b.x1,b.y1,a)||in(b.x2,b.y2,a)) return 2;
 34     else return 0;
 35 }
 36 int cross(int x1,int y1,int x2,int y2)
 37 {
 38     return x1*y2-x2*y1;
 39 }
 40 struct node
 41 {
 42     vector<line> data;
 43     int type() const
 44     {
 45         int num[3]={0,0,0};
 46         for(int i=0;i<data.size();i++)
 47             for(int j=i+1;j<data.size();j++)
 48                 num[cross(data[i],data[j])]++;
 49         if(num[1]==4&&num[2]==0)
 50         {
 51             if(data.size()==4) return 0;
 52             else
 53             {
 54                 int target=-1,x1,y1,x2,y2;
 55                 for(int i=0;i<data.size();i++)
 56                 {
 57                     bool flag=true;
 58                     for(int j=0;j<data.size()&&flag;j++)
 59                         if(j!=i&&(data[i].x1==data[j].x1&&data[i].y1==data[j].y1||data[i].x1==data[j].x2&&data[i].y1==data[j].y2))
 60                             flag=false;
 61                     if(flag)
 62                     {
 63                         target=i;
 64                         x1=data[i].x2,y1=data[i].y2;
 65                         x2=data[i].x1,y2=data[i].y1;
 66                         break;
 67                     }
 68                     flag=true;
 69                     for(int j=0;j<data.size()&&flag;j++)
 70                         if(j!=i&&(data[i].x2==data[j].x1&&data[i].y2==data[j].y1||data[i].x2==data[j].x2&&data[i].y2==data[j].y2))
 71                             flag=false;
 72                     if(flag)
 73                     {
 74                         target=i;
 75                         x1=data[i].x1,y1=data[i].y1;
 76                         x2=data[i].x2,y2=data[i].y2;
 77                         break;
 78                     }
 79                 }
 80                 for(int i=0;i<data.size();i++)
 81                     if(i!=target)
 82                     {
 83                         if(data[i].x1==x1&&data[i].y1==y1)
 84                             return cross(data[i].x2-data[i].x1,data[i].y2-data[i].y1,x1-x2,y1-y2)<0?5:2;
 85                         else if(data[i].x2==x1&&data[i].y2==y1)
 86                             return cross(data[i].x1-data[i].x2,data[i].y1-data[i].y2,x1-x2,y1-y2)<0?5:2;
 87                     }
 88             }
 89             printf("wa!\n");
 90             while(true);
 91         }
 92         else if(num[1]==0&&num[2]==0)
 93             return 1;
 94         else if(num[1]==4&&num[2]==0)
 95             return 2;
 96         else if(num[1]==2&&num[2]==1)
 97             return 3;
 98         else if(num[1]==1&&num[2]==1)
 99             return 4;
100         else if(num[1]==4&&num[2]==1)
101             return 6;
102         else if(num[1]==2&&num[2]==0)
103             return 7;
104         else if(num[1]==4&&num[2]==2)
105             return 8;
106         else if(num[1]==3&&num[2]==1)
107             return 9;
108     }
109 };
110 map<int,node> data;
111 int n,set[N],ans[10];
112 int find(int pos)
113 {
114     if(set[pos]==pos) return pos;
115     else return set[pos]=find(set[pos]);
116 }
117 int main()
118 {
119     while(scanf("%d",&n)!=EOF&&n)
120     {
121         data.clear();
122         memset(ans,0,sizeof(ans));
123         for(int i=0;i<n;i++)
124         {
125             set[i]=i;
126             scanf("%d%d%d%d",&l[i].x1,&l[i].y1,&l[i].x2,&l[i].y2);
127             for(int j=0;j<i;j++)
128                 if(cross(l[i],l[j])&&find(i)!=find(j))
129                     set[find(i)]=find(j);
130         }
131         for(int i=0;i<n;i++)
132             data[find(i)].data.push_back(l[i]);
133         for(map<int,node>::iterator i=data.begin();i!=data.end();i++)
134             ans[i->second.type()]++;
135         printf("%d",ans[0]);
136         for(int i=1;i<10;i++)
137             printf(" %d",ans[i]);
138         printf("\n");
139     }
140     return 0;
141 }


yzhw 2012-01-14 19:57 鍙戣〃璇勮
]]>
pku 3998 Land Division DP鏂滅巼浼樺寲http://www.shnenglu.com/yzhw/archive/2011/10/18/158598.htmlyzhwyzhwMon, 17 Oct 2011 18:17:00 GMThttp://www.shnenglu.com/yzhw/archive/2011/10/18/158598.htmlhttp://www.shnenglu.com/yzhw/comments/158598.htmlhttp://www.shnenglu.com/yzhw/archive/2011/10/18/158598.html#Feedback1http://www.shnenglu.com/yzhw/comments/commentRss/158598.htmlhttp://www.shnenglu.com/yzhw/services/trackbacks/158598.html闃呰鍏ㄦ枃

yzhw 2011-10-18 02:17 鍙戣〃璇勮
]]>
HDU 3682 To Be an Dream Architect 瀹規枼鍘熺悊http://www.shnenglu.com/yzhw/archive/2011/10/03/157376.htmlyzhwyzhwSun, 02 Oct 2011 16:06:00 GMThttp://www.shnenglu.com/yzhw/archive/2011/10/03/157376.htmlhttp://www.shnenglu.com/yzhw/comments/157376.htmlhttp://www.shnenglu.com/yzhw/archive/2011/10/03/157376.html#Feedback0http://www.shnenglu.com/yzhw/comments/commentRss/157376.htmlhttp://www.shnenglu.com/yzhw/services/trackbacks/157376.html姣忔鍙互鍒犻櫎涓涓湪鏉=?,y=?鎴栬厁=?,z=?鎴栬厃=?,z=?錛屾眰鏈鍚庡垹闄ょ殑鏈ㄥ潡鎬繪暟
錛?img src="http://acm.hdu.edu.cn/data/images/3682-1.gif" alt="" />
寮濮嬪啓鐨勬椂鍊欏嚭鐜頒釜BUG錛屾棤濂堬紝涓婄綉鎵鵑瑙o紝鏇存棤濂堬紝閮芥槸浜涘嚑鍙ヨ瘽hash鐒跺悗灝辨槸涓鍫嗛毦鎳傜殑浠g爜銆傘?br />鍚庢潵浠旂粏鎯充簡鎯籌紝鎶婇噸澶嶇殑鎿嶄綔鍘婚櫎鍚庯紙灝辨槸涓ゆ鍒犻櫎鐨勫悓涓涓湪鏉★級錛屼笅闈㈠氨鏄釜寰堢畝鍗曠殑瀹規枼鍘熺悊浜?br />鍥犱負鍘婚櫎浜嗛噸澶嶆搷浣滐紝涓涓湪鍧楁渶澶氳鍒犻櫎3嬈★紝鐒跺悗鍒犻櫎鐨勪釜鏁板氨涓鴻鍒犻櫎鑷沖皯涓嬈$殑涓暟-鍒犻櫎鑷沖皯涓ゆ鐨勪釜鏁?鍒犻櫎鑷沖皯3嬈$殑涓暟銆備笉鑳藉己琛屾灇涓撅紝鍙互鐢╩ap鎴栬呬紶璇翠腑鐨刪ash璁板綍琚垹闄ゆ帀鏈ㄥ潡鐨勬鏁般傝繖閲岋紝鐢變簬鎿嶄綔鏈澶歮=1000錛屽垹闄ゆ湪鍧楁暟鏈澶氫負C(m,2)錛岀劧鍚庝袱涓ゆ灇涓炬搷浣滐紝鎶婄浉浜ゆ湪鍧楀垹闄ゆ鏁?1錛岀劧鍚庢渶鍚巑ap涓墍鏈夋湪鍧楀垹闄ゆ鏁板彧鑳芥湁2涓鹼細1鍜?錛屽綋鍊間負1鏃訛紝total-1,鍊間負3鏃訛紝total-2
涓轟粈涔堬紵鍥犱負鎴戣浜嗭紝涓涓湪鍧楁渶澶氳鍒犻櫎3嬈★紝鐒跺悗淇╀咯鏋氫婦鐨勬椂鍊欙紝浣犳噦鐨勩?br />
 1 # include <cstdio>
 2 # include <utility>
 3 # include <cstring>
 4 # include <algorithm>
 5 # include <functional>
 6 # include <set>
 7 # include <cstdlib>
 8 # include <map>
 9 using namespace std;
10 struct node
11 {
12     int p[3];
13     bool operator<(const node &pos) const
14     {
15         for(int i=0;i<3;i++)
16             if(p[i]!=pos.p[i]) 
17                 return p[i]<pos.p[i];
18         return false;
19     }
20 };
21 pair<int,int> data[1000][2];
22 set<pair<pair<int,int>,pair<int,int> > > r1;
23 map<node,int> r2;
24 int main()
25 {
26     int test;
27     scanf("%d",&test);
28     while(test--)
29     {
30        int n,m,p=0;
31        char str[128];
32        scanf("%d%d",&n,&m);
33        r1.clear();r2.clear();
34        while(m--)
35        {
36            scanf("%s",str);
37            char *t=strtok(str,",");
38            data[p][0].first=(*t)-'X';
39            data[p][0].second=atoi(t+2);
40            t=strtok(NULL," ");
41            data[p][1].first=(*t)-'X';
42            data[p][1].second=atoi(t+2);
43            if(data[p][0].first>data[p][1].first) swap(data[p][0],data[p][1]);
44            pair< pair<int,int>,pair<int,int> > tt;
45            tt.first=data[p][0];
46            tt.second=data[p][1];
47            if(data[p][0].second>=1&&data[p][0].second<=n&&data[p][1].second>=1&&data[p][1].second<=n&&r1.find(tt)==r1.end()) p++,r1.insert(tt);
48        }
49        m=p;
50        for(int i=0;i<m;i++)
51         for(int j=i+1;j<m;j++)
52           if(data[i][0]==data[j][0]&&data[i][1].first!=data[j][1].first||
53              data[i][1]==data[j][0]&&data[i][0].first!=data[j][1].first||
54              data[i][0]==data[j][1]&&data[i][1].first!=data[j][0].first||
55              data[i][1]==data[j][1]&&data[i][0].first!=data[j][0].first)
56           {
57               node t;
58               t.p[data[i][0].first]=data[i][0].second;
59               t.p[data[i][1].first]=data[i][1].second;
60               t.p[data[j][0].first]=data[j][0].second;
61               t.p[data[j][1].first]=data[j][1].second;
62               r2[t]++;
63           }
64        int total=m*n;
65        for(map<node,int>::iterator i=r2.begin();i!=r2.end();i++)
66            if(i->second==1) total--;
67            else total-=2;
68        printf("%d\n",total);
69     }
70     //system("pause");
71     return 0;
72 
73 


yzhw 2011-10-03 00:06 鍙戣〃璇勮
]]>
2010 澶╂觸璧涘尯G hdu 3726 splay http://www.shnenglu.com/yzhw/archive/2011/09/30/157191.htmlyzhwyzhwFri, 30 Sep 2011 00:51:00 GMThttp://www.shnenglu.com/yzhw/archive/2011/09/30/157191.htmlhttp://www.shnenglu.com/yzhw/comments/157191.htmlhttp://www.shnenglu.com/yzhw/archive/2011/09/30/157191.html#Feedback0http://www.shnenglu.com/yzhw/comments/commentRss/157191.htmlhttp://www.shnenglu.com/yzhw/services/trackbacks/157191.html闃呰鍏ㄦ枃

yzhw 2011-09-30 08:51 鍙戣〃璇勮
]]>
2010 ICPC澶╂觸璧涘尯 J hdu 3727 鍒掑垎鏍戠殑鐞嗚Вhttp://www.shnenglu.com/yzhw/archive/2011/09/30/157189.htmlyzhwyzhwFri, 30 Sep 2011 00:44:00 GMThttp://www.shnenglu.com/yzhw/archive/2011/09/30/157189.htmlhttp://www.shnenglu.com/yzhw/comments/157189.htmlhttp://www.shnenglu.com/yzhw/archive/2011/09/30/157189.html#Feedback0http://www.shnenglu.com/yzhw/comments/commentRss/157189.htmlhttp://www.shnenglu.com/yzhw/services/trackbacks/157189.html鎸夌収鎴戠殑鐞嗚В錛屽垝鍒嗘爲鍗充竴涓嚎孌墊爲錛堢敤鏉ョ‘瀹氭暟緇勪笅鏍囧拰灞傛錛変互鍙婁竴涓猯og2(n)*n鐨勬暟緇勶紝鏉ヨ褰曞垝鍒嗕俊鎭?br />榪欓瀹炵幇4涓搷浣滐細
1銆佹彃鍏?br />鎸夌収鍒掑垎鏍戠殑瀹氫箟錛屽鏋滃皬浜庢湁搴忚〃涓腑闂磋妭鐐圭殑鍊鹼紝灝遍掑綊鎻掑叆宸﹀瓙鏍戯紝鍚﹀垯閫掑綊鎻掑叆鍙沖瓙鏍戙傛洿鏂板綋鍓嶅尯闂存鐨勫垝鍒嗕俊鎭紙鏃犻潪灝辨槸寰鍚庤綆椾竴涓級
2銆佽闂畇,e鍖洪棿絎琸灝忔暟
鏌ヨs,e鍖洪棿閲岄潰鍒掑垎鍒板乏瀛愭爲鐨勪釜鏁癷錛屽鏋渋>=k錛岄偅涔堟樉鐒墮掑綊鍒板乏瀛愭爲鏌ヨ錛屽惁鍒欏氨鏄掑綊鍒板彸瀛愭爲鏌ヨk-i灝忕殑鏁般傛敞鎰忥紒榪欓噷瑕侀噸鏂板畾浣嶅乏瀛愭爲鍜屽彸瀛愭爲涓殑鍖洪棿錛岀敱浜庢槸闂尯闂達紝閭d箞鍋氱鐐逛負s+sum(s-1),鍙崇鐐逛負s+sum(e)-1錛岃繖涓噺涓涓簡銆傘傝皟浜嗘垜鍗婂ぉ銆傘傚搸銆傘備互鍓嶅啓閮芥槸宸﹂棴鍙沖紑鍖洪棿鐨勶紝緇撴灉涔犳儻浜嗐傘?br />3銆佹煡璇㈠間負k鐨勬暟鐨勪綅嬈?br />榪欎釜闇瑕佷竴涓緟鍔╂暟緇勶紝璁板綍鍊間負k鐨勬暟鎻掑湪鏈欏跺眰鍖洪棿鐨勫摢涓綅緗簡銆傝繖涓姙濂藉悗錛屽氨瀹規槗浜嗭紝濡傛灉鏁拌鍒掑垎鍒頒簡宸﹀瓙鏍戯紝閭d箞閫掑綊鏌ヨ宸﹀瓙鏍戯紝鍚﹀垯榪斿洖閫掑綊鏌ヨ鍙沖瓙鏍戠殑鍊煎姞涓婂綋鍓嶅尯闂磋鍒掑垎鍒板乏瀛愭爲鐨勪釜鏁?br />4銆佹煡璇ank k鐨勬暟
鍚屾牱鏄繖鏍鳳紝濡傛灉褰撳墠鍖洪棿琚垝鍒嗗埌宸﹀瓙鏍戠殑涓暟灝忎簬絳変簬k錛岄偅涔堥掑綊鏌ヨ宸﹀瓙鏍戯紝鍚﹀垯閫掑綊鏌ヨ鍙沖瓙鏍戜腑rank涓簁-宸﹀瓙鏍戠殑size銆?br />澶ф鎬濇兂灝辨槸榪欐牱浜嗭紝瀹炵幇鏈夊緢澶氱粏鑺傦紝姣斿璇村亣璁緋==鍖洪棿宸︾鐐癸紙宸﹀尯闂存湪鏈夋暟錛夛紝閭d箞綆梥um(p-1)鐨勬椂鍊欏氨瑕佺壒鍒や笅浜嗐傛垜鍠滄鐢ㄤ笁鍏冨紡錛屽緢鏂逛究銆?br />
浠g爜
# include <cstdio>
# include <cstring>
# include <map>
using namespace
std;
# define N 100005
int arr[20][N];
struct
node
{

   int
s,e,layer;
   int
c;
}
st[4*N];
int
q[500000][4],c;
int
remap[N],position[N];
map<int,int> refer;
void
init(int s,int e,int layer,int pos=1)
{

    st[pos].s=s;st[pos].e=e;
    st[pos].layer=layer;
    st[pos].c=st[pos].s;
    if
(s!=e) init(s,(s+e)/2,layer+1,pos<<1),init((s+e)/2+1,e,layer+1,(pos<<1)+1);
}

void
insert(int value,int pos=1)
{

     if
(st[pos].s==st[pos].e)
        arr[st[pos].layer][st[pos].c++]=value;
     else

     {

         if
(value<=(st[pos].s+st[pos].e)/2)
         {

             arr[st[pos].layer][st[pos].c]=(st[pos].c==st[pos].s?0:arr[st[pos].layer][st[pos].c-1])+1;
             st[pos].c++;
             insert(value,pos<<1);
         }

         else

         {

             arr[st[pos].layer][st[pos].c]=(st[pos].c==st[pos].s?0:arr[st[pos].layer][st[pos].c-1]);
             st[pos].c++;
             insert(value,(pos<<1)+1);
         }
     }
}

int
q1(int s,int t,int k,int pos=1)
{

    if
(st[pos].s==st[pos].e)
        return
  remap[arr[st[pos].layer][st[pos].s]];
    else

    {

        if
(arr[st[pos].layer][t]-(s==st[pos].s?0:arr[st[pos].layer][s-1])>=k)//left
            return q1(st[pos].s+(s==st[pos].s?0:arr[st[pos].layer][s-1]),st[pos].s+arr[st[pos].layer][t]-1,k,pos<<1);
        else
//right
        {
            k-=arr[st[pos].layer][t]-(s==st[pos].s?0:arr[st[pos].layer][s-1]);
            return
q1((st[pos].s+st[pos].e)/2+1+s-1-st[pos].s+1-(s==st[pos].s?0:arr[st[pos].layer][s-1]),(st[pos].s+st[pos].e)/2+1+t-st[pos].s+1-arr[st[pos].layer][t]-1,k,(pos<<1)+1);
        }
    }
}

int
q2(int s,int pos=1)
{

    if
(st[pos].s==st[pos].e) return 1;
    else if
(arr[st[pos].layer][s]-(s==st[pos].s?0:arr[st[pos].layer][s-1]))
      return
q2(st[pos].s+arr[st[pos].layer][s]-1,pos<<1);
    else
      return
(st[pos].c==st[pos].s?0:arr[st[pos].layer][st[pos].c-1])+q2((st[pos].s+st[pos].e)/2+1+s-st[pos].s+1-arr[st[pos].layer][s]-1,(pos<<1)+1);
}

int
q3(int k,int pos=1)
{

    if
(st[pos].s==st[pos].e) return remap[arr[st[pos].layer][st[pos].s]];
    else if
(k<=(st[pos].c==st[pos].s?0:arr[st[pos].layer][st[pos].c-1])) return q3(k,pos<<1);
    else return
q3(k-(st[pos].s==st[pos].c?0:arr[st[pos].layer][st[pos].c-1]),(pos<<1)+1);
}

int
main()
{

    int
n,test=1;
    while
(scanf("%d",&n)!=EOF)
    {

       refer.clear();c=1;
       memset(arr,0,sizeof(arr));
       for
(int i=0;i<n;i++)
       {

           char
tmp[12];
           scanf("%s",tmp);
           if
(*tmp=='I')
             q[i][0]=0;
           else
q[i][0]=tmp[6]-48;
           switch
(q[i][0])
           {

           case
0:
                scanf("%d",&q[i][1]);
                refer[q[i][1]]=0;
                break
;
           case
1:
                scanf("%d%d%d",&q[i][1],&q[i][2],&q[i][3]);
                break
;
           default
:
                scanf("%d",&q[i][1]);
                break
;
           };
       }

       for
(map<int,int>::iterator i=refer.begin();i!=refer.end();i++)
         remap[c]=i->first,i->second=c++;
       init(1,c-1,0);
       long long
t[4]={0,0,0,0};
       int
now=1;
       for
(int i=0;i<n;i++)
         switch
(q[i][0])
         {

           case
0:
                insert(refer[q[i][1]]);
                position[refer[q[i][1]]]=now++;
                break
;
           case
1:
                t[1]+=q1(q[i][1],q[i][2],q[i][3]);
                break
;
           case
2:
                t[2]+=q2(position[refer[q[i][1]]]);
                break
;
           case
3:
                t[3]+=q3(q[i][1]);
                break
;
         };

       printf("Case %d:\n%I64d\n%I64d\n%I64d\n",test++,t[1],t[2],t[3]);
    }

    return
0;
}



yzhw 2011-09-30 08:44 鍙戣〃璇勮
]]>
18禁黄久久久AAA片| 97视频久久久| 久久免费线看线看| 国产免费福利体检区久久| 国产伊人久久| 久久精品国产亚洲综合色 | 久久久久亚洲AV无码观看| 久久人妻少妇嫩草AV蜜桃| 欧美噜噜久久久XXX| 国产精品美女久久久免费| 一97日本道伊人久久综合影院| 亚洲午夜精品久久久久久app| 蜜臀av性久久久久蜜臀aⅴ| 久久精品国产亚洲7777| 久久久久久A亚洲欧洲AV冫| 色偷偷偷久久伊人大杳蕉| 99久久免费只有精品国产| 久久频这里精品99香蕉久| 久久久久无码精品国产不卡| 久久精品国产WWW456C0M| 国产精品99久久99久久久| 久久久久亚洲av毛片大| 久久99中文字幕久久| 亚洲国产精品久久久天堂| 久久久免费观成人影院| 91久久福利国产成人精品| 99精品久久久久久久婷婷| 狠狠色丁香婷婷综合久久来来去| 久久精品国产第一区二区三区| 国产一区二区三区久久| 久久ww精品w免费人成| 久久久这里有精品| 热久久视久久精品18| 久久九九免费高清视频| 97香蕉久久夜色精品国产 | 久久久久一本毛久久久| 性做久久久久久久久| 国产 亚洲 欧美 另类 久久| 亚洲国产欧美国产综合久久| 91麻豆国产精品91久久久| 热久久视久久精品18|