﻿<?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>C++博客-oyjpArt ACM/ICPC算法程序设计空间</title><link>http://www.cppblog.com/sicheng/</link><description>// I am new in programming, welcome to my blog &lt;br&gt;
I am oyjpart(alpc12, 四城)
</description><language>zh-cn</language><lastBuildDate>Fri, 04 Jul 2008 20:14:47 GMT</lastBuildDate><pubDate>Fri, 04 Jul 2008 20:14:47 GMT</pubDate><ttl>60</ttl><item><title>期待爱</title><link>http://www.cppblog.com/sicheng/archive/2008/07/04/55365.html</link><dc:creator>oyjpart</dc:creator><author>oyjpart</author><pubDate>Fri, 04 Jul 2008 10:56:00 GMT</pubDate><guid>http://www.cppblog.com/sicheng/archive/2008/07/04/55365.html</guid><wfw:comment>http://www.cppblog.com/sicheng/comments/55365.html</wfw:comment><comments>http://www.cppblog.com/sicheng/archive/2008/07/04/55365.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/sicheng/comments/commentRss/55365.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/sicheng/services/trackbacks/55365.html</trackback:ping><description><![CDATA[《期待爱》<br>林俊杰，金莎<br><br>my life 一直在等待<br>空荡的口袋<br>想在里面放一份爱<br>why 总是被打败<br>真的好无奈<br>其实我实实在在<br>不管帅不帅<br>想要找回来(想要找回来)<br>自己的节拍(自己的节拍)<br>所以这一次<br>我要勇敢大声说出来<br>期待期待你发现我的爱<br>无所不在我自然而然的关怀<br>你的存在( 你的存在)<br>心灵感应的方向<br>我一眼就看出来<br>是因为爱<br>我猜你早已发现我的爱<br>绕几个弯靠越近越明白<br>不要走开( 不要走开)<br>幸福的开始就是<br>放手去爱<br>想要找回来( 想要找回来)<br>自己的节拍( 自己的节拍)<br>所以这一次<br>我要勇敢大声说出来<br>期待期待你发现我的爱<br>无所不在我自然而然的关怀<br>你的存在( 你的存在)<br>心灵感应的方向<br>我一眼就看出来<br>是因为爱<br>我猜你早已发现我的爱<br>绕几个弯靠越近越明白<br>不要走开( 不要走开)<br>幸福的开始就是<br>放手去爱<br>幸福的开始就是放手去爱<br><br>写这首歌不是想表达什么，只是确实挺好听的，何况我本来就喜欢林俊杰的声音。<br><br><img src ="http://www.cppblog.com/sicheng/aggbug/55365.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/sicheng/" target="_blank">oyjpart</a> 2008-07-04 18:56 <a href="http://www.cppblog.com/sicheng/archive/2008/07/04/55365.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《the negotiator》</title><link>http://www.cppblog.com/sicheng/archive/2008/06/28/54854.html</link><dc:creator>oyjpart</dc:creator><author>oyjpart</author><pubDate>Fri, 27 Jun 2008 19:45:00 GMT</pubDate><guid>http://www.cppblog.com/sicheng/archive/2008/06/28/54854.html</guid><wfw:comment>http://www.cppblog.com/sicheng/comments/54854.html</wfw:comment><comments>http://www.cppblog.com/sicheng/archive/2008/06/28/54854.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/sicheng/comments/commentRss/54854.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/sicheng/services/trackbacks/54854.html</trackback:ping><description><![CDATA[很不错的电影了。个人觉得剧本的出彩和演员的表现都已经相当不错。<br>这部片子给人以震撼。有类似《达芬奇密码》的效果。<br><br>Kevin Spacey，这个在《七宗罪》中极为出彩的高智商罪犯的表演让我觉得很过瘾。<br>Samuel L. Jackson 一如既往的招风啊，哈哈<br><br>结尾稍显仓促。<br><br>值得一看。<br><br>影片中丹尼&#183;罗马
的沉着冷静是非常值得学习的，如果能学会的话。<br><br><!--attachment id="76918" thumb="http://img.verycd.com/post_thumbs/0510/post-328739-1129276440_thumb.jpg"--><img src="http://img.verycd.com/posts/0510/post-328739-1129276440.jpg" alt="0790739739.01.LZZZZZZZ.jpg" name="post_img">
<br>原名：the negotiator <br>译名：王牌对王牌 <br>导演：F&#183;加里&#183;格雷(F. Gary Gray)　 <br>演员：塞缪尔&#183;L&#183;杰克逊(Samuel L. Jackson) <br><br>　　 戴维&#183;莫尔斯(David Morse) <br><br>　　 罗恩&#183;里夫金(Ron Rifkin) <br><br>　　 凯文&#183;史派西(Kevin Spacey) <br><br>　　 约翰&#183;斯潘塞(John Spencer) <br>发行：华纳兄弟电影公司(Warner Bros.)　 <br>发行时间：1998-01-01　 <br>类型：动作片 <br><br>【内容简介】 <br>
谈判专家的存在就是要找到谈判的弱点并加以利用，但若谈判也是一位谈判专家，谈判将如何进行呢？这部惊险的动作悬疑片是根据美国圣路易斯警察局处理过的一
个真实案件改编而成。敬业爱岗的芝加哥警察局的人质谈判专家丹尼&#183;罗马（塞缪尔 L.
杰克逊饰），专门跟绑匪谈判挽救人质的性命。不久前他成功的从一个持枪的父亲手中解救出被劫持的小女孩，从而受到上司和媒体的一致赞扬。现在与老搭档又回
到原来的工作岗位上并向他的新婚妻子凯琳（丽贾娜&#183;泰勒）保证不再加班每天都回家吃晚饭。后来他的搭档因为涉嫌侵吞公款而被扣押在警察局当晚被人杀害。因
为丹尼在案发后几秒钟就赶到现场，所以被后来的同事认为是最大的犯罪嫌疑人，局长艾尔&#183;特拉威斯（约翰&#183;斯潘塞）要他交出枪支和警徽。百口莫辩丹尼最终闯
入芝加哥的内务部总部把两个工作人员和指挥官弗罗斯特（罗恩&#183;里夫金饰）劫为人质，从而试图从调查员泰伦斯&#183;尼巴姆（J&#183;T&#183;
沃尔什饰，他在影片完成不久后去世）口中问出事情的真相来。然后他叫来一个从另外一个辖区局赶到的外人：同为人质谈判专家的克利斯&#183;萨宾（凯文&#183;史派西
饰）。萨宾来到后，两个人就谈判的控制权又发生了激烈的争夺，最终丹尼竭尽全力证明了他遭到了错误指控。
<br><br> <img src ="http://www.cppblog.com/sicheng/aggbug/54854.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/sicheng/" target="_blank">oyjpart</a> 2008-06-28 03:45 <a href="http://www.cppblog.com/sicheng/archive/2008/06/28/54854.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《In.Bruges》</title><link>http://www.cppblog.com/sicheng/archive/2008/06/26/54673.html</link><dc:creator>oyjpart</dc:creator><author>oyjpart</author><pubDate>Thu, 26 Jun 2008 06:45:00 GMT</pubDate><guid>http://www.cppblog.com/sicheng/archive/2008/06/26/54673.html</guid><wfw:comment>http://www.cppblog.com/sicheng/comments/54673.html</wfw:comment><comments>http://www.cppblog.com/sicheng/archive/2008/06/26/54673.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/sicheng/comments/commentRss/54673.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/sicheng/services/trackbacks/54673.html</trackback:ping><description><![CDATA[杀手没有假期.In.Bruges.<br><br>Actually we really don't know what life is.<br>But we can, at least can see kinds of lives.<br><br>Life is meaningless indeed<br>But someday you realize that your life is approaching the end<br>God will tell you what life is.<br><br><br>   <img src="http://img.verycd.com/posts/0806/post-333089-1213058418.jpg" alt="poster2.jpg" name="post_img"><!--end Attachment--><br><br>◎译　　名　杀手没有假期<br>◎片　　名　In Bruges<br>◎年　　代　2008<br>◎国　　家　英国/比利时<br>◎类　　别　喜剧/犯罪/剧情<br>◎语　　言　英语<br>◎字　　幕　英文/法文/西班牙文<br>◎IMDB评分 8.1/10 (7,613 votes)<br>◎IMDB链接 <a href="http://www.imdb.com/title/tt0780536" target="_blank">http://www.imdb.com/title/tt0780536</a><br>◎文件格式　XviD + MP3<br>◎视频尺寸　640x272 (2.34:1)<br>◎文件大小　1CD 49 x 15MB<br>◎片　　长　107 mins<br>◎导　　演　Martin McDonagh<br>◎主　　演　拉尔夫&#183;费因斯 Ralph Fiennes<br>　　　　　　柯林&#183;法瑞尔 Colin Farrell .....Ray<br>　　　　　　布莱丹&#183;格里森 Brendan Gleeson .....Ken<br>　　　　　　塞伦&#183;希德 Ciar&#225;n Hinds .....Father McHenry<br>　　　　　　Cl&#233;mence Po&#233;sy .....Chloe<br>　　　　　　斯科拉&#183;鲁特 Thekla Reuten .....Marie<br>　　　　　　Robbie Kay .....Harry aged 7<br>　　　　　　Hannah Murray<br>　　　　　　杰瑞米&#183;雷乃 J&#233;r&#233;mie R&#233;nier .....Erik<br>　　　　　　Theo Stevenson .....Tobias<br>　　　　　　Mark Donovan .....Overweight Man<br>　　　　　　Jordan Prentice .....Jimmy<br>　　　　　　艾力克&#183;高敦 Eric Godon .....Yuri<br>　　　　　　Ann Elsley .....Overweight Woman<br>　　　　　　Pieter Loosveldt .....Bartender<br>　　　　　　Rudy Blomme .....Ticket seller<br>　　　　　　Susan Ateh .....Ken's wife<br>　　　　　　Emily Thorling .....Overweight Woman<br><br>◎简　　介　<br><br>　　两名职业杀手雷（柯林&#183;法瑞尔）和肯（布莱丹&#183;格里森），在伦敦刚摆平一桩棘手的任务后，被他们的老板亨利（拉尔夫&#183;费因斯）指示，来到比利时布鲁日度假放松心情，不料却与当地人及游客发生纠纷，假期变成梦魇，他们才发现老板叫他们来度假可能别有用心。<img src ="http://www.cppblog.com/sicheng/aggbug/54673.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/sicheng/" target="_blank">oyjpart</a> 2008-06-26 14:45 <a href="http://www.cppblog.com/sicheng/archive/2008/06/26/54673.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《The Oxford Murders》</title><link>http://www.cppblog.com/sicheng/archive/2008/06/20/54158.html</link><dc:creator>oyjpart</dc:creator><author>oyjpart</author><pubDate>Fri, 20 Jun 2008 13:17:00 GMT</pubDate><guid>http://www.cppblog.com/sicheng/archive/2008/06/20/54158.html</guid><wfw:comment>http://www.cppblog.com/sicheng/comments/54158.html</wfw:comment><comments>http://www.cppblog.com/sicheng/archive/2008/06/20/54158.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/sicheng/comments/commentRss/54158.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/sicheng/services/trackbacks/54158.html</trackback:ping><description><![CDATA[不错的电影，也许你应该自己去尝试着看看。<br><br>人是否能得知真理？<br><br>有哲学家认为：<br><br>人的理性思维是建立在逻辑的基础上的，逻辑学从来就不是到达真理的途径。
<br><br>不过同样的漏洞在于，这句话的逻辑何在？<br><br>电影总归是电影，带引我们思考数理逻辑就已经不错了。<br><br>
<p><a target="_blank" href="http://hiphotos.baidu.com/loser/pic/item/631072f06ab404bba40f52aa.jpg"><br></a></p>
<br><a href="http://ku6.mtime.com/movie/54189/posters_and_images/580277/" title="牛津杀手/The Oxford Murders(2007) 电影图片 海报 #01 大图 524X755"><img src="http://img.verycd.com/posts/0805/post-2976704-1211329876.jpg" alt="locandinaoxfordmurderfcdd0.jpg" name="post_img"><!--end Attachment--><br><br>
<br></a>  <img src ="http://www.cppblog.com/sicheng/aggbug/54158.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/sicheng/" target="_blank">oyjpart</a> 2008-06-20 21:17 <a href="http://www.cppblog.com/sicheng/archive/2008/06/20/54158.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SRM406 PTS500 FoldThePaper</title><link>http://www.cppblog.com/sicheng/archive/2008/06/18/53831.html</link><dc:creator>oyjpart</dc:creator><author>oyjpart</author><pubDate>Wed, 18 Jun 2008 03:29:00 GMT</pubDate><guid>http://www.cppblog.com/sicheng/archive/2008/06/18/53831.html</guid><wfw:comment>http://www.cppblog.com/sicheng/comments/53831.html</wfw:comment><comments>http://www.cppblog.com/sicheng/archive/2008/06/18/53831.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/sicheng/comments/commentRss/53831.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/sicheng/services/trackbacks/53831.html</trackback:ping><description><![CDATA[<table>
    <tbody>
        <tr>
            <td colspan="2">
            <h3>Problem Statement</h3>
            </td>
        </tr>
        <tr>
            <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
            <td>You
            have a rectangular piece of paper that's divided into 1x1 cells, each
            of which has an integer value. The paper will be described by a vector
            &lt;string&gt; <strong>paper</strong>.  The <em>i</em>th element of <strong>paper</strong> will be a space delimited list of integers, where the <em>j</em>th integer of the <em>i</em>th element of <strong>paper</strong> represents the value of the <em>j</em>th cell of the <em>i</em>th row of the paper.<br><br><br><br>
            You want to perform a sequence of folds on the paper, where you may
            fold anywhere along an axis that is in between two rows or columns of
            the paper. After performing a fold, we wish to model the folded paper
            as a new, flat piece of paper. We will do this by considering two
            overlapping cells as a single cell, with a value that is the sum of the
            individual cells.<br><br><br><br>
            You wish to perform a sequence of folds such that the value of some
            single cell in the resulting piece of paper is as large as possible.
            Return this value.</td>
        </tr>
        <tr>
            <td colspan="2">
            <h3>Definition</h3>
            </td>
        </tr>
        <tr>
            <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
            <td>
            <table>
                <tbody>
                    <tr>
                        <td>Class:</td>
                        <td>FoldThePaper</td>
                    </tr>
                    <tr>
                        <td>Method:</td>
                        <td>getValue</td>
                    </tr>
                    <tr>
                        <td>Parameters:</td>
                        <td>vector &lt;string&gt;</td>
                    </tr>
                    <tr>
                        <td>Returns:</td>
                        <td>int</td>
                    </tr>
                    <tr>
                        <td>Method signature:</td>
                        <td>int getValue(vector &lt;string&gt; paper)</td>
                    </tr>
                    <tr>
                        <td colspan="2">(be sure your method is public)</td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
        <tr>
            <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
        </tr>
        <tr>
            <td><br></td>
        </tr>
        <tr>
            <td colspan="2">
            <h3>Constraints</h3>
            </td>
        </tr>
        <tr>
            <td align="center" valign="top">-</td>
            <td><strong>paper</strong> will contain between 1 and 12 elements, inclusive.</td>
        </tr>
        <tr>
            <td align="center" valign="top">-</td>
            <td>Each element of <strong>paper</strong> will be a single-space delimited list of integers with no leading or trailing spaces.</td>
        </tr>
        <tr>
            <td align="center" valign="top">-</td>
            <td>Each element of <strong>paper</strong> will contain between 1 and 12 integers, inclusive.</td>
        </tr>
        <tr>
            <td align="center" valign="top">-</td>
            <td>Each element of <strong>paper</strong> will contain the same number of integers.</td>
        </tr>
        <tr>
            <td align="center" valign="top">-</td>
            <td>Each element of <strong>paper</strong> will contain between 1 and 50 characters, inclusive.</td>
        </tr>
        <tr>
            <td align="center" valign="top">-</td>
            <td>Each integer in <strong>paper</strong> will be between -100 and 100, inclusive.</td>
        </tr>
        <tr>
            <td align="center" valign="top">-</td>
            <td>Each integer in <strong>paper</strong> will have no leading zeros.</td>
        </tr>
        <tr>
            <td align="center" valign="top">-</td>
            <td>An integer in <strong>paper</strong> equal to zero will not have a preceding negative sign.</td>
        </tr>
        <tr>
            <td colspan="2">
            <h3>Examples</h3>
            </td>
        </tr>
        <tr>
            <td align="center" nowrap="true">0)</td>
            <td><br></td>
        </tr>
        <tr>
            <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
            <td>
            <table>
                <tbody>
                    <tr>
                        <td>
                        <table>
                            <tbody>
                                <tr>
                                    <td>
                                    <pre>{<br>"1 1 1",<br>"1 1 1"<br>}</pre>
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                        </td>
                    </tr>
                    <tr>
                        <td>
                        <pre>Returns: 6</pre>
                        </td>
                    </tr>
                    <tr>
                        <td>
                        <table>
                            <tbody>
                                <tr>
                                    <td colspan="2">We can collapse every cell onto the upper-left cell.</td>
                                </tr>
                            </tbody>
                        </table>
                        </td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
        <tr>
            <td align="center" nowrap="true">1)</td>
            <td><br></td>
        </tr>
        <tr>
            <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
            <td>
            <table>
                <tbody>
                    <tr>
                        <td>
                        <table>
                            <tbody>
                                <tr>
                                    <td>
                                    <pre>{<br>"1 -1",<br>"1 -1"<br>}</pre>
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                        </td>
                    </tr>
                    <tr>
                        <td>
                        <pre>Returns: 2</pre>
                        </td>
                    </tr>
                    <tr>
                        <td>
                        <table>
                            <tbody>
                                <tr>
                                    <td colspan="2">We should perform only the fold between the two rows, and take the resulting left column.</td>
                                </tr>
                            </tbody>
                        </table>
                        </td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
        <tr>
            <td align="center" nowrap="true">2)</td>
            <td><br></td>
        </tr>
        <tr>
            <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
            <td>
            <table>
                <tbody>
                    <tr>
                        <td>
                        <table>
                            <tbody>
                                <tr>
                                    <td>
                                    <pre>{<br>"1 -1 -1 1",<br>"-1 -1 -1 -1",<br>"-1 -1 -1 -1",<br>"1 -1 -1 1"<br>}</pre>
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                        </td>
                    </tr>
                    <tr>
                        <td>
                        <pre>Returns: 4</pre>
                        </td>
                    </tr>
                    <tr>
                        <td>
                        <table>
                            <tbody>
                                <tr>
                                    <td colspan="2">Folding between the middle rows then the middle columns allows us to combine the four corner cells.</td>
                                </tr>
                            </tbody>
                        </table>
                        </td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
        <tr>
            <td align="center" nowrap="true">3)</td>
            <td><br></td>
        </tr>
        <tr>
            <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
            <td>
            <table>
                <tbody>
                    <tr>
                        <td>
                        <table>
                            <tbody>
                                <tr>
                                    <td>
                                    <pre>{<br>"20 13 -2 100",<br>"-12 0 4 -3",<br>"4 1 -36 21"<br>}</pre>
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                        </td>
                    </tr>
                    <tr>
                        <td>
                        <pre>Returns: 131</pre>
                        </td>
                    </tr>
                    <tr>
                        <td>
                        <table>
                            <tbody>
                                <tr>
                                    <td colspan="2"><br></td>
                                </tr>
                            </tbody>
                        </table>
                        </td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
        <tr>
            <td align="center" nowrap="true">4)</td>
            <td><br></td>
        </tr>
        <tr>
            <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
            <td>
            <table>
                <tbody>
                    <tr>
                        <td>
                        <table>
                            <tbody>
                                <tr>
                                    <td>
                                    <pre>{<br>"0"<br>}</pre>
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                        </td>
                    </tr>
                    <tr>
                        <td>
                        <pre>Returns: 0</pre>
                        </td>
                    </tr>
                    <tr>
                        <td>
                        <table>
                            <tbody>
                                <tr>
                                    <td colspan="2"><br></td>
                                </tr>
                            </tbody>
                        </table>
                        </td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
