?? online judge論壇-acm-icpc-[第09篇]acm-icpc競賽之stl--algorithm.htm
字號:
case 10 :
if(dd>=24){return('<img src=Skins/Default/birth/z8.gif alt=天蝎座'+mm+'-'+dd+'>');}
else{return('<img src=Skins/Default/birth/z7.gif alt=天秤座'+mm+'-'+dd+'>');}
break;
case 11 :
if(dd>=23){return('<img src=Skins/Default/birth/z9.gif alt=射手座'+mm+'-'+dd+'>');}
else{return('<img src=Skins/Default/birth/z8.gif alt=天蝎座'+mm+'-'+dd+'>');}
break;
case 12 :
if(dd>=22){return('<img src=Skins/Default/birth/z10.gif alt=魔羯座'+mm+'-'+dd+'>');}
else{return('<img src=Skins/Default/birth/z9.gif alt=射手座'+mm+'-'+dd+'>');}
break;
default : return('');
}
}else{return('');}
}
function usercolor(UserGroupID,UserName)
{
UserGroupID = parseInt(UserGroupID);
var UserNameStyle=GroupUserName[UserGroupID].split("§");
return(UserNameStyle[0]+UserName+UserNameStyle[1]);
}
</script>
<a name="154" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema"></a><table cellPadding="5" cellSpacing="1" align="center" class="tableborder1" style="table-layout:fixed;word-break:break-all" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
<tr>
<td class="tablebody1" valign="top" width="175">
<table width="100%" cellpadding="4" cellspacing="0">
<tr>
<td width="*" valign="middle" style="filter:glow(color=#9898BA,strength=2)"> <script type="text/javascript" language="javascript">document.write (usercolor('1','Teacher彭'));</script></td>
<td width="25" valign="middle"><img src="Skins/Default/ofMale.gif" alt="帥哥喲,離線,有人找我嗎?"></td>
<td width="16" valign="middle"><script type="text/javascript" language="javascript">document.write (astro(''));</script></td>
</tr>
</table> <img src="Images/userface/image1.gif" width="32" height="32"><br> <img src="Skins/Default/star/level20.gif"><br> 等級:管理員<br> 文章:801<br> 積分:6804<br> 注冊:2005-09-02</td>
<td class="tablebody1" valign="top" height="100%">
<table width="100%" height="30">
<tr>
<td width="*" align="absmiddle"><a href="http://wpa.qq.com/msgrd?V=1&Uin=515957164&Site=By Dvbbs&Menu=yes" title="點擊發送QQ消息給Teacher彭" target="_blank"><img src="http://wpa.qq.com/pa?p=1:515957164:4" border="0" width="16" height="16" align="absmiddle"></a> <a href="http://wpa.qq.com/msgrd?V=1&Uin=515957164&Site=By Dvbbs&Menu=yes" title="點擊發送QQ消息給Teacher彭">QQ</a> <a href="messanger.asp?action=new&touser=Teacher%C5%ED" target="_blank"><img src="Skins/Default/message.gif" border="0" alt="給Teacher彭發送一個短消息" align="absmiddle"></a> <a href="friendlist.asp?action=addF&myFriend=Teacher%C5%ED" target="_blank"><img src="Skins/Default/friend.gif" border="0" alt="把Teacher彭加入好友" align="absmiddle"></a> <a href="dispuser.asp?id=2" target="_blank"><img src="Skins/Default/profile.gif" border="0" alt="查看Teacher彭的個人資料" align="absmiddle"></a> <a href="query.asp?stype=1&nSearch=3&keyword=Teacher%C5%ED&BoardID=9&SearchDate=ALL" target="_blank"><img src="Skins/Default/find.gif" border="0" alt="搜索Teacher彭在的所有貼子" align="absmiddle"></a> <a href="mailto:pengsw@mail.buct.edu.cn"><img alt="點擊這里發送電郵給Teacher彭" border="0" src="Skins/Default/email.gif" align="absmiddle"></a> <a href="http://coder.buct.edu.cn" target="_blank"><img alt="訪問Teacher彭的主頁" border="0" src="Skins/Default/homepage.gif" align="absmiddle"></a><a href="post.asp?action=re&BoardID=9&replyID=154&id=43&star=1&reply=true"><img src="Skins/Default/reply.gif" border="0" alt="引用回復這個貼子" align="absmiddle"></a> <a href="post.asp?action=re&BoardID=9&replyID=154&id=43&star=1"><img src="Skins/Default/reply_a.gif" border="0" alt="回復這個貼子" align="absmiddle"></a></td>
<td width="70" align="right"> 樓主</td>
</tr>
<tr>
<td height="1" colspan="3" class="singleborder"></td>
</tr>
<tr>
<td height="2" colspan="3"></td>
</tr>
</table>
<table border="0" align="center" width="95%" height="85%" style="table-layout:fixed;word-break:break-all">
<tr>
<td width="*" height="100%" style="font-size:9pt;line-height:12pt" valign="top"><img src="Skins/Default/topicface/face1.gif" border="0" alt="發貼心情" align="absmiddle"> <B>[第09篇]ACM/ICPC競賽之STL--algorithm</B><BR><br><H1 align=center>第09篇 ACM/ICPC競賽之STL--algorithm</H1><P><algorithm>無疑是STL中最大的一個頭文件,它是由一大堆模板函數組成的。</P><P>下面列舉出<algorithm>中的模板函數:</P><P>adjacent_find / binary_search / copy / copy_backward / count / count_if / equal / equal_range / fill / fill_n / find / find_end / find_first_of / find_if / for_each / generate / generate_n / includes / inplace_merge / iter_swap / lexicographical_compare / lower_bound / make_heap / max / max_element / merge / min / min_element / mismatch / next_permutation / nth_element / partial_sort / partial_sort_copy / partition / pop_heap / prev_permutation / push_heap / random_shuffle / remove / remove_copy / remove_copy_if / remove_if / replace / replace_copy / replace_copy_if / replace_if / reverse / reverse_copy / rotate / rotate_copy / search / search_n / set_difference / set_intersection / set_symmetric_difference / set_union / sort / sort_heap / stable_partition / stable_sort / swap / swap_ranges / transform / unique / unique_copy / upper_bound</P><P>如果詳細敘述每一個模板函數的使用,足夠寫一本書的了。還是來看幾個簡單的示例程序吧。</P><P>示例程序之一,for_each遍歷容器:</P><BLOCKQUOTE><P>#include <iostream><br>#include <vector><br>#include <algorithm><br>using namespace std;<br><br>int Visit(int v) // 遍歷算子函數<br>{<br> cout << v << " ";<br> return 1;<br>}<br><br>class MultInt // 定義遍歷算子類<br>{<br>private:<br> int factor;<br>public:<br> MultInt(int f) : factor(f)<br> {<br> }<br> void operator()(int &elem) const<br> {<br> elem *= factor;<br> }<br>};<br><br>main()<br>{<br> vector<int> L;<br> for (int i=0; i<10; i++) L.push_back(i);<br> <FONT color=#ff0000>for_each</FONT>(L.begin(), L.end(), Visit);<br> cout << endl;<br> <FONT color=#ff0000>for_each</FONT>(L.begin(), L.end(), MultInt(2));<br> <FONT color=#ff0000>for_each</FONT>(L.begin(), L.end(), Visit);<br> cout << endl;<br> return 1;<br>}</P></BLOCKQUOTE><P>程序的輸出結果為:</P><BLOCKQUOTE><P>0 1 2 3 4 5 6 7 8 9<br>0 2 4 6 8 10 12 14 16 18</P></BLOCKQUOTE><P>示例程序之二,min_element/max_element,找出容器中的最小/最大值:</P><BLOCKQUOTE><P>#include <iostream><br>#include <vector><br>#include <algorithm><br>using namespace std;<br><br>main()<br>{<br> vector<int> L;<br> for (int i=0; i<10; i++) L.push_back(i);<br> vector<int>::iterator min_it = <FONT color=#ff0000>min_element</FONT>(L.begin(), L.end());<br> vector<int>::iterator max_it = <FONT color=#ff0000>max_element</FONT>(L.begin(), L.end());<br> cout << "Min is " << *min_it << endl;<br> cout << "Max is " << *max_it << endl;<br> return 1;<br>}</P></BLOCKQUOTE><P>程序的輸出結果為:</P><BLOCKQUOTE><P>Min is 0<br>Max is 9</P></BLOCKQUOTE><P>示例程序之三,sort對容器進行排序:</P><BLOCKQUOTE><P>#include <iostream><br>#include <vector><br>#include <algorithm><br>using namespace std;<br>void Print(vector<int> &L)<br>{<br> for (vector<int>::iterator it=L.begin(); it!=L.end(); it++)<br> cout << *it << " ";<br> cout << endl;<br>}<br>main()<br>{<br> vector<int> L;<br> for (int i=0; i<5; i++) L.push_back(i);<br> for (int i=9; i>=5; i--) L.push_back(i);<br> Print(L);<br> <FONT color=#ff0000>sort</FONT>(L.begin(), L.end());<br> Print(L);<br> <FONT color=#ff0000>sort</FONT>(L.begin(), L.end(), greater<int>()); // 按降序排序<br> Print(L);<br> return 1;<br>}</P></BLOCKQUOTE><P>程序的輸出結果為:</P><BLOCKQUOTE><P>0 1 2 3 4 9 8 7 6 5<br>0 1 2 3 4 5 6 7 8 9<br>9 8 7 6 5 4 3 2 1 0</P></BLOCKQUOTE><P>示例程序之四,copy在容器間復制元素:</P><BLOCKQUOTE><P>#include <vector><br>#include <algorithm><br>#include <iostream><br>using namespace std;<br>main( )<br>{<br> // 先初始化兩個向量v1和v2<br> vector <int> v1, v2;<br> for (int i=0; i<=5; i++) v1.push_back(10*i);<br> for (int i=0; i<=10; i++) v2.push_back(3*i);<br><br> cout << "v1 = ( " ;<br> for (vector <int>::iterator it=v1.begin(); it!=v1.end(); it++)<br> cout << *it << " ";<br> cout << ")" << endl;<br><br> cout << "v2 = ( " ;<br> for (vector <int>::iterator it=v2.begin(); it!=v2.end(); it++)<br> cout << *it << " ";<br> cout << ")" << endl;<br><br> // 將v1的前三個元素復制到v2的中間<br> <FONT color=#ff0000>copy</FONT>(v1.begin(), v1.begin()+3, v2.begin()+4);<br><br> cout << "v2 with v1 insert = ( " ;<br> for (vector <int>::iterator it=v2.begin(); it!=v2.end(); it++)<br> cout << *it << " ";<br> cout << ")" << endl;<br> <br> // 在v2內部進行復制,注意參數2表示結束位置,結束位置不參與復制<br> <FONT color=#ff0000>copy</FONT>(v2.begin()+4, <FONT color=#ff0000>v2.begin()+7</FONT>, v2.begin()+2);<br><br> cout << "v2 with shifted insert = ( " ;<br> for (vector <int>::iterator it=v2.begin(); it!=v2.end(); it++)<br> cout << *it << " ";<br> cout << ")" << endl;<br> return 1;<br>}</P></BLOCKQUOTE><P>程序的輸出結果為:</P><BLOCKQUOTE><P>v1 = ( 0 10 20 30 40 50 )<br>v2 = ( 0 3 6 9 12 15 18 21 24 27 30 )<br>v2 with v1 insert = ( 0 3 6 9 <FONT color=#ff0000>0 10 20</FONT> 21 24 27 30 )<br>v2 with shifted insert = ( 0 3 <FONT color=#ff0000>0 10 20</FONT> 10 20 21 24 27 30 )</P></BLOCKQUOTE><br><br><br><div align=right><font color=#000066>[此貼子已經被作者于2006-4-17 16:20:12編輯過]</font></div></td>
</tr>
<tr><td><img src="Skins/Default/sigline.gif"><br>☆ Teacher 彭 ☆</td></tr>
<tr><td>
<div class="info"><img src="Skins/Default/jing.gif" border="0" title="本貼被加為精華" align="absmiddle"> </div>
</td></tr>
</table>
</td>
</tr>
<tr>
<td class="tablebody1" valign="middle" align="center" width="175"><img align="absmiddle" border="0" src="Skins/Default/ip.gif" alt="發貼IP已設置保密"> 2005-10-05 23:41</td>
<td class="tablebody1" valign="middle" width="*">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td valign="middle" align="left" width="*"> </td>
<td nowarp="true" valign="bottom" width="130" align="left"></td>
<td valign="middle" width="170" align="right"><a href="post.asp?action=edit&BoardID=9&replyID=154&ID=43&star=1"><img align="absmiddle" border="0" src="Skins/Default/edit.gif"></a> <a class="ImgOnclick" onMouseOver="showmenu(event,'','Menu_0');"><img align="absmiddle" border="0" src="Skins/Default/topicmanage.gif"></a> <a href="#top"><img align="absmiddle" border="0" src="Skins/Default/p_up.gif"></a></td>
<td valign="middle" align="left">
</td>
</tr>
</table>
</td>
</tr>
</table>
<div class="Menu_popup" id="Menu_0" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
<div class="menuitems"><a href="TopicOther.asp?t=6&BoardID=9&id=43&ReplyID=154" title="向管理員舉報該貼">舉報帖子</a><BR><a href="admin_postings.asp?action=copy_a&BoardID=9&replyID=154&ID=43&star=1&userid=2">復制貼子</a><BR><a href="admin_postings.asp?action=nobest_a&BoardID=9&replyID=154&ID=43&star=1&userid=2">解除精華</a><BR><a href="admin_postings.asp?action=islockpage_a&BoardID=9&replyID=154&ID=43&star=1&userid=2">單貼屏蔽</a><BR><a href="admin_postings.asp?action=RewardMoney&BoardID=9&replyID=154&ID=43&star=1" title="好評或差評,可獎勵或扣除該貼用戶相關分值">帖子評價</a><BR></div></div><a name="155" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema"></a><table cellPadding="5" cellSpacing="1" align="center" class="tableborder1" style="table-layout:fixed;word-break:break-all" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
<tr>
<td class="tablebody2" valign="top" width="175">
<table width="100%" cellpadding="4" cellspacing="0">
<tr>
<td width="*" valign="middle" style="filter:glow(color=#9898BA,strength=2)"> <script type="text/javascript" language="javascript">document.write (usercolor('1','XiaoLin'));</script></td>
<td width="25" valign="middle"><img src="Skins/Default/ofMale.gif" alt="帥哥喲,離線,有人找我嗎?"></td>
<td width="16" valign="middle"><script type="text/javascript" language="javascript">document.write (astro('1982-10-12'));</script></td>
</tr>
</table> <img src="UploadFace/13_20065192014050092.jpg" width="110" height="120"><br> <img src="Skins/Default/star/level20.gif"><br> 頭銜:Rookie<br> 等級:管理員<br> 文章:394<br> 積分:2603<br> 注冊:2005-09-13</td>
<td class="tablebody2" valign="top" height="100%">
<table width="100%" height="30">
<tr>
<td width="*" align="absmiddle"><a href="messanger.asp?action=new&touser=XiaoLin" target="_blank"><img src="Skins/Default/message.gif" border="0" alt="給XiaoLin發送一個短消息" align="absmiddle"></a> <a href="friendlist.asp?action=addF&myFriend=XiaoLin" target="_blank"><img src="Skins/Default/friend.gif" border="0" alt="把XiaoLin加入好友" align="absmiddle"></a> <a href="dispuser.asp?id=13" target="_blank"><img src="Skins/Default/profile.gif" border="0" alt="查看XiaoLin的個人資料" align="absmiddle"></a> <a href="query.asp?stype=1&nSearch=3&keyword=XiaoLin&BoardID=9&SearchDate=ALL" target="_blank"><img src="Skins/Default/find.gif" border="0" alt="搜索XiaoLin在的所有貼子" align="absmiddle"></a> <a href="mailto:siwenzi@163.com"><img alt="點擊這里發送電郵給XiaoLin" border="0" src="Skins/Default/email.gif" align="absmiddle"></a> <a href="post.asp?action=re&BoardID=9&replyID=155&id=43&star=1&reply=true"><img src="Skins/Default/reply.gif" border="0" alt="引用回復這個貼子" align="absmiddle"></a> <a href="post.asp?action=re&BoardID=9&replyID=155&id=43&star=1"><img src="Skins/Default/reply_a.gif" border="0" alt="回復這個貼子" align="absmiddle"></a></td>
<td width="70" align="right">第 <font color="#FF0000">2</font> 樓</td>
</tr>
<tr>
<td height="1" colspan="3" class="singleborder"></td>
</tr>
<tr>
<td height="2" colspan="3"></td>
</tr>
</table>
<table border="0" align="center" width="95%" height="85%" style="table-layout:fixed;word-break:break-all">
<tr>
<td width="*" height="100%" style="font-size:9pt;line-height:12pt" valign="top"><img src="Skins/Default/topicface/face1.gif" border="0" alt="發貼心情" align="absmiddle"> <B></B><BR><P>已閱^6^</P><P>博大精深啊</P></td>
</tr>
<tr><td>
</td></tr>
</table>
</td>
</tr>
<tr>
<td class="tablebody2" valign="middle" align="center" width="175"><img align="absmiddle" border="0" src="Skins/Default/ip.gif" alt="發貼IP已設置保密"> 2005-10-05 23:55</td>
<td class="tablebody2" valign="middle" width="*">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td valign="middle" align="left" width="*"> </td>
<td nowarp="true" valign="bottom" width="130" align="left"></td>
<td valign="middle" width="170" align="right"><a href="post.asp?action=edit&BoardID=9&replyID=155&ID=43&star=1"><img align="absmiddle" border="0" src="Skins/Default/edit.gif"></a> <a class="ImgOnclick" onMouseOver="showmenu(event,'','Menu_1');"><img align="absmiddle" border="0" src="Skins/Default/topicmanage.gif"></a> <a href="#top"><img align="absmiddle" border="0" src="Skins/Default/p_up.gif"></a></td>
<td valign="middle" align="left">
</td>
</tr>
</table>
</td>
</tr>
</table>
<div class="Menu_popup" id="Menu_1" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
<div class="menuitems"><a href="TopicOther.asp?t=6&BoardID=9&id=43&ReplyID=155" title="向管理員舉報該貼">舉報帖子</a><BR><a href="admin_postings.asp?action=dele_a&BoardID=9&replyID=155&ID=43&star=1&userid=13">刪除單貼</a><BR><a href="admin_postings.asp?action=copy_a&BoardID=9&replyID=155&ID=43&star=1&userid=13">復制貼子</a><BR><a href="admin_postings.asp?action=isbest_a&BoardID=9&replyID=155&ID=43&star=1&userid=13">加為精華</a><BR><a href="admin_postings.asp?action=islockpage_a&BoardID=9&replyID=155&ID=43&star=1&userid=13">單貼屏蔽</a><BR><a href="admin_postings.asp?action=RewardMoney&BoardID=9&replyID=155&ID=43&star=1" title="好評或差評,可獎勵或扣除該貼用戶相關分值">帖子評價</a><BR></div></div><a name="188" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema"></a><table cellPadding="5" cellSpacing="1" align="center" class="tableborder1" style="table-layout:fixed;word-break:break-all" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
<tr>
<td class="tablebody1" valign="top" width="175">
<table width="100%" cellpadding="4" cellspacing="0">
<tr>
<td width="*" valign="middle" style="filter:glow(color=white,strength=2)"> <script type="text/javascript" language="javascript">document.write (usercolor('9','玉凌風'));</script></td>
<td width="25" valign="middle"><img src="Skins/Default/ofMale.gif" alt="帥哥喲,離線,有人找我嗎?"></td>
<td width="16" valign="middle"><script type="text/javascript" language="javascript">document.write (astro(''));</script></td>
</tr>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -