﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客生活-lx-blog</title><link>http://www.cnweblog.com/lx-blog/</link><description /><language>zh-cn</language><lastBuildDate>Wed, 29 Apr 2026 20:47:38 GMT</lastBuildDate><pubDate>Wed, 29 Apr 2026 20:47:38 GMT</pubDate><ttl>60</ttl><item><title>RMQ的妙用、</title><link>http://www.cnweblog.com/lx-blog/archive/2009/08/15/304975.html</link><dc:creator>昨日重现</dc:creator><author>昨日重现</author><pubDate>Sat, 15 Aug 2009 09:27:00 GMT</pubDate><guid>http://www.cnweblog.com/lx-blog/archive/2009/08/15/304975.html</guid><wfw:comment>http://www.cnweblog.com/lx-blog/comments/304975.html</wfw:comment><comments>http://www.cnweblog.com/lx-blog/archive/2009/08/15/304975.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnweblog.com/lx-blog/comments/commentRss/304975.html</wfw:commentRss><trackback:ping>http://www.cnweblog.com/lx-blog/services/trackbacks/304975.html</trackback:ping><description><![CDATA[<p>刚学了RMQ算法。</p>
<p>做pku 2201 的时候。刚开始根本没啥好的算法。按照一般的思路走下来肯定是超时。</p>
<p>后来看了讨论，用不熟练的RMQ写了个。（搞惨了，这个程序整了我一整天）</p>
<p><font size="3">#include&lt;algorithm&gt;<br />
#include&lt;cmath&gt;<br />
#include&lt;stdlib.h&gt;<br />
#include &lt;algorithm&gt;<br />
using namespace std;<br />
#define MAX 50005<br />
struct Node{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int parent;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int left;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int right;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int key;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int akey;&nbsp;&nbsp;&nbsp; <br />
};<br />
Node tree[MAX];<br />
int n,f[MAX][16];<br />
bool cmpbykey(Node n1,Node n2){<br />
&nbsp;&nbsp;&nbsp;&nbsp; return (n1.key&lt;n2.key);<br />
}</font></p>
<p><font size="3">bool cmpbyid(Node n1,Node n2){<br />
&nbsp;&nbsp;&nbsp;&nbsp; return (n1.id&lt;n2.id);<br />
}<br />
void RMQ(){<br />
&nbsp;&nbsp;&nbsp;&nbsp; sort(tree+1,tree+n+1,cmpbykey);<br />
&nbsp;&nbsp;&nbsp;&nbsp; for(int i=1;i&lt;=n;i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f[i][0]=i;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; for(int j=1;j&lt;=log((double)(n))/log(2.0);j++)<br />
&nbsp;&nbsp;&nbsp;&nbsp; for(int i=1;(i+(1&lt;&lt;j)-1)&lt;=n;i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f[i][j]=f[i][j-1];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(tree[f[i+(1&lt;&lt;(j-1))][j-1]].akey&lt;tree[f[i][j]].akey){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f[i][j]=f[i+(1&lt;&lt;(j-1))][j-1];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp; /*for(int j=0;j&lt;=log((double)(n-1))/log(2.0);j++)<br />
&nbsp;&nbsp;&nbsp;&nbsp; for(int i=1;i+(1&lt;&lt;j)-1&lt;=n;i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("%d",f[i][j]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system("pause");<br />
&nbsp;&nbsp;&nbsp;&nbsp; }*/<br />
&nbsp;&nbsp;&nbsp;&nbsp; <br />
} </font></p>
<p><font size="3">int Min_setbyRmq(int left,int right){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int m;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m=(log((double)(right-left+1))/log(2.0));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(tree[f[left][m]].akey&lt;tree[f[right-(1&lt;&lt;(m))+1][m]].akey)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return f[left][m];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else return f[right-(1&lt;&lt;m)+1][m];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
}<br />
bool maketree(int left,int right){<br />
&nbsp;&nbsp;&nbsp;&nbsp; if(left==right) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tree[left].left=0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tree[left].right=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp; int root,rootleft,rootright;<br />
&nbsp;&nbsp;&nbsp;&nbsp; root=Min_setbyRmq(left,right);<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; if(root!=left){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rootleft=Min_setbyRmq(left,root-1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp; if(root!=right){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rootright=Min_setbyRmq(root+1,right);<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp; bool check1=true,check2=true;<br />
&nbsp;&nbsp;&nbsp;&nbsp; if(root!=left&amp;&amp;tree[root].key&gt;tree[rootleft].key){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tree[root].left=tree[rootleft].id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tree[rootleft].parent=tree[root].id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; check1=maketree(left,root-1);<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp; if(root!=right&amp;&amp;tree[root].key&lt;tree[rootright].key){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tree[root].right=tree[rootright].id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tree[rootright].parent=tree[root].id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; check2=maketree(root+1,right);&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp; return (check1&amp;&amp;check2);<br />
}<br />
int main(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int i,t;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scanf("%d",&amp;n);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=1;i&lt;=n;i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scanf("%d%d",&amp;tree[i].key,&amp;tree[i].akey);&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tree[i].id=i;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RMQ();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(maketree(1,n)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*&nbsp; for(i=1;i&lt;=n;i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("%d %d %d\n",tree[i].parent,tree[i].left,tree[i].right);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system("pause");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }*/<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("YES\n");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sort(tree+1,tree+n+1,cmpbyid);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=1;i&lt;=n;i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("%d %d %d\n",tree[i].parent,tree[i].left,tree[i].right);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system("pause");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else printf("NO\n");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
</font></p>
<p>//主要是调试的时候，整死就是过不去。</p>
<p>//虽然不是完全独立坐下来的。不过还是感到很高兴、&nbsp;&nbsp;&nbsp;&nbsp;</p>
<img src ="http://www.cnweblog.com/lx-blog/aggbug/304975.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnweblog.com/lx-blog/" target="_blank">昨日重现</a> 2009-08-15 17:27 <a href="http://www.cnweblog.com/lx-blog/archive/2009/08/15/304975.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>pku 3264 第一个一次过的线段树。</title><link>http://www.cnweblog.com/lx-blog/archive/2009/08/14/304948.html</link><dc:creator>昨日重现</dc:creator><author>昨日重现</author><pubDate>Fri, 14 Aug 2009 06:47:00 GMT</pubDate><guid>http://www.cnweblog.com/lx-blog/archive/2009/08/14/304948.html</guid><wfw:comment>http://www.cnweblog.com/lx-blog/comments/304948.html</wfw:comment><comments>http://www.cnweblog.com/lx-blog/archive/2009/08/14/304948.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnweblog.com/lx-blog/comments/commentRss/304948.html</wfw:commentRss><trackback:ping>http://www.cnweblog.com/lx-blog/services/trackbacks/304948.html</trackback:ping><description><![CDATA[<p><font size="3">#include&lt;stdio.h&gt;</font></p>
<p><font size="3">#include&lt;string.h&gt;<br />
#include&lt;stdlib.h&gt;<br />
#define MAX 500000</font></p>
<p><font size="3">struct Node{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int left,right;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int max,min;<br />
}tree[MAX];<br />
int Min,Max;<br />
void build(int root,int left,int right){ <br />
&nbsp;&nbsp;&nbsp;&nbsp; tree[root].left=left;<br />
&nbsp;&nbsp;&nbsp;&nbsp; tree[root].right=right;<br />
&nbsp;&nbsp;&nbsp;&nbsp; tree[root].max=0;<br />
&nbsp;&nbsp;&nbsp;&nbsp; tree[root].min=9999999;<br />
&nbsp;&nbsp;&nbsp;&nbsp; if(right-left==0) return;<br />
&nbsp;&nbsp;&nbsp;&nbsp; int mid=(left+right)&gt;&gt;1;<br />
&nbsp;&nbsp;&nbsp;&nbsp; build(2*root,left,mid);<br />
&nbsp;&nbsp;&nbsp;&nbsp; build(2*root+1,mid+1,right);<br />
}<br />
void add(int root,int w,int h){<br />
&nbsp;&nbsp;&nbsp;&nbsp; int lf=tree[root].left;<br />
&nbsp;&nbsp;&nbsp;&nbsp; int rf=tree[root].right;<br />
&nbsp;&nbsp;&nbsp;&nbsp; if(tree[root].max&lt;h)<br />
&nbsp;&nbsp;&nbsp;&nbsp; tree[root].max=h;<br />
&nbsp;&nbsp;&nbsp;&nbsp; if(tree[root].min&gt;h)<br />
&nbsp;&nbsp;&nbsp;&nbsp; tree[root].min=h;<br />
&nbsp;&nbsp;&nbsp;&nbsp; if(lf==rf) return;<br />
&nbsp;&nbsp;&nbsp;&nbsp; int mid= (rf+lf)&gt;&gt;1;<br />
&nbsp;&nbsp;&nbsp;&nbsp; if(w&lt;=mid)&nbsp; add(2*root,w,h);<br />
&nbsp;&nbsp;&nbsp;&nbsp; else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; add(2*root+1,w,h);&nbsp;&nbsp;&nbsp; <br />
}<br />
void query(int root,int left,int right){<br />
&nbsp;&nbsp;&nbsp;&nbsp; int lf=tree[root].left;<br />
&nbsp;&nbsp;&nbsp;&nbsp; int rf=tree[root].right;<br />
&nbsp;&nbsp;&nbsp;&nbsp; if(lf==left&amp;&amp;rf==right){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(tree[root].max&gt;Max)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Max=tree[root].max;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(tree[root].min&lt;Min)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Min=tree[root].min;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp; //if(lf==rf) return;<br />
&nbsp;&nbsp;&nbsp;&nbsp; int mid=(lf+rf)&gt;&gt;1;<br />
&nbsp;&nbsp;&nbsp;&nbsp; if(mid&gt;=right)<br />
&nbsp;&nbsp;&nbsp;&nbsp; query(2*root,left,right);<br />
&nbsp;&nbsp;&nbsp;&nbsp; else if(mid&lt;left)<br />
&nbsp;&nbsp;&nbsp;&nbsp; query(2*root+1,left,right) ;<br />
&nbsp;&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp;&nbsp; {query(2*root,left,mid);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; query(2*root+1,mid+1,right);<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
}<br />
int main(){<br />
&nbsp;&nbsp;&nbsp; int n,m,i,j,high,left,right;<br />
&nbsp;&nbsp;&nbsp; scanf("%d%d",&amp;n,&amp;m);<br />
&nbsp;&nbsp;&nbsp; build(1,1,n);<br />
&nbsp;&nbsp;&nbsp; /*for(i=1;i&lt;=12;i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("%d %d %d %d",tree[i].left,tree[i].right,tree[i].min,tree[i].max);&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system("pause");<br />
&nbsp;&nbsp;&nbsp;&nbsp; }*/<br />
&nbsp;&nbsp;&nbsp; for(i=1;i&lt;=n;i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scanf("%d",&amp;high);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; add(1,i,high);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; for(j=1;j&lt;=m;j++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scanf("%d%d",&amp;left,&amp;right);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Min=9999999;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Max=0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; query(1,left,right);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("%d\n",Max-Min);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // system("pause");<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
//不过还不会用ST算法。听说ST更好。继续学吧！</font></p>
<img src ="http://www.cnweblog.com/lx-blog/aggbug/304948.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnweblog.com/lx-blog/" target="_blank">昨日重现</a> 2009-08-14 14:47 <a href="http://www.cnweblog.com/lx-blog/archive/2009/08/14/304948.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>pku 1287</title><link>http://www.cnweblog.com/lx-blog/archive/2009/08/14/304929.html</link><dc:creator>昨日重现</dc:creator><author>昨日重现</author><pubDate>Fri, 14 Aug 2009 01:14:00 GMT</pubDate><guid>http://www.cnweblog.com/lx-blog/archive/2009/08/14/304929.html</guid><wfw:comment>http://www.cnweblog.com/lx-blog/comments/304929.html</wfw:comment><comments>http://www.cnweblog.com/lx-blog/archive/2009/08/14/304929.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnweblog.com/lx-blog/comments/commentRss/304929.html</wfw:commentRss><trackback:ping>http://www.cnweblog.com/lx-blog/services/trackbacks/304929.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 此题为简单的最小生成树问题，我用prim，很轻松就过了，但用kruscal写的代码老是wa。希望各位不吝赐教。我写的prim:                        Accepted            192K            16MS            C++            #include&lt;stdio....&nbsp;&nbsp;<a href='http://www.cnweblog.com/lx-blog/archive/2009/08/14/304929.html'>阅读全文</a><img src ="http://www.cnweblog.com/lx-blog/aggbug/304929.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnweblog.com/lx-blog/" target="_blank">昨日重现</a> 2009-08-14 09:14 <a href="http://www.cnweblog.com/lx-blog/archive/2009/08/14/304929.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>pku 1287</title><link>http://www.cnweblog.com/lx-blog/archive/2009/08/14/304928.html</link><dc:creator>昨日重现</dc:creator><author>昨日重现</author><pubDate>Fri, 14 Aug 2009 01:13:00 GMT</pubDate><guid>http://www.cnweblog.com/lx-blog/archive/2009/08/14/304928.html</guid><wfw:comment>http://www.cnweblog.com/lx-blog/comments/304928.html</wfw:comment><comments>http://www.cnweblog.com/lx-blog/archive/2009/08/14/304928.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnweblog.com/lx-blog/comments/commentRss/304928.html</wfw:commentRss><trackback:ping>http://www.cnweblog.com/lx-blog/services/trackbacks/304928.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 此题为简单的最小生成树问题，我用prim，很轻松就过了，但用kruscal写的代码老是wa。希望各位不吝赐教。我写的prim:                        Accepted            192K            16MS            C++            #include&lt;stdio....&nbsp;&nbsp;<a href='http://www.cnweblog.com/lx-blog/archive/2009/08/14/304928.html'>阅读全文</a><img src ="http://www.cnweblog.com/lx-blog/aggbug/304928.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnweblog.com/lx-blog/" target="_blank">昨日重现</a> 2009-08-14 09:13 <a href="http://www.cnweblog.com/lx-blog/archive/2009/08/14/304928.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>