<p>This
problem statement is the exclusive and proprietary property of
TopCoder, Inc. Any unauthorized use or reproduction of this information
without the prior written consent of TopCoder, Inc. is strictly
prohibited. (c)2003, TopCoder, Inc. All rights reserved.</p>
<br>题目大意是有一个12*12的矩阵，现在可以对这个矩阵横向或纵向折叠，出在重叠位置的数相加。<br>求折叠过程中任意位置产生的最大数。<br>
<p>很多大牛fail了，我一个DFS+剪枝也超时了，一共32人pass sys test，1000pts无人ac，此套题难度还是很大的。</p>
<p>基本思路是状态压缩DP，横向(1&lt;&lt;12)*纵向(1&lt;&lt;12)*加和。</p>
<p>但是这样会超时。关键是没有利用到折叠的信息。</p>
<p>预先生成某个位置的状态（由那些位置叠加而来），就可以减少检查量，就可以ac了。</p>
如何生成这些状态呢？没错，又是一个DP. 呵呵。<br>
<p><br></p><img src ="http://www.cppblog.com/sicheng/aggbug/53831.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/sicheng/" target="_blank">oyjpart</a> 2008-06-18 11:29 <a href="http://www.cppblog.com/sicheng/archive/2008/06/18/53831.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>无题</title><link>http://www.cppblog.com/sicheng/archive/2008/06/16/53561.html</link><dc:creator>oyjpart</dc:creator><author>oyjpart</author><pubDate>Mon, 16 Jun 2008 09:18:00 GMT</pubDate><guid>http://www.cppblog.com/sicheng/archive/2008/06/16/53561.html</guid><wfw:comment>http://www.cppblog.com/sicheng/comments/53561.html</wfw:comment><comments>http://www.cppblog.com/sicheng/archive/2008/06/16/53561.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/sicheng/comments/commentRss/53561.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/sicheng/services/trackbacks/53561.html</trackback:ping><description><![CDATA[很好，很好，再一次天崩地裂了。<br><img src ="http://www.cppblog.com/sicheng/aggbug/53561.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/sicheng/" target="_blank">oyjpart</a> 2008-06-16 17:18 <a href="http://www.cppblog.com/sicheng/archive/2008/06/16/53561.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>向Roba学习</title><link>http://www.cppblog.com/sicheng/archive/2008/06/09/52619.html</link><dc:creator>oyjpart</dc:creator><author>oyjpart</author><pubDate>Mon, 09 Jun 2008 01:11:00 GMT</pubDate><guid>http://www.cppblog.com/sicheng/archive/2008/06/09/52619.html</guid><wfw:comment>http://www.cppblog.com/sicheng/comments/52619.html</wfw:comment><comments>http://www.cppblog.com/sicheng/archive/2008/06/09/52619.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cppblog.com/sicheng/comments/commentRss/52619.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/sicheng/services/trackbacks/52619.html</trackback:ping><description><![CDATA[最近看Roba的博客，觉得Roba博客写的很好。很积极，很开心，很简单
，很狡猾。向Roba学习。<br><img src ="http://www.cppblog.com/sicheng/aggbug/52619.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/sicheng/" target="_blank">oyjpart</a> 2008-06-09 09:11 <a href="http://www.cppblog.com/sicheng/archive/2008/06/09/52619.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>生活</title><link>http://www.cppblog.com/sicheng/archive/2008/06/07/52494.html</link><dc:creator>oyjpart</dc:creator><author>oyjpart</author><pubDate>Sat, 07 Jun 2008 15:03:00 GMT</pubDate><guid>http://www.cppblog.com/sicheng/archive/2008/06/07/52494.html</guid><wfw:comment>http://www.cppblog.com/sicheng/comments/52494.html</wfw:comment><comments>http://www.cppblog.com/sicheng/archive/2008/06/07/52494.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.cppblog.com/sicheng/comments/commentRss/52494.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/sicheng/services/trackbacks/52494.html</trackback:ping><description><![CDATA[<div style="text-align: center;">生活<br></div>
说实话，我本来不是很喜欢写自己的生活的。可是心里积蓄了太多的东西，猛烈撞击着<br>我的每一处神经，每一处血管都在喷涌。也许我必须要好好整整，否则我很怀疑我还能正常的活下去。唉。<br><br>
<div style="text-align: center;">一<br></div>
&nbsp;&nbsp; &nbsp;先说说最近的生活吧。<br><br>一句话，生活总是无情的。说程序吧，这个是我在我的博客上说的最多的东西。5月31日以来，拿了一个Topcoder 0分，第一次拿0分，有点难受。也许每个人都能从自己的失败中找出很多借口来安慰自己，试图让自己的伤口不要太揪心。所以我也能找出很多借口，这个失误啊，那个又是题目怎么怎么了。但是之后得知百度之星23分而告别复赛时，那个心情真不知道该称呼什么。登录到百度看到的是一片&#8220;未通过&#8221;，血红血红的&#8220;未通过&#8221;，特吓人。满怀信心的打开网页，却要木然而愤怒地关掉。第二题1-19个Test全错，只对了第20个Test。第三题以为自己写的那个块状链表应该能过掉大部分数据，却只过了5个。第四题则只对了第一个Test。当然当时我写第四个程序的时候就只准备对1个Test。也许我还没适应OI的计分方式, 不会做就不愿意花几分钟的时间写个随机交上去，不会觉得随机居然能拿30分。很好，23分，很好。这一刻的心凉触动了我，映入我眼帘的是似曾相识的南京Regional。<br><br>南京赛，对，就是南京赛。这是我的第一场Regional。我们带着刚出生的ARTor队来到南京，渴望能给ARTor添加几分初生的荣誉。结果却抱着可怜的2道题灰溜溜地离开了南京，让ARTor还在摇篮里面就夭折了。非常敬仰非常崇拜Glory.h, 4道题，ICPC排名第四，结束了NUDT无金的历史。但是我自己知道，当ARTor小朋友的和Glory.h对视的那一刹那, ARTor清澈的眼睛里除了泪水,什么也没有。ARTor死了，再也不会出现，再也不会被提起。南京赛回来之后为了不让自己心彻底地冷掉，我是一遍遍告诉自己: 没事的，没事的，只是题目不适合我们。只是我们不会后缀数组不会TrieDP而已，只是我面对百万级的数据不敢去水J题而已。但是我忽视了很多，我敲的A题没有过。而场上的的确确有两个队伍过了A题，我忽视了，连Trie都不会的孩子，走到Regional赛场上注定要面对的不是失败是什么。<br><br>忽然有种特别真切的想法。时间静止了，我站在一条干瘪的水平X轴上，轴上贴着一个硕大的数字，0。抬头向上看，空空如也，隐隐约约远处有些云彩。然后太阳公公笑着对我说：孩子，加油向上爬啊，大家都在上面等着你呢。<br><br>这个时候也许会特别有劲，只想一个劲的沿着向Y轴爬上去。每前进一步，都特别高兴，笑容灿烂地绽放着。<br><br>是啊。那好。我现在就是零。我现在就是零。<br><br>
<div style="text-align: center; color: #f4f4f4;">二<br></div>
<br style="color: #f4f4f4;"><span style="color: #f4f4f4;">好，现在我们回到现实，把镜头拉到5月31日。</span><br style="color: #f4f4f4;"><br style="color: #f4f4f4;"><span style="color: #f4f4f4;">这一天，是个很普通的日子，早上有一场选修课考试，下午去实验室做百度之星。可是在去选修考试的路上
我和女朋友再一次吵起来了。心里特别难受。睁开双眼，看不到女友的眼神里面除了怨恨和愤怒之外还有任何色彩。女友的手紧紧地抓着我的衣袖，尖叫和愤怒的质问淹没了整个街道。那一刻，这个世界没有别人，只有我，我一个空荡荡的灵魂，在哭泣。</span><br style="color: #f4f4f4;"><br style="color: #f4f4f4;"><span style="color: #f4f4f4;">对。是的。我不是男人。我真他妈不是个男人。</span><br style="color: #f4f4f4;"><br style="color: #f4f4f4;"><span style="color: #f4f4f4;">我真的不明白，感情到底改如何维护。我非常困惑。血肉模糊就是感情吗？呵！</span><br style="color: #f4f4f4;"><br style="color: #f4f4f4;"><span style="color: #f4f4f4;">我的女友是个非常美丽善良的女孩子。我们的感情则是闹得惊天动地。</span><br style="color: #f4f4f4;"><br style="color: #f4f4f4;"><span style="color: #f4f4f4;">可是一个最无奈的事情是，我把她惯坏了。吵架成了家常便饭，人活着就是大喜大悲，心永远都是悬着的，不敢放下。</span><br style="color: #f4f4f4;"><br style="color: #f4f4f4;"><span style="color: #f4f4f4;">工作和恋爱是绝对冲突的。当你每个礼拜有例行的集训，当别人的假期成为你的工作时段的时候，冲突就凸显了。而也许这也仅仅是一个借口，真正的问题出在两人对待感情的态度上。这个世界上只有一件事，是不管你怎么努力都无法改变的。那就是感情。因为努力本身就是一个错误，努力去维护同样是一种逃避，因为你在违背自然。所以我很害怕，我很茫然，我很绝望。</span><br style="color: #f4f4f4;"><br style="color: #f4f4f4;"><span style="color: #f4f4f4;">&nbsp;&nbsp; &nbsp;别人可以做好，为什么我做不好啊。很显然，这总归是自己的问题。唉，是我自己性格的问题，可是，</span><br style="color: #f4f4f4;"><br style="color: #f4f4f4;"><span style="color: #f4f4f4;">&nbsp;&nbsp; &nbsp;唉。</span><br style="color: #f4f4f4;"><br style="color: #f4f4f4;">
<div style="text-align: center;"><span style="color: #f4f4f4;">三</span><br></div>
<br>&nbsp;《礼记&#8226;大学》有云：&#8220;古之欲明明德于天下者；先治其国；欲治其国者，先齐其家；欲齐其家者，先修其身；欲修其身者，先正其心；&#8230;&#8230;心正而后身修，身修而后家齐，家齐而后国治，国治而后天下平。&#8221; 说的是明德之人需正心、修身、齐家、治国、平天下。治国、平天下，我没这个想法，但是修身，齐家这是人人的必修课。而我写这篇文章的目的，则是希望能正心。其后则是修身，齐家。<br><br>结果比较失望的就是我没觉得我得以正心了。我想也许我需要更多的是答案，我提的所有问题的答案。我将一个一个去寻找，去发现。我太不够成熟了，太小孩子气了，太自我封闭了。无论怎么说，我正在尝试，这就是好的，这就有希望。<br><br>  <img src ="http://www.cppblog.com/sicheng/aggbug/52494.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/sicheng/" target="_blank">oyjpart</a> 2008-06-07 23:03 <a href="http://www.cppblog.com/sicheng/archive/2008/06/07/52494.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>点错题，看错题，做错题！可以去死了！！！！！！！！！</title><link>http://www.cppblog.com/sicheng/archive/2008/06/05/52300.html</link><dc:creator>oyjpart</dc:creator><author>oyjpart</author><pubDate>Thu, 05 Jun 2008 13:54:00 GMT</pubDate><guid>http://www.cppblog.com/sicheng/archive/2008/06/05/52300.html</guid><wfw:comment>http://www.cppblog.com/sicheng/comments/52300.html</wfw:comment><comments>http://www.cppblog.com/sicheng/archive/2008/06/05/52300.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/sicheng/comments/commentRss/52300.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/sicheng/services/trackbacks/52300.html</trackback:ping><description><![CDATA[1.点错题：一点，发现自己点了500分的题，等了等，没反应（网速...)，还是想从250开始做，又点了点250，隔了一会出来了。以为是250的题，以为有简单的方法，想到一个枚举+排序的方法，怕超时。点了一下summary，发现别人都交了250(话说今天房间里面有一半是红人，很吓人），郁闷了。又想了下，写了个排序的上去。<br>2.看错题：交了发现居然还有220多分，原来是500分的题。汗。。。做250的吧。。估计交了也没多少分了。管他咯，做咯。结果怎么做怎么不对，样例死都调不过。到最后才发现题目都读错了。。一个数是上面的两个数之和，我看成上面的右边所有数的和了。。题目说的是upper right neiboring digits,就那个digit's'，汗，又读错了，亏我还说自己英语好。真tm丢脸。<br>3.唉 就这样就算了，结果呢，第二题又被cha掉了。汗。我的心那个叫苍凉啊。<br>4.到practise room 一测俺的第二题，全是 "Received: caught signal SIGKILL"，那个叫不解啊。我在自己机器上G++运行的好好的，干嘛的就SIGKILL了呢。。唉。。<br><br>可以去死了！！！！！！<br><br> <img src ="http://www.cppblog.com/sicheng/aggbug/52300.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/sicheng/" target="_blank">oyjpart</a> 2008-06-05 21:54 <a href="http://www.cppblog.com/sicheng/archive/2008/06/05/52300.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>线性筛素数方法</title><link>http://www.cppblog.com/sicheng/archive/2008/06/04/52172.html</link><dc:creator>oyjpart</dc:creator><author>oyjpart</author><pubDate>Wed, 04 Jun 2008 08:39:00 GMT</pubDate><guid>http://www.cppblog.com/sicheng/archive/2008/06/04/52172.html</guid><wfw:comment>http://www.cppblog.com/sicheng/comments/52172.html</wfw:comment><comments>http://www.cppblog.com/sicheng/archive/2008/06/04/52172.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cppblog.com/sicheng/comments/commentRss/52172.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/sicheng/services/trackbacks/52172.html</trackback:ping><description><![CDATA[看到高手的线性筛素数方法（Prime2函数)：<br><br>const int N = 25600000;<br>bool a[N];<br>int p[N];<br>int n;<br><br>void Prime1() {<br>&nbsp;&nbsp; &nbsp;memset(a, 0, n * sizeof(a[0]));<br>&nbsp;&nbsp; &nbsp;int num = 0, i, j;<br>&nbsp;&nbsp; &nbsp;for(i = 2; i &lt; n; ++i) if(!a[i]) {<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;p[num++] = i;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;for(j = i+i; j &lt; n; j +=i) {<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;a[j] = 1;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}<br>&nbsp;&nbsp; &nbsp;}<br>}<br><br>void Prime2() {<br>&nbsp;&nbsp; &nbsp;memset(a, 0, n*sizeof(a[0]));<br>&nbsp;&nbsp; &nbsp;int num = 0, i, j;<br>&nbsp;&nbsp; &nbsp;for(i = 2; i &lt; n; ++i) {<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if(!(a[i])) p[num++] = i;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;for(j = 0; (j&lt;num &amp;&amp; i*p[j]&lt;n); ++j) {<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;a[i*p[j]] = 1;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if(!(i%p[j])) break;<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}<br>&nbsp;&nbsp; &nbsp;}<br>}<br><br>测试:<br><br>筛 [0, 100000) 范围内的素数<br>第一种素数筛法 0 毫秒<br>第二种素数筛法 0 毫秒<br><br>筛 [0, 200000) 范围内的素数<br>第一种素数筛法 15 毫秒<br>第二种素数筛法 0 毫秒<br><br>筛 [0, 400000) 范围内的素数<br>第一种素数筛法 16 毫秒<br>第二种素数筛法 15 毫秒<br><br>筛 [0, 800000) 范围内的素数<br>第一种素数筛法 47 毫秒<br>第二种素数筛法 16 毫秒<br><br>筛 [0, 1600000) 范围内的素数<br>第一种素数筛法 62 毫秒<br>第二种素数筛法 63 毫秒<br><br>筛 [0, 3200000) 范围内的素数<br>第一种素数筛法 297 毫秒<br>第二种素数筛法 109 毫秒<br><br>筛 [0, 6400000) 范围内的素数<br>第一种素数筛法 922 毫秒<br>第二种素数筛法 266 毫秒<br><br>筛 [0, 12800000) 范围内的素数<br>第一种素数筛法 2187 毫秒<br>第二种素数筛法 563 毫秒<br><br>筛 [0, 25600000) 范围内的素数<br>第一种素数筛法 4828 毫秒<br>第二种素数筛法 1187 毫秒<br><br>
证明：任何一个合数只被标记一次。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 可以试着执行下这个程序的流程，就明白了<br><br>怎么样 还行吧？<br>什么，觉得这个程序效率上没多大提升，没有什么用？<br>把a[]改成int类型，然后<br>void Prime2() {<br>&nbsp;&nbsp;&nbsp; memset(a, 0, n*sizeof(a[0]));<br>&nbsp;&nbsp;&nbsp; int num = 0, i, j;<br>&nbsp;&nbsp;&nbsp; for(i = 2; i &lt; n; ++i) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(!(a[i])) p[num++] = i;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(j = 0; (j&lt;num &amp;&amp; i*p[j]&lt;n &amp;&amp; (p[j]&lt;=a[i]||a[i]==0)); ++j) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a[i*p[j]] = p[j];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>}<br>这样一来a[i]将记录i的最小质因子<br>那么[0, n)内的数的因式分解就可以... 嘿嘿<br>o(质因子个数)求任意数因式分解：<br>void factor(int x) {<br>&nbsp;&nbsp;&nbsp; while(a[x] != 0) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("%d\n", a[x]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x /= a[x];<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; printf("%d\n", x);<br>}&nbsp;
<br><br>然后用这个做了上次杭州比赛的GCD那题，虽然其实就是个容斥原理，可是我等白菜就是不会做。唉。<br>第一名8题，我们4题，这个差距大的有点想吐。<br>题目<a  href="http://acm.hdu.edu.cn/showproblem.php?pid=1695">http://acm.hdu.edu.cn/showproblem.php?pid=1695 </a><br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #008000;">//</span><span style="color: #008000;">Solution&nbsp;by&nbsp;alpc12:</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">string.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br>#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">stdio.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br><br></span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;N&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">100010</span><span style="color: #000000;">;<br><br>typedef&nbsp;__int64&nbsp;LL;<br>#define&nbsp;I64Format&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">%I64d\n</span><span style="color: #000000;">"</span><span style="color: #000000;"><br>inline&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;count(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;x)&nbsp;{</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;ret&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(x&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">)&nbsp;{ret&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">;&nbsp;x&nbsp;</span><span style="color: #000000;">&amp;=</span><span style="color: #000000;">&nbsp;(x</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">);}</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;ret;}<br><br></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;a[N],&nbsp;p[</span><span style="color: #000000;">18000</span><span style="color: #000000;">];<br><br></span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;pre()&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;memset(a,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;sizeof(a));<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;num&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;i,&nbsp;j;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;N;&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">i)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #000000;">!</span><span style="color: #000000;">a[i])&nbsp;&nbsp;p[num</span><span style="color: #000000;">++</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;i;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(j&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;j&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;num&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;p[j]&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;N&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;(p[j]</span><span style="color: #000000;">&lt;=</span><span style="color: #000000;">a[i]&nbsp;</span><span style="color: #000000;">||</span><span style="color: #000000;">&nbsp;a[i]</span><span style="color: #000000;">==</span><span style="color: #000000;">0</span><span style="color: #000000;">);&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">j)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[p[j]&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;p[j];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}<br><br></span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;go(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;x,&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;y)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(x&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">)&nbsp;{&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">0\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i,&nbsp;j;<br>&nbsp;&nbsp;&nbsp;&nbsp;LL&nbsp;ans&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;=</span><span style="color: #000000;">&nbsp;y;&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">i)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #000000;">!</span><span style="color: #000000;">a[i])&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ans&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;(i</span><span style="color: #000000;">&lt;=</span><span style="color: #000000;">x</span><span style="color: #000000;">?</span><span style="color: #000000;">(i</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">):x);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;fac[</span><span style="color: #000000;">20</span><span style="color: #000000;">],&nbsp;nfac&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;z&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;i;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(a[z]&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fac[nfac</span><span style="color: #000000;">++</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;a[z];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;z&nbsp;</span><span style="color: #000000;">/=</span><span style="color: #000000;">&nbsp;a[z];<br>&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;fac[nfac</span><span style="color: #000000;">++</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;z;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;k&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(j&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">;&nbsp;j&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;nfac;&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">j)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(fac[j]&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;fac[j</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">])<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fac[k</span><span style="color: #000000;">++</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;fac[j];<br>&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;nfac&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;k;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;now&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;xx&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;x;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(x&nbsp;</span><span style="color: #000000;">&gt;=</span><span style="color: #000000;">&nbsp;i)&nbsp;xx</span><span style="color: #000000;">=</span><span style="color: #000000;">i</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;mask;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(mask&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">;&nbsp;mask&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">1</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">nfac);&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">mask)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;d&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;count(mask),&nbsp;mul&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(j&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;j&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;nfac;&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">j)&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">((mask</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">(</span><span style="color: #000000;">1</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">j))&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mul&nbsp;</span><span style="color: #000000;">*=</span><span style="color: #000000;">&nbsp;fac[j];<br>&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;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(d</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">1</span><span style="color: #000000;">)&nbsp;now&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;xx</span><span style="color: #000000;">/</span><span style="color: #000000;">mul;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;now&nbsp;</span><span style="color: #000000;">-=</span><span style="color: #000000;">&nbsp;xx</span><span style="color: #000000;">/</span><span style="color: #000000;">mul;<br>&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;ans&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;xx</span><span style="color: #000000;">-</span><span style="color: #000000;">now;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;printf(I64Format,&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">+</span><span style="color: #000000;">ans);<br>}<br><br></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main()&nbsp;{<br><br></span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;freopen("t.in",&nbsp;"r",&nbsp;stdin);</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;ntc,&nbsp;a,&nbsp;b,&nbsp;c,&nbsp;d,&nbsp;k;<br>&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%d</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">ntc);<br>&nbsp;&nbsp;&nbsp;&nbsp;pre();<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;tc&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(ntc</span><span style="color: #000000;">--</span><span style="color: #000000;">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">Case&nbsp;%d:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">tc);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;%d&nbsp;%d&nbsp;%d&nbsp;%d&nbsp;%d</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">a,&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">b,&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">c,&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">d,&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">k);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(k&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">)&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">0\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;b</span><span style="color: #000000;">/</span><span style="color: #000000;">k;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;d</span><span style="color: #000000;">/</span><span style="color: #000000;">k;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(a&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;b)&nbsp;go(b,&nbsp;a);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;go(a,&nbsp;b);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br>}<br><br></span></div>
<br>      <img src ="http://www.cppblog.com/sicheng/aggbug/52172.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/sicheng/" target="_blank">oyjpart</a> 2008-06-04 16:39 <a href="http://www.cppblog.com/sicheng/archive/2008/06/04/52172.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>基本参数搜索</title><link>http://www.cppblog.com/sicheng/archive/2008/06/03/52034.html</link><dc:creator>oyjpart</dc:creator><author>oyjpart</author><pubDate>Tue, 03 Jun 2008 07:45:00 GMT</pubDate><guid>http://www.cppblog.com/sicheng/archive/2008/06/03/52034.html</guid><wfw:comment>http://www.cppblog.com/sicheng/comments/52034.html</wfw:comment><comments>http://www.cppblog.com/sicheng/archive/2008/06/03/52034.html#Feedback</comments><slash:comments>13</slash:comments><wfw:commentRss>http://www.cppblog.com/sicheng/comments/commentRss/52034.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/sicheng/services/trackbacks/52034.html</trackback:ping><description><![CDATA[<center>
<h2>上次百度之星第三题竟然不会做，很是惭愧啊，脑袋生锈了。</h2>
后来从HUST上面找了道类似的题目，AC了。<br><br>
<h2><br></h2>
<h2>The perfect hamilton path</h2>
<strong>Time Limit: </strong>5 Sec&nbsp;&nbsp;<strong>Memory Limit: </strong>128 MB<br><strong>Submissions: </strong>72&nbsp;&nbsp;<strong>Solved: </strong>16<br></center>
<h2>Description</h2>
<p>There
are N(2 &lt;= N &lt;= 13) cities and M bidirectional roads among the
cities. There exist at most one road between any pair of the cities.
Along every road, there are G pretty girls and B pretty boys(1 &lt;=
G,B &lt;= 1000).<br>
You want to visit every city exactly once, and you can start from any
city you want to. The degree of satisfaction is the ratio of the number
of the pretty girls to the number of the pretty boys. You want to know
the highest degree of satisfation.<br>
</p>
<h2>Input</h2>
<p>There are multiply test cases.<br>
First line: two integers N, M;<br>
The following M lines: every line with four integers i, j, G, B, response that there is a road between i and j with G and B.<br>
</p>
<h2>Output</h2>
<p>The highest degree of the satisfation, rounded to the third place after the decimal point.<br>
</p>
<h2>Sample Input</h2>
<pre>3 3<br>1 2 5 3<br>2 3 7 4<br>3 1 13 11</pre>
<h2>Sample Output</h2>
<pre>1.714</pre>
<h2>HINT</h2>
<h2>Source</h2>
<p>dupeng</p>
<br>题目的意思是找到一个sigma(G)/sigma(B)最大的hamilton回路。<br>典型的参数搜索。二分或者迭代答案就可以了。<br><br>
<p>Solution：<br></p>
<p>
</p>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">stdio.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br>#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">queue</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br>#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">cmath</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br>using&nbsp;namespace&nbsp;std;<br><br></span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;EPS&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;1e</span><span style="color: #000000;">-4</span><span style="color: #000000;"></span><span style="color: #000000;">;<br></span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;N&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">15</span><span style="color: #000000;">;<br></span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;M&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;N&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;N;<br><br>#define&nbsp;Max(a,&nbsp;b)&nbsp;(a</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">b</span><span style="color: #000000;">?</span><span style="color: #000000;">a:b)<br><br>inline&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;dblcmp(</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;a,&nbsp;</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;b)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(fabs(a</span><span style="color: #000000;">-</span><span style="color: #000000;">b)&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;EPS)&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;a&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;b&nbsp;</span><span style="color: #000000;">?</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;:&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">;<br>}<br><br>struct&nbsp;Node&nbsp;<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;x,&nbsp;mask;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;s;<br>&nbsp;&nbsp;&nbsp;&nbsp;Node()&nbsp;{}<br>&nbsp;&nbsp;&nbsp;&nbsp;Node(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;mm,&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;xx,&nbsp;</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;ss)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;xx;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mask&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;mm;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;ss;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>};<br><br></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;n,&nbsp;m;<br><br></span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;adj[N][N];<br></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;X[M],&nbsp;Y[M],&nbsp;G[M],&nbsp;B[M];<br><br></span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;dp[</span><span style="color: #000000;">1</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">N][N];<br><br></span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;go(</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;ans)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i,&nbsp;j;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;n;&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">i)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adj[i][i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(j&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;i</span><span style="color: #000000;">+</span><span style="color: #000000;">1</span><span style="color: #000000;">;&nbsp;j&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;n;&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">j)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adj[i][j]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;adj[j][i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">10e300;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;m;&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">i)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adj[X[i]</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">][Y[i]</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;G[i]</span><span style="color: #000000;">-</span><span style="color: #000000;">ans&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;B[i];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adj[Y[i]</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">][X[i]</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;adj[X[i]</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">][Y[i]</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">];<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">1</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">n);&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">i)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(j&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;j&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;n;&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">j)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dp[i][j]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">10e100;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;queue</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">Node</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;Q;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;n;&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">i)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Q.push(Node(</span><span style="color: #000000;">1</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">i,&nbsp;i,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dp[</span><span style="color: #000000;">1</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">i][i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(Q.size())&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;f&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Q.front().mask,&nbsp;x&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Q.front().x;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;s&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Q.front().s;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;d&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;dp[f][x];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Q.pop();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(s&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;d)&nbsp;</span><span style="color: #0000ff;">continue</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;n;&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">i)&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">((f</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">(</span><span style="color: #000000;">1</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">i))&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(dp[f</span><span style="color: #000000;">|</span><span style="color: #000000;">1</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">i][i]&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;s&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;adj[x][i])&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dp[f</span><span style="color: #000000;">|</span><span style="color: #000000;">1</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">i][i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;s&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;adj[x][i];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Q.push(Node(f</span><span style="color: #000000;">|</span><span style="color: #000000;">1</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">i,&nbsp;i,&nbsp;s&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;adj[x][i]));<br>&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;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;max&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">10e100;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;n;&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">i)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;max&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Max(max,&nbsp;dp[(</span><span style="color: #000000;">1</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">n)</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">][i]);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;max;<br>}<br><br></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main()<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;freopen("t.in",&nbsp;"r",&nbsp;stdin);</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;ans;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(scanf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%d&nbsp;%d</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">n,&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">m)&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;EOF)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;min&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2000</span><span style="color: #000000;">,&nbsp;max&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;m;&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">i)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%d&nbsp;%d&nbsp;%d&nbsp;%d</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">X[i],&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">Y[i],&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">G[i],&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">B[i]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(B[i]&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;min)&nbsp;min&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;B[i];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(G[i]&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;max)&nbsp;max&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;G[i];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;lo&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;hi&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;max</span><span style="color: #000000;">/</span><span style="color: #000000;">min;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;ok&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;;&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">i)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&nbsp;mid&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;lo&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;(hi</span><span style="color: #000000;">-</span><span style="color: #000000;">lo)</span><span style="color: #000000;">/</span><span style="color: #000000;">2</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(dblcmp((ans</span><span style="color: #000000;">=</span><span style="color: #000000;">go(mid)),&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lo&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;mid;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(dblcmp(ans,&nbsp;</span><span style="color: #000000;">0.0</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%.3lf\n</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;mid);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ok&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hi&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;mid;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #000000;">!</span><span style="color: #000000;">ok)&nbsp;{&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;a&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;a&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">/</span><span style="color: #000000;">a;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br>}<br></span></div>
<br>
<p>&nbsp;</p>
<br>  <img src ="http://www.cppblog.com/sicheng/aggbug/52034.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/sicheng/" target="_blank">oyjpart</a> 2008-06-03 15:45 <a href="http://www.cppblog.com/sicheng/archive/2008/06/03/52034.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>这样的生活</title><link>http://www.cppblog.com/sicheng/archive/2008/06/02/51921.html</link><dc:creator>oyjpart</dc:creator><author>oyjpart</author><pubDate>Mon, 02 Jun 2008 14:23:00 GMT</pubDate><guid>http://www.cppblog.com/sicheng/archive/2008/06/02/51921.html</guid><wfw:comment>http://www.cppblog.com/sicheng/comments/51921.html</wfw:comment><comments>http://www.cppblog.com/sicheng/archive/2008/06/02/51921.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/sicheng/comments/commentRss/51921.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/sicheng/services/trackbacks/51921.html</trackback:ping><description><![CDATA[5月31日早晨 空气中沉浸着巨大的悲痛<br><br>可是我的面目却是麻木的<br><br>从此<br><br>头脑昏沉<br><br>每天钉在实验室傻傻看着电脑 却什么也做不了<br><br>身边有alpc们，我的心有些安慰<br><br>虽然时间已经静止<br><br>可是世界仍然喧嚣 我仍然没有发现自己到了地狱<br><br>可是我真的觉得自己不该来到这个世界上，原来自己一点都不真实<br><br>我的心是空的 我不敢承受<br><br>考试，第一次我觉得考试那么难，我想原来挂科也可以和我离的这么近<br><br>而选修考试直接没有参加了 我不在乎吗 <br><br>是的 也许程序才是真实的 可是我却什么也敲不出来<br><br>原来程序也是要用心敲的<br><br>举杯回首<br><br>我的高中 和 我的大学 哪个才是真正的我？<br><br>我讨厌现在的我 讨厌高中的我<br><br>我想回到大一 我想回到曾经的6班 <br><br>我想拥有无尽的欢乐<br><br>我想觉得我还年轻 我想觉得我这小子很不错<br><br>我想再体会一次那种渴望成长的感觉<br><br>我想再一次热爱生命 热爱大自然<br><br>唉... 可是这都是虚幻的... 都是虚幻的!!!<br><br>  <img src ="http://www.cppblog.com/sicheng/aggbug/51921.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/sicheng/" target="_blank">oyjpart</a> 2008-06-02 22:23 <a href="http://www.cppblog.com/sicheng/archive/2008/06/02/51921.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>湖大邀请赛</title><link>http://www.cppblog.com/sicheng/archive/2008/05/27/51254.html</link><dc:creator>oyjpart</dc:creator><author>oyjpart</author><pubDate>Tue, 27 May 2008 03:32:00 GMT</pubDate><guid>http://www.cppblog.com/sicheng/archive/2008/05/27/51254.html</guid><wfw:comment>http://www.cppblog.com/sicheng/comments/51254.html</wfw:comment><comments>http://www.cppblog.com/sicheng/archive/2008/05/27/51254.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/sicheng/comments/commentRss/51254.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/sicheng/services/trackbacks/51254.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp; 废话少说，直接进入正题。&nbsp;&nbsp; 比赛标题：湖南大学校赛暨湖南各大学邀请赛(包含几大中学)&nbsp;&nbsp; 比赛形式：个人赛&nbsp;&nbsp; 比赛组队情况：alpc12(me) + alpc33(文文, 男) + alpc30(崔婧，女)&nbsp;&nbsp; &nbsp;&nbsp; 题目总数：12&nbsp;&nbsp; AC：9&n...&nbsp;&nbsp;<a href='http://www.cppblog.com/sicheng/archive/2008/05/27/51254.html'>阅读全文</a><img src ="http://www.cppblog.com/sicheng/aggbug/51254.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/sicheng/" target="_blank">oyjpart</a> 2008-05-27 11:32 <a href="http://www.cppblog.com/sicheng/archive/2008/05/27/51254.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]女人常说的32句谎话及详解...</title><link>http://www.cppblog.com/sicheng/archive/2008/05/27/51200.html</link><dc:creator>oyjpart</dc:creator><author>oyjpart</author><pubDate>Tue, 27 May 2008 01:29:00 GMT</pubDate><guid>http://www.cppblog.com/sicheng/archive/2008/05/27/51200.html</guid><wfw:comment>http://www.cppblog.com/sicheng/comments/51200.html</wfw:comment><comments>http://www.cppblog.com/sicheng/archive/2008/05/27/51200.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.cppblog.com/sicheng/comments/commentRss/51200.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/sicheng/services/trackbacks/51200.html</trackback:ping><description><![CDATA[<div class=content>
<p>第一句：我看上你可不是因为你的钱（或者是你的地位）！ <br>仔细想一想，女人又不是白痴，什么都没有，只有爱情能当面包去吃饭啊？即使你现在没有，那么她的眼光也能看见你的以后，如果你很有能力，她肯定把你当作可升值性股票把你攥在手里。</p>
<p>第二句：你以为我想去啊，是xx非拉我去的。 <br>谁拉谁去的啊？自己想去就去呗，我又不是不让你去。</p>
<p>第三句：你做饭做的真好吃。 <br>哈哈哈哈！她这么说的时候千万别只顾着高兴，她的意思是：既然你做饭这么好吃，以后就你做好了&#8230;&#8230;</p>
<p>第四句：给我讲讲你和你以前的她的故事，我不会生气的。 <br>谁信谁完蛋！女人不吃醋谁相信啊？哪怕那是过去了500年的事情，等你说完了，她们就完全露出丑恶的嘴脸，要么哭啊闹啊，要么就让你干这干那，还美其名曰&#8220;劳动改造&#8221;！</p>
<p>第五句：她们都说xx牌子的衣服很适合我。 <br>没什么好说的，掏钱包吧！</p>
<p>第六句：没关系，我感觉你还不胖。 <br>如果她真这么说了，只是不想让你难堪，注意一下自己的身材吧。</p>
<p>第七句：老夫老妻了，我不要什么情人节礼物了。 <br>天啊，如果这话你相信了，肯定和我一样，打扫一个月的卫生！女人么，说归说，如果你真不买，她狠死你！而且明年她铁定列张购物清单让你挨个买！！</p>
<p>第八句：其实，我感觉你应该有自己的&#8216;红颜知己&#8217;。 <br>切～～女人真有这么大方吗？她永远希望你离所有的女人远远的(除了她自己)。这样她才有安全感，如果你真有个女同学，女同事给你个电话，或者短信息什么的，她比谁都关心，耳朵还特好使！你晚上想和兄弟出去聚会的时候，她指不定就在你屁股后面跟着呢！</p>
<p>第九句：不要了么，房事对身体不好。 <br>&#8230;&#8230;自己品味吧！</p>
<p>第十句：没有钱我一样养着你！ <br>天啊，我还没有辞职呢，为了以后的生活，去考it认证，需要点钱，我的工资和奖金一发下来就上缴，现在给点好么，&#8220;记清楚啊，现在可是我在养着你！&#8221;好好努力吧，兄弟们，男人是一家之主，挣钱就是你的责任！</p>
<p>第十一句：我们还是当朋友好了 <br>其实你还有可以利用的价值</p>
<p>第十二句：我想我真的不适合你 <br>我根本就不喜欢你！</p>
<p>第十三句：其实你人真的很好 <br>可是我不想和你在一起</p>
<p>第十四句：你人真的很好 <br>我是真的不想和你在一起</p>
<p>第十五句：你人真的真的很好&#8230;&#8230;真的 <br>猪头，离我远一点！</p>
<p>第十六句：我暂时不想交男朋友 <br>闪边啦！你还不到我心中帅哥标准的一半</p>
<p>第十七句：我不想伤害我们之间的友谊 <br>我们之间也只会有友谊</p>
<p>第十八句：我心中牵挂着一个人 <br>那个人是我专门为你这种人虚构的</p>
<p>第十九句：我从来没想过这个问题 <br>这是根本不可能的，还用想吗？</p>
<p>第二十句：我不适合当个情人 <br>废话，没人会适合当你的情人的</p>
<p>第二十一句：你给我一段时间考虑 <br>不给我时间，我怎么溜啊</p>
<p>第二十二句：你的条件真的很好 <br>可是还没好到我想要的地步</p>
<p>第二十三句：可是这样的感觉好怪 <br>这丑八怪，怪到这样还想吃天鹅肉？</p>
<p>第二十四句：你的温柔我会铭记在心的 <br>拜托，情圣！光温柔是没用的，还要有钱！</p>
<p>第二十五句：其实我一直没勇气接受你 <br>看到你差点吓死&#8230;&#8230;哪还有勇气？</p>
<p>第二十六句：你真的很可爱 <br>你真的很幼稚</p>
<p>第二十七句：你真的是超级可爱啦 <br>猪头！不要象小孩那样缠着我！</p>
<p>第二十八句：遇到你，总会让我重温童年的快乐 <br>就象阿姨遇到小弟弟那样</p>
<p>第二十九句：我们应该给彼此一点缓冲时间 <br>给你时间快滚！再不走我要翻脸啦！</p>
<p>第三十句：别人都说你条件不错啊 <br>可我从来没这样认为！</p>
<p>第三十一句：如果我们早点认识就好了 <br>可以让你早点觉悟！</p>
<p>第三十二句：别急嘛，我们可以先做朋友 <br>趁这个时候我要找到我的白马王子啊，呵呵</p>
</div>
<img src ="http://www.cppblog.com/sicheng/aggbug/51200.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/sicheng/" target="_blank">oyjpart</a> 2008-05-27 09:29 <a href="http://www.cppblog.com/sicheng/archive/2008/05/27/51200.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Tomcat JSP Web 开发中的乱码问题小结</title><link>http://www.cppblog.com/sicheng/archive/2008/05/22/50739.html</link><dc:creator>oyjpart</dc:creator><author>oyjpart</author><pubDate>Thu, 22 May 2008 03:26:00 GMT</pubDate><guid>http://www.cppblog.com/sicheng/archive/2008/05/22/50739.html</guid><wfw:comment>http://www.cppblog.com/sicheng/comments/50739.html</wfw:comment><comments>http://www.cppblog.com/sicheng/archive/2008/05/22/50739.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/sicheng/comments/commentRss/50739.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/sicheng/services/trackbacks/50739.html</trackback:ping><description><![CDATA[Tomcat JSP Web 开发中的乱码问题小结<br>1. 静态页面的乱码问题<br>文件的编码和浏览器要显示的编码不一致。<br>1) 检查文件原始的编码, 可以用记事本打开, 然后选择另存为来看;<br>2) 给当前页面加入一个指令来建议浏览器用指定的编码来显示文件字符内容.<br>&lt;meta http-equiv="content-type" content="text/html; charset=GBK"&gt;<br>3) 如果系统是英文XP,没装东亚字符集支持, 也会显示乱码.<br>2. JSP 页面的乱码问题<br>1) page 指令有个 pageEncoding="GBK" 这个会指定当前页面保存的编码, 如果写成<br>ISO8859-1 就不能保存汉字;<br>2) page 指令的 contentType="text/html; charset=ISO8859-1" 也会像静态页面一样让<br>浏览器来优先选择一种编码.<br>如果JSP 乱码的话,一般就显示成?，而且不管你给浏览器选什么样的编码，它都不能正<br>确显示<br>3. 表单提交的乱码问题(Tomcat 特有)<br>1). POST 的乱码<br>MyEclipse 6 Java 开发中文教程<br>157 刘长炯著<br>a. 首先浏览器提交表单的编码是根据表单所在页面来决定的, 而不是根据提交后的<br>JSP 页面的编码来决定的. 把所有的页面的编码都设置成一样的,例如 GBK.<br>b. 处理方式就是在获取参数之前设置编码:<br>request.setCharacterEncoding("GBK");<br>c. 可以用过滤器的方式来解决, Tomcat 已经带了一个现成的:<br>apache-tomcat-5.5.23\webapps\jsp-examples\WEB-INF\classes\filters\SetCharacter<br>EncodingFilter.java<br>web.xml<br>&lt;filter&gt;<br>&lt;filter-name&gt;Set Character Encoding&lt;/filter-name&gt;<br>&lt;filter-class&gt;filters.SetCharacterEncodingFilter&lt;/filter-class&gt;<br>&lt;init-param&gt;<br>&lt;param-name&gt;encoding&lt;/param-name&gt;<br>&lt;param-value&gt;GBK&lt;/param-value&gt;<br>&lt;/init-param&gt;<br>&lt;/filter&gt;<br>&lt;filter-mapping&gt;<br>&lt;filter-name&gt;Set Character Encoding&lt;/filter-name&gt;<br>&lt;url-pattern&gt;/*&lt;/url-pattern&gt;<br>&lt;/filter-mapping&gt;<br>2) GET 方式的乱码<br>用 setCharacterEncoding() 不能解决. TOMCAT 的一个BUG, GET 方式传送的表单参<br>数总是用的 ISO8859-1 编码. 我们要把它转成 GBK 方式.<br>String username = request.getParameter("username");<br>System.out.println(username);<br>// 转码, 先取得原始的二进制字节数组<br>byte[] data = username.getBytes("ISO8859-1");<br>// 根据新的字符集再构造新的字符串<br>username = new String(data, "GBK");<br>小结:<br>所有的页面(除了最后的 GET 的乱码问题)都用统一的编码(GBK 或者UTF-8), 就不会出现<br>乱码问题
<br><br>以上内容为【转】<br><br>下面是一个完整的过滤器例子：<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #0000ff;">package</span><span style="color: #000000;">&nbsp;filters;<br><br></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;java.io.IOException;<br></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.servlet.Filter;<br></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.servlet.FilterChain;<br></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.servlet.FilterConfig;<br></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.servlet.ServletException;<br></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.servlet.ServletRequest;<br></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.servlet.ServletResponse;<br></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.servlet.http.HttpServletRequest;<br></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.servlet.http.HttpServletRequestWrapper;<br><br></span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;TomcatFormFilter&nbsp;</span><span style="color: #0000ff;">implements</span><span style="color: #000000;">&nbsp;Filter&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/**</span><span style="color: #008000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Request.java&nbsp;对&nbsp;HttpServletRequestWrapper&nbsp;进行扩充,&nbsp;不影响原来的功能并能提供所&nbsp;有的<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;HttpServletRequest&nbsp;接口中的功能.&nbsp;它可以统一的对&nbsp;Tomcat&nbsp;默认设置下的中文问题进行解决而只&nbsp;需要用新的&nbsp;Request<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;对象替换页面中的&nbsp;request&nbsp;对象即可.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;Request&nbsp;</span><span style="color: #0000ff;">extends</span><span style="color: #000000;">&nbsp;HttpServletRequestWrapper&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;Request(HttpServletRequest&nbsp;request)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">super</span><span style="color: #000000;">(request);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/**</span><span style="color: #008000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;转换由表单读取的数据的内码.&nbsp;从&nbsp;ISO&nbsp;字符转到&nbsp;GBK.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;String&nbsp;toChi(String&nbsp;input)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">try</span><span style="color: #000000;">&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">byte</span><span style="color: #000000;">[]&nbsp;bytes&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;input.getBytes(</span><span style="color: #000000;">"</span><span style="color: #000000;">ISO8859-1</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;String(bytes,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">utf-8</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">catch</span><span style="color: #000000;">&nbsp;(Exception&nbsp;ex)&nbsp;{<br>&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;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/**</span><span style="color: #008000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Return&nbsp;the&nbsp;HttpServletRequest&nbsp;holded&nbsp;by&nbsp;this&nbsp;object.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;HttpServletRequest&nbsp;getHttpServletRequest()&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;(HttpServletRequest)&nbsp;</span><span style="color: #0000ff;">super</span><span style="color: #000000;">.getRequest();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/**</span><span style="color: #008000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;读取参数&nbsp;--&nbsp;修正了中文问题.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;String&nbsp;getParameter(String&nbsp;name)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;toChi(getHttpServletRequest().getParameter(name));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/**</span><span style="color: #008000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;读取参数列表&nbsp;-&nbsp;修正了中文问题.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;String[]&nbsp;getParameterValues(String&nbsp;name)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;values[]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;getHttpServletRequest().getParameterValues(name);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(values&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;values.length;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;values[i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;toChi(values[i]);<br>&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;values;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;destroy()&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;doFilter(ServletRequest&nbsp;request,&nbsp;ServletResponse&nbsp;response,&nbsp;FilterChain&nbsp;chain)&nbsp;</span><span style="color: #0000ff;">throws</span><span style="color: #000000;">&nbsp;IOException,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ServletException&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpServletRequest&nbsp;httpreq&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(HttpServletRequest)&nbsp;request;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(httpreq.getMethod().equals(</span><span style="color: #000000;">"</span><span style="color: #000000;">POST</span><span style="color: #000000;">"</span><span style="color: #000000;">))&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request.setCharacterEncoding(</span><span style="color: #000000;">"</span><span style="color: #000000;">utf-8</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Request(httpreq);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.setCharacterEncoding(</span><span style="color: #000000;">"</span><span style="color: #000000;">utf-8</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chain.doFilter(request,&nbsp;response);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;init(FilterConfig&nbsp;filterConfig)&nbsp;</span><span style="color: #0000ff;">throws</span><span style="color: #000000;">&nbsp;ServletException&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}</span></div>
<br>web.xml中加入如下配置信息<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">filter</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">filter-name</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">TomcatFormFilter</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">filter-name</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">filter-class</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">filters.TomcatFormFilter</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">filter-class</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">filter</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">filter-mapping</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">filter-name</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">TomcatFormFilter</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">filter-name</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">url-pattern</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">/*</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">url-pattern</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">filter-mapping</span><span style="color: #0000ff;">&gt;</span></div>
<br><br>上述都是使用统一的GBK编码，如果想用utf-8编码的话，稍作修改就可以了。<br>在解决了JSP乱码问题之后，还有一个问题，就是数据库乱码问题。 <br>我使用的数据库是mysql<br>在hibernate的配置文件中加入<br>&nbsp;&nbsp; &nbsp;&lt;property name="connection.useUnicode"&gt;true&lt;/property&gt;<br>&nbsp;&nbsp; &nbsp;&lt;property name="connection.characterEncoding"&gt;UTF-8&lt;/property&gt;
<br>就算是一整套的中文解决方案了。<br><br> <img src ="http://www.cppblog.com/sicheng/aggbug/50739.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/sicheng/" target="_blank">oyjpart</a> 2008-05-22 11:26 <a href="http://www.cppblog.com/sicheng/archive/2008/05/22/50739.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转】一页纸多一点的博士论文拿到诺奖</title><link>http://www.cppblog.com/sicheng/archive/2008/05/20/50582.html</link><dc:creator>oyjpart</dc:creator><author>oyjpart</author><pubDate>Tue, 20 May 2008 14:36:00 GMT</pubDate><guid>http://www.cppblog.com/sicheng/archive/2008/05/20/50582.html</guid><wfw:comment>http://www.cppblog.com/sicheng/comments/50582.html</wfw:comment><comments>http://www.cppblog.com/sicheng/archive/2008/05/20/50582.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/sicheng/comments/commentRss/50582.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/sicheng/services/trackbacks/50582.html</trackback:ping><description><![CDATA[<font style="font-size: small; line-height: 1.3em;">故事发生在二十世纪初的法国。</font>
<div id="blogContainer"><wbr>
<br><font style="font-size: small; line-height: 1.3em;">巴黎。一样的延续着千百年的灯红酒绿，香榭丽舍大道上散发着繁华和暧昧，红磨坊里弥漫着躁动与彷徨。而在此时的巴黎，有一个年轻人，名字叫做德布罗意（De
Broglie），从他的名字当中可以看出这是一个贵族，事实上德布罗意的父亲正是法国的一个伯爵，并且是正是一位当权的内阁部长。这样一个不愁吃不愁穿只是成天愁着如何打发时光的花花公子自然要找一个能消耗精力的东西来磨蹭掉那些无聊的日子（其实象他这样的花花公子大约都会面临这样的问题）德布罗意则找到了一个很酷的&#8220;事业&#8221;——研究中世纪史。据说是因为中世纪史中有着很&nbsp;&nbsp;多神秘的东西吸引着这位年轻人。　　</font><wbr>
<br><font style="font-size: small; line-height: 1.3em;">时间一转就到了1919，这是一个科学界急剧动荡动着的年代。就在这一年，德布罗意突然移情别恋对物理产生了兴趣，尤其是感兴趣于当时正流行的量子论。具体来说就是感兴趣于一个在当时很酷的观点：光具有粒子性。这一观点早在十几年前由普朗克提出，而后被爱因斯坦用来解释了光电效应，但即便如此，也非常不见容于物理学界各大门派。　　</font><wbr>
<br><font style="font-size: small; line-height: 1.3em;">德布罗意倒并不见得对这一观点的物理思想有多了解，也许他的理解也仅仅就是理解到这个观点是在说&#8220;波就是粒子&#8221;。或许是一时冲动，或许是因为年轻而摆酷，德布罗意来到了一派宗师朗之万门下读研究生。从此，德布罗意走出了一道足以让让任何传奇都黯然失色的人生轨迹。</font><wbr>
<br><font style="font-size: small; line-height: 1.3em;">二 </font><wbr><br><font style="font-size: small; line-height: 1.3em;">历史上德布罗意到底花了多少精力去读他的研究生也许已经很难说清，事实上德布罗意在他的5年研究生生涯中几乎是一事无成。事实上也可以想象，一个此前对物理一窍不通的中世纪史爱好者很难真正的在物理上去做些什么。
</font><wbr><br><font style="font-size: small; line-height: 1.3em;">白驹过隙般的五年转眼就过去了，德布罗意开始要为他的博士论文发愁了。其实德布罗意大约只是明白普朗克爱因斯坦那帮家伙一直在说什么波就是粒子，（事实上对于普朗克大约不能用&#8220;一直&#8221;二字，此时的普朗克已经完全抛弃自己当初的量子假设，又回到了经典的就框架。）而真正其中包含的物理，他能理解多少大约只有上帝清楚。</font><wbr>
<br><font style="font-size: small; line-height: 1.3em;">五年的尽头，也就是在1924，德布罗意终于提交了自己的博士论文。
他的博士论文只有一页纸多一点，不过可以猜想这一页多一点的一份论文大约已经让德布罗意很头疼了，只可惜当时没有枪手可以雇来帮忙写博士论文。他的博士论文只是说了一个猜想，既然波可以是粒子，那么反过来粒子也可以
是波。</font><wbr> <br><font style="font-size: small; line-height: 1.3em;">　　&nbsp;&nbsp;而进一步德布罗意提出波的波矢和角频率与粒子动量和能量的关系是：
<br>&nbsp;&nbsp;　　　　　　动量＝普朗克常数／波矢 <br>&nbsp;&nbsp;　　　　　　能量＝普朗克常数＊角频率
<br>这就是他的论文里提出的两个公式而这两个公式的提出也完全是因为在爱因斯坦解释光电效应的时候提出光子的动量和能量与光的参数满足这一关系。
</font><wbr><br><font style="font-size: small; line-height: 1.3em;">可以想象这样一个博士论文会得到怎样的回应。在对论文是否通过的投票之前，德布罗意的老板朗之万就事先得知论文评审委员会的六位教授中有三位已明确表态会投反对票。本来在欧洲，一个学生苦读数年都拿不到学位是件很正常的事情，时至今日的欧洲也依然如此。何况德布罗意本来就是这么一个来混日子的的花花公子。然而这次偏偏又有些不一样——德布罗意的父亲又是一位权高望众的内阁部长，而德布罗意在此厮混五年最后连一个Ph.D都没拿到，双方面子上自然也有些挂不住。情急之中，朗之万往他的一个好朋友那里寄了一封信。当初的朗之万是不是碍于情面想帮德布罗意混得一个PhD已不得而知，然而事实
上，这一封信却改变了科学发展的轨迹。&nbsp;&nbsp;　 </font><wbr><br><font style="font-size: small; line-height: 1.3em;">三</font><wbr> <br><font style="font-size: small; line-height: 1.3em;">这封信的收信人是爱因斯坦。 </font><wbr><br><font style="font-size: small; line-height: 1.3em;">信的内容大致如下： </font><wbr><br><font style="font-size: small; line-height: 1.3em;">尊敬的爱因斯坦阁下：在我这里有一位研究生，已经攻读了五年的博士学位，如今即将毕业，在他提
交的毕业论文中有一些新的想法&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;请对他的论文作出您的评价。另外顺便向您提及，该研究生的父亲是弊国的一位伯爵，内阁的＊＊部长，若您&#8230;&#8230;，将来您来法国定会受到隆重的接待
</font><wbr><br><font style="font-size: small; line-height: 1.3em;">　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　朗之万
</font><wbr><br><font style="font-size: small; line-height: 1.3em;">在信中，大约朗之万的潜台词似乎就是如果您不肯给个面子，呵呵，以后就甭来法国了。&nbsp;&nbsp;
</font><wbr><br><font style="font-size: small; line-height: 1.3em;">不知是出于知趣呢，还是出于当年自己的离经叛道而产生的惺惺相惜，爱因斯坦很客气回了一封信，大意是该论文里有一些很新很有趣的思想云云。
</font><wbr><br><font style="font-size: small; line-height: 1.3em;">此时的爱因斯坦虽不属于任何名门望派，却已独步于江湖，颇有威望。有了爱因斯坦的这一封信，评审委员会的几位教授也不好再多说些什么了。
</font><wbr><br><font style="font-size: small; line-height: 1.3em;">于是，皆大欢喜。浪荡子弟德布罗意就这样&#8220;攻读&#8221;下了他的PhD（博士）。而按照当时欧洲的学术传统，朗之万则将德布罗意的博士论文印成若干份分寄到了欧洲各大学的物理系。大约所有人都以为事情会就此了结，多少年以后德布罗意那篇&#8220;很新很有趣&#8221;
博士论文也就被埋藏到了档案堆里了。德布罗意大约也就从此以一个PhD的身份继续自己的浪荡生活。。 </font><wbr><br><font style="font-size: small; line-height: 1.3em;">但历史总是喜欢用偶然来开一些玩笑，而这种玩笑中往往也就顺带着改变了许多人的命运。
</font><wbr><br><font style="font-size: small; line-height: 1.3em;">在朗之万寄出的博士论文中，有一份来到了维也纳大学。
</font><wbr><br><font style="font-size: small; line-height: 1.3em;">四
</font><wbr><br><font style="font-size: small; line-height: 1.3em;">1926年初。维也纳。当时在维也纳大学主持物理学术活动的教授是德拜，他收到这份博士论文后，将它交给了他的组里面一位已经年届中年的讲师。这位讲师接到的任务是在两周后的seminar（学术例会）上将该博士论讲一下。这位&#8220;老&#8221;讲师大约早已适应了他现在这种不知算是平庸还是算是平静的生活，可以想象，一个已到不惑之年而仍然只在讲师的位置上晃荡的人，其学术前途自然是朦胧而晦暗。而大约也正因为这位讲师的这种地位才使得它可以获得这个任务，因为德拜将任务交给这位讲师时的理由正是&#8220;你现在研究的问题不很重要，不如给我们讲讲德布罗意的论文吧&#8221;&nbsp;&nbsp;。这位讲师的名字叫做——薛定谔（Schrodinger）
</font><wbr><br><font style="font-size: small; line-height: 1.3em;">在接下来的两周里，薛定谔仔细的读了一下德布罗意的&#8220;博士论文&#8221;，其实从内容上来讲也许根本就用不上&#8220;仔细&#8221;二字，德布罗意的这篇论文只不过一页纸多一点，通篇提出的式子也不过就两个而已，并且其原型是已经在爱因斯坦发表的论文中出现过的。然而论文里说的话却让薛定谔一头雾水，薛定谔只知道德布罗意大讲了一通&#8220;波即粒子，粒子即波&#8221;，除此之外则是&#8220;两个黄鹂鸣翠柳&#8221;——不知所云。两周之后，薛定谔硬着头皮把这篇论文的内容在seminar上讲了一下，讲者不懂，听者自然也是云里雾里，而老板德拜则做了一个客气的评价：&#8220;这个年轻人的观点还是有些新颖的东西的，虽然显得很孩子气，当然也许他需要更深入一步，比如既然提到波的概念，那么总该有一个波动方程吧&#8221;多年以后有人问德拜是否后悔自己当初作出的这一个评论，德拜自我解嘲的说&#8220;你不觉得这是一个很好的评论吗？&#8221;并且，德拜建议薛定谔做一做这个工作，在两周