锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美刺激性大交免费视频,欧美日韩第一页,狠狠色综合网站久久久久久久http://m.shnenglu.com/yzhw/姹熻嫃澶уzh-cnSun, 16 Nov 2025 15:15:15 GMTSun, 16 Nov 2025 15:15:15 GMT60pku3908 騫舵煡闆嗙殑涓鐐瑰皬鍙橀?/title><link>http://m.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://m.shnenglu.com/yzhw/archive/2012/02/22/166244.html</guid><wfw:comment>http://m.shnenglu.com/yzhw/comments/166244.html</wfw:comment><comments>http://m.shnenglu.com/yzhw/archive/2012/02/22/166244.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/yzhw/comments/commentRss/166244.html</wfw:commentRss><trackback:ping>http://m.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="hvzpftn" class="sh_preproc" style="color: #00008b; font-weight: bold; "># include</span> <span id="hvzpftn" class="sh_string" style="color: red; font-family: monospace; "><cstdio></span> <span id="hvzpftn" class="sh_preproc" style="color: #00008b; font-weight: bold; "># define</span> N <span id="hvzpftn" class="sh_number" style="color: purple; ">100000</span> <span id="hvzpftn" class="sh_keyword" style="color: blue; font-weight: bold; ">using</span> <span id="hvzpftn" class="sh_keyword" style="color: blue; font-weight: bold; ">namespace</span> std<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="hvzpftn" class="sh_type" style="color: #006400; ">int</span> set<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">[</span>N<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">],</span>id<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">[</span>N<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">];</span> <span id="hvzpftn" class="sh_type" style="color: #006400; ">int</span> <span id="hvzpftn" class="sh_function" style="font-weight: bold; ">find</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">(</span><span id="hvzpftn" class="sh_type" style="color: #006400; ">int</span> pos<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">)</span> <span id="hvzpftn" class="sh_cbracket" style="color: red; ">{</span> <span id="hvzpftn" class="sh_keyword" style="color: blue; font-weight: bold; ">if</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">(</span>set<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">[</span>pos<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">]==</span>pos<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">)</span> <span id="hvzpftn" class="sh_keyword" style="color: blue; font-weight: bold; ">return</span> pos<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="hvzpftn" class="sh_keyword" style="color: blue; font-weight: bold; ">else</span> <span id="hvzpftn" class="sh_keyword" style="color: blue; font-weight: bold; ">return</span> set<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">[</span>pos<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">]=</span><span id="hvzpftn" class="sh_function" style="font-weight: bold; ">find</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">(</span>set<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">[</span>pos<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">]);</span> <span id="hvzpftn" class="sh_cbracket" style="color: red; ">}</span> <span id="hvzpftn" class="sh_type" style="color: #006400; ">void</span> <span id="hvzpftn" class="sh_function" style="font-weight: bold; ">uni</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">(</span><span id="hvzpftn" class="sh_type" style="color: #006400; ">int</span> a<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">,</span><span id="hvzpftn" class="sh_type" style="color: #006400; ">int</span> b<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">)</span> <span id="hvzpftn" class="sh_cbracket" style="color: red; ">{</span> set<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">[</span><span id="hvzpftn" class="sh_function" style="font-weight: bold; ">find</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">(</span>a<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">)]=</span><span id="hvzpftn" class="sh_function" style="font-weight: bold; ">find</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">(</span>b<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">);</span> <span id="hvzpftn" class="sh_cbracket" style="color: red; ">}</span> <span id="hvzpftn" class="sh_type" style="color: #006400; ">int</span> <span id="hvzpftn" class="sh_function" style="font-weight: bold; ">main</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">()</span> <span id="hvzpftn" class="sh_cbracket" style="color: red; ">{</span> <span id="hvzpftn" class="sh_type" style="color: #006400; ">int</span> num<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="hvzpftn" class="sh_keyword" style="color: blue; font-weight: bold; ">while</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">(</span><span id="hvzpftn" class="sh_function" style="font-weight: bold; ">scanf</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">(</span><span id="hvzpftn" class="sh_string" style="color: red; font-family: monospace; ">"%d"</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">,&</span>num<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">)!=</span>EOF<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">)</span> <span id="hvzpftn" class="sh_cbracket" style="color: red; ">{</span> <span id="hvzpftn" class="sh_type" style="color: #006400; ">int</span> c<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">=</span>num<span id="hvzpftn" class="sh_number" style="color: purple; ">+1</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">,</span>n1<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">=</span><span id="hvzpftn" class="sh_number" style="color: purple; ">0</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">,</span>n2<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">=</span><span id="hvzpftn" class="sh_number" style="color: purple; ">0</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="hvzpftn" class="sh_keyword" style="color: blue; font-weight: bold; ">for</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">(</span><span id="hvzpftn" class="sh_type" style="color: #006400; ">int</span> i<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">=</span><span id="hvzpftn" class="sh_number" style="color: purple; ">1</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">;</span>i<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; "><</span>N<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">;</span>i<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">++)</span> set<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">[</span>i<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">]=</span>i<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="hvzpftn" class="sh_keyword" style="color: blue; font-weight: bold; ">for</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">(</span><span id="hvzpftn" class="sh_type" style="color: #006400; ">int</span> i<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">=</span><span id="hvzpftn" class="sh_number" style="color: purple; ">1</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">;</span>i<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; "><=</span>num<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">;</span>i<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">++)</span> id<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">[</span>i<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">]=</span>i<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="hvzpftn" class="sh_type" style="color: #006400; ">char</span> jud<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">[</span><span id="hvzpftn" class="sh_number" style="color: purple; ">5</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">];</span> <span id="hvzpftn" class="sh_keyword" style="color: blue; font-weight: bold; ">while</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">(</span><span id="hvzpftn" class="sh_function" style="font-weight: bold; ">scanf</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">(</span><span id="hvzpftn" class="sh_string" style="color: red; font-family: monospace; ">"%s"</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">,</span>jud<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">)&&*</span>jud<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">!=</span><span id="hvzpftn" class="sh_string" style="color: red; font-family: monospace; ">'e'</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">)</span> <span id="hvzpftn" class="sh_cbracket" style="color: red; ">{</span> <span id="hvzpftn" class="sh_type" style="color: #006400; ">int</span> a<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">,</span>b<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="hvzpftn" class="sh_keyword" style="color: blue; font-weight: bold; ">switch</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">(*</span>jud<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">)</span> <span id="hvzpftn" class="sh_cbracket" style="color: red; ">{</span> <span id="hvzpftn" class="sh_keyword" style="color: blue; font-weight: bold; ">case</span> <span id="hvzpftn" class="sh_string" style="color: red; font-family: monospace; ">'c'</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">:</span> <span id="hvzpftn" class="sh_function" style="font-weight: bold; ">scanf</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">(</span><span id="hvzpftn" class="sh_string" style="color: red; font-family: monospace; ">"%d%d"</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">,&</span>a<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">,&</span>b<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">);</span> <span id="hvzpftn" class="sh_function" style="font-weight: bold; ">uni</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">(</span>id<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">[</span>a<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">],</span>id<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">[</span>b<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">]);</span> <span id="hvzpftn" class="sh_keyword" style="color: blue; font-weight: bold; ">break</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="hvzpftn" class="sh_keyword" style="color: blue; font-weight: bold; ">case</span> <span id="hvzpftn" class="sh_string" style="color: red; font-family: monospace; ">'d'</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">:</span> <span id="hvzpftn" class="sh_function" style="font-weight: bold; ">scanf</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">(</span><span id="hvzpftn" class="sh_string" style="color: red; font-family: monospace; ">"%d"</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">,&</span>a<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">);</span> id<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">[</span>a<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">]=</span>c<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">++;</span> <span id="hvzpftn" class="sh_keyword" style="color: blue; font-weight: bold; ">break</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="hvzpftn" class="sh_keyword" style="color: blue; font-weight: bold; ">case</span> <span id="hvzpftn" class="sh_string" style="color: red; font-family: monospace; ">'q'</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">:</span> <span id="hvzpftn" class="sh_function" style="font-weight: bold; ">scanf</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">(</span><span id="hvzpftn" class="sh_string" style="color: red; font-family: monospace; ">"%d%d"</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">,&</span>a<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">,&</span>b<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">);</span> <span id="hvzpftn" class="sh_keyword" style="color: blue; font-weight: bold; ">if</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">(</span><span id="hvzpftn" class="sh_function" style="font-weight: bold; ">find</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">(</span>id<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">[</span>a<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">])==</span><span id="hvzpftn" class="sh_function" style="font-weight: bold; ">find</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">(</span>id<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">[</span>b<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">]))</span> n1<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">++;</span> <span id="hvzpftn" class="sh_keyword" style="color: blue; font-weight: bold; ">else</span> n2<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">++;</span> <span id="hvzpftn" class="sh_keyword" style="color: blue; font-weight: bold; ">break</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="hvzpftn" class="sh_cbracket" style="color: red; ">}</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="hvzpftn" class="sh_cbracket" style="color: red; ">}</span> <span id="hvzpftn" class="sh_function" style="font-weight: bold; ">printf</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">(</span><span id="hvzpftn" class="sh_string" style="color: red; font-family: monospace; ">"%d , %d</span><span id="hvzpftn" class="sh_specialchar" style="color: #ffc0cb; font-family: monospace; ">\n</span><span id="hvzpftn" class="sh_string" style="color: red; font-family: monospace; ">"</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">,</span>n1<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">,</span>n2<span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">);</span> <span id="hvzpftn" class="sh_cbracket" style="color: red; ">}</span> <span id="hvzpftn" class="sh_keyword" style="color: blue; font-weight: bold; ">return</span> <span id="hvzpftn" class="sh_number" style="color: purple; ">0</span><span id="hvzpftn" class="sh_symbol" style="color: #8b0000; ">;</span> <span id="hvzpftn" class="sh_cbracket" style="color: red; ">}</span></pre></ul></div></div><img src ="http://m.shnenglu.com/yzhw/aggbug/166244.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/yzhw/" target="_blank">yzhw</a> 2012-02-22 15:58 <a href="http://m.shnenglu.com/yzhw/archive/2012/02/22/166244.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>pku3907 姹傚杈瑰艦闈㈢Нhttp://m.shnenglu.com/yzhw/archive/2012/02/18/165874.htmlyzhwyzhwFri, 17 Feb 2012 17:34:00 GMThttp://m.shnenglu.com/yzhw/archive/2012/02/18/165874.htmlhttp://m.shnenglu.com/yzhw/comments/165874.htmlhttp://m.shnenglu.com/yzhw/archive/2012/02/18/165874.html#Feedback0http://m.shnenglu.com/yzhw/comments/commentRss/165874.htmlhttp://m.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://m.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://m.shnenglu.com/yzhw/archive/2012/02/17/165796.html</guid><wfw:comment>http://m.shnenglu.com/yzhw/comments/165796.html</wfw:comment><comments>http://m.shnenglu.com/yzhw/archive/2012/02/17/165796.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/yzhw/comments/commentRss/165796.html</wfw:commentRss><trackback:ping>http://m.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://m.shnenglu.com/yzhw/aggbug/165796.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/yzhw/" target="_blank">yzhw</a> 2012-02-17 02:38 <a href="http://m.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://m.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://m.shnenglu.com/yzhw/archive/2012/02/17/165795.html</guid><wfw:comment>http://m.shnenglu.com/yzhw/comments/165795.html</wfw:comment><comments>http://m.shnenglu.com/yzhw/archive/2012/02/17/165795.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/yzhw/comments/commentRss/165795.html</wfw:commentRss><trackback:ping>http://m.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://m.shnenglu.com/yzhw/aggbug/165795.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/yzhw/" target="_blank">yzhw</a> 2012-02-17 02:03 <a href="http://m.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://m.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://m.shnenglu.com/yzhw/archive/2012/02/09/165233.html</guid><wfw:comment>http://m.shnenglu.com/yzhw/comments/165233.html</wfw:comment><comments>http://m.shnenglu.com/yzhw/archive/2012/02/09/165233.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/yzhw/comments/commentRss/165233.html</wfw:commentRss><trackback:ping>http://m.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://m.shnenglu.com/yzhw/aggbug/165233.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/yzhw/" target="_blank">yzhw</a> 2012-02-09 19:33 <a href="http://m.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://m.shnenglu.com/yzhw/archive/2012/01/14/164184.htmlyzhwyzhwSat, 14 Jan 2012 11:57:00 GMThttp://m.shnenglu.com/yzhw/archive/2012/01/14/164184.htmlhttp://m.shnenglu.com/yzhw/comments/164184.htmlhttp://m.shnenglu.com/yzhw/archive/2012/01/14/164184.html#Feedback0http://m.shnenglu.com/yzhw/comments/commentRss/164184.htmlhttp://m.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://m.shnenglu.com/yzhw/archive/2011/10/18/158598.htmlyzhwyzhwMon, 17 Oct 2011 18:17:00 GMThttp://m.shnenglu.com/yzhw/archive/2011/10/18/158598.htmlhttp://m.shnenglu.com/yzhw/comments/158598.htmlhttp://m.shnenglu.com/yzhw/archive/2011/10/18/158598.html#Feedback1http://m.shnenglu.com/yzhw/comments/commentRss/158598.htmlhttp://m.shnenglu.com/yzhw/services/trackbacks/158598.html闃呰鍏ㄦ枃

yzhw 2011-10-18 02:17 鍙戣〃璇勮
]]>
HDU 3682 To Be an Dream Architect 瀹規枼鍘熺悊http://m.shnenglu.com/yzhw/archive/2011/10/03/157376.htmlyzhwyzhwSun, 02 Oct 2011 16:06:00 GMThttp://m.shnenglu.com/yzhw/archive/2011/10/03/157376.htmlhttp://m.shnenglu.com/yzhw/comments/157376.htmlhttp://m.shnenglu.com/yzhw/archive/2011/10/03/157376.html#Feedback0http://m.shnenglu.com/yzhw/comments/commentRss/157376.htmlhttp://m.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://m.shnenglu.com/yzhw/archive/2011/09/30/157191.htmlyzhwyzhwFri, 30 Sep 2011 00:51:00 GMThttp://m.shnenglu.com/yzhw/archive/2011/09/30/157191.htmlhttp://m.shnenglu.com/yzhw/comments/157191.htmlhttp://m.shnenglu.com/yzhw/archive/2011/09/30/157191.html#Feedback0http://m.shnenglu.com/yzhw/comments/commentRss/157191.htmlhttp://m.shnenglu.com/yzhw/services/trackbacks/157191.html闃呰鍏ㄦ枃

yzhw 2011-09-30 08:51 鍙戣〃璇勮
]]>
2010 ICPC澶╂觸璧涘尯 J hdu 3727 鍒掑垎鏍戠殑鐞嗚Вhttp://m.shnenglu.com/yzhw/archive/2011/09/30/157189.htmlyzhwyzhwFri, 30 Sep 2011 00:44:00 GMThttp://m.shnenglu.com/yzhw/archive/2011/09/30/157189.htmlhttp://m.shnenglu.com/yzhw/comments/157189.htmlhttp://m.shnenglu.com/yzhw/archive/2011/09/30/157189.html#Feedback0http://m.shnenglu.com/yzhw/comments/commentRss/157189.htmlhttp://m.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 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩精品在线视频| 日韩视频一区二区三区| 亚洲精品免费看| 亚洲精选在线观看| 亚洲精品综合精品自拍| 亚洲美女视频在线观看| 亚洲理论在线观看| 亚洲天堂av图片| 午夜国产不卡在线观看视频| 久久se精品一区精品二区| 久久综合图片| 亚洲精品视频二区| 亚洲欧美福利一区二区| 久久婷婷国产麻豆91天堂| 久久久综合视频| 欧美日韩亚洲一区二区三区四区| 国产免费亚洲高清| 在线观看亚洲视频| 亚洲图中文字幕| 久久中文字幕一区二区三区| 亚洲人线精品午夜| 亚洲欧美国产精品专区久久| 美女尤物久久精品| 国产精品免费网站| 亚洲欧洲一区二区三区| 欧美在线观看日本一区| 亚洲人成小说网站色在线| 欧美怡红院视频一区二区三区| 欧美激情成人在线视频| 伊人久久av导航| 欧美影院成年免费版| 亚洲人成在线观看网站高清| 久久精品欧美| 国产欧美亚洲视频| 在线中文字幕日韩| 亚洲高清在线精品| 久热国产精品| 国产一区二区三区丝袜| 亚洲国产cao| 亚洲一区久久| 欧美日韩成人| 亚洲精品色图| 免费观看在线综合色| 亚洲自啪免费| 欧美三级欧美一级| 亚洲人成亚洲人成在线观看图片| 久久综合九色综合久99| 亚洲自拍三区| 国产精品久久久久999| 一本不卡影院| 亚洲精品国产无天堂网2021| 女人色偷偷aa久久天堂| 一区二区三区在线观看视频| 欧美专区18| 午夜精品视频一区| 国产精品久久久免费| 亚洲一二三四久久| 亚洲理伦在线| 国产精品毛片在线| 午夜影视日本亚洲欧洲精品| 亚洲一区二三| 国产亚洲欧洲| 另类激情亚洲| 欧美成人中文字幕在线| 亚洲九九精品| 99热在这里有精品免费| 国产精品午夜电影| 久久精品国产一区二区三| 欧美一区激情| 亚洲国产精品悠悠久久琪琪| 亚洲国产成人久久综合一区| 欧美伦理视频网站| 亚洲女人天堂av| 久久精品免费播放| 欧美一区国产二区| 在线高清一区| 日韩亚洲成人av在线| 国产精品免费看片| 麻豆视频一区二区| 欧美激情视频一区二区三区在线播放 | 在线成人av.com| 亚洲经典自拍| 国产精品高潮呻吟久久av黑人| 亚洲一区二区三区在线看| 午夜在线观看免费一区| 亚洲韩国精品一区| 亚洲天堂久久| 亚洲国产精彩中文乱码av在线播放| 亚洲激情视频在线| 国产精品视频九色porn| 久热国产精品| 欧美亚一区二区| 麻豆亚洲精品| 国产精品久久久亚洲一区 | 宅男噜噜噜66国产日韩在线观看| 最新日韩精品| 国产欧美91| 91久久精品国产91性色tv| 国产精品区一区二区三区| 巨乳诱惑日韩免费av| 欧美理论片在线观看| 久久久综合网站| 欧美香蕉视频| 欧美激情在线有限公司| 国产伦精品一区二区三区免费迷| 亚洲第一在线综合在线| 国产欧美在线看| 99视频在线观看一区三区| 亚洲第一二三四五区| 亚洲一区在线视频| 日韩午夜在线视频| 久久久久久久综合色一本| 亚洲欧美日韩在线综合| 欧美精品一区二区在线播放| 美国十次成人| 国产一区免费视频| 亚洲一区激情| 午夜精品久久久久久久99热浪潮| 欧美国产一区二区| 欧美高清成人| 国内精品视频一区| 亚洲欧美亚洲| 欧美在线播放一区| 国产精品亚洲一区| 一区二区三区.www| 一二三四社区欧美黄| 欧美成人黑人xx视频免费观看| 久久视频这里只有精品| 国产一区二区欧美| 午夜欧美视频| 久久成人免费网| 亚洲国产日韩在线| 亚洲人成精品久久久久| 老司机67194精品线观看| 久久裸体艺术| 在线日韩视频| 麻豆freexxxx性91精品| 嫩草国产精品入口| 亚洲国产视频直播| 麻豆国产精品一区二区三区| 亚洲福利电影| 夜夜嗨av一区二区三区网站四季av| 欧美国产欧美综合 | 亚洲永久字幕| 久久精品国产999大香线蕉| 国产日韩欧美| 久久久久久久网| 亚洲国产精品va在线观看黑人| 一区二区三区在线观看国产| 久久视频在线看| 亚洲国产mv| 亚洲一区二区在线| 国产女人水真多18毛片18精品视频| 午夜亚洲性色福利视频| 免费成人毛片| 日韩视频精品在线| 国产精品久久久久秋霞鲁丝| 久久大香伊蕉在人线观看热2| 久久亚洲精选| 在线中文字幕日韩| 日韩视频一区二区在线观看 | 国产精品久久久久高潮| 亚洲午夜一二三区视频| 欧美在线播放视频| 亚洲大胆av| 欧美午夜精品电影| 欧美中文字幕精品| 亚洲精品视频免费| 久久精品日韩欧美| 亚洲人成艺术| 国产日韩欧美三区| 欧美电影专区| 翔田千里一区二区| 最新国产の精品合集bt伙计| 欧美一区二区大片| 亚洲精品国产系列| 国产视频一区二区在线观看| 欧美电影免费观看高清完整版| 亚洲免费人成在线视频观看| 亚洲盗摄视频| 久久久久综合网| 一区二区久久久久| 亚洲国产精品一区二区三区| 亚洲激情成人网| 久久精品国产免费| 一区二区久久久久| 亚洲福利视频三区| 国产热re99久久6国产精品| 欧美精品一区二区高清在线观看| 欧美在线视屏| 亚洲中无吗在线| 亚洲人成人99网站| 欧美福利小视频| 久久久久免费观看| 欧美一二三视频| 亚洲午夜一区二区三区| 亚洲精品美女在线观看播放| 136国产福利精品导航| 国产一区二区av| 国产精品入口尤物|