﻿<?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++博客-算法学社</title><link>http://www.cppblog.com/hanfei19910905/</link><description>記錄難忘的征途</description><language>zh-cn</language><lastBuildDate>Wed, 08 Apr 2026 16:04:07 GMT</lastBuildDate><pubDate>Wed, 08 Apr 2026 16:04:07 GMT</pubDate><ttl>60</ttl><item><title>[奋战2013regional] 南京赛区总结</title><link>http://www.cppblog.com/hanfei19910905/archive/2013/11/07/204139.html</link><dc:creator>西月弦</dc:creator><author>西月弦</author><pubDate>Thu, 07 Nov 2013 05:53:00 GMT</pubDate><guid>http://www.cppblog.com/hanfei19910905/archive/2013/11/07/204139.html</guid><wfw:comment>http://www.cppblog.com/hanfei19910905/comments/204139.html</wfw:comment><comments>http://www.cppblog.com/hanfei19910905/archive/2013/11/07/204139.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/hanfei19910905/comments/commentRss/204139.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/hanfei19910905/services/trackbacks/204139.html</trackback:ping><description><![CDATA[距离去年狂刷题的日子已经过去一年了，一年来发生了很多，改变了很多。<br />是成熟了，还是老了呢。我不知道，不知不觉已经很少再刷题，不过还会坚持做定期的在线比赛。<br />可惜rating迟迟也上不去，雄心壮志也渐渐褪去。<br /><br />额，还是来说这个比赛吧。。。去南京的途中没什么好说的，除了再一次做火车累得要死，和想到应该是最后一次做长途火车了，也没什么特别的感觉了。<br /><br />比赛前一天晚上很紧张，两点多才睡着。。。 偷偷告诉自己，只要保持注意力集中，就能给力！<br /><br />比赛开始，xy从头往后看题，孟神从后往前看题，我输入密码登录pc^2。这时xy已经告诉我A题是个水题了。。。<br />xy上去敲A，我再确认了一下A题的条件，然后提醒了xy一些细节。12min 1Y<br /><br />这时发现J题已经有队伍提交了。孟神给我解释了一下题意，我想了一个贪心的做法。然后上去敲。<br />这时候直播的镜头ms拍到我了，当时我很紧张，表情比较纠结。。。 生怕交错了增加罚时。。。不过好在A了 = = 27min 1Y<br />然后，孟神给我讲了I题的做法，我感觉靠谱，然后就自己敲了。。。。 结果调样例各种不过，然后就把代码带出来扔给孟神了。<br /><br />然后发现C是tiling问题，怒搞之。。。 然后样例也没过，各种调。。。。<br />后来孟神终于发现了I题的傻逼错误，74min 1Y.<br />紧接着我也发现了C题的bug，84min 1Y.<br /><br />然后此时排名是第五，感觉很不错。<br />发现B有人A，和xy讨论了一个算法，上去敲，怒写二分，期间因为太紧张（智商低）衍生出来各种疑问，被xy拉下来了 = =...<br /><br />然后xy 1WA = =... 我接着我那个敲，但是我也不能保证Yes。。。 但是ms可以避免一些精度问题，敲完了之后，测了一些数据，发现和xy的一样。。。更没底了<br /><br />不过还是交了，出乎意料的yes ...152min 2Y<br /><br />然后就是2个半小时，你看看我，我看看你，然后就结束了 = =... 最后银奖第四。。。<br /><img src ="http://www.cppblog.com/hanfei19910905/aggbug/204139.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hanfei19910905/" target="_blank">西月弦</a> 2013-11-07 13:53 <a href="http://www.cppblog.com/hanfei19910905/archive/2013/11/07/204139.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【奋战2013regional】Guass消元的一些应用（坑）</title><link>http://www.cppblog.com/hanfei19910905/archive/2013/09/14/203230.html</link><dc:creator>西月弦</dc:creator><author>西月弦</author><pubDate>Fri, 13 Sep 2013 17:13:00 GMT</pubDate><guid>http://www.cppblog.com/hanfei19910905/archive/2013/09/14/203230.html</guid><wfw:comment>http://www.cppblog.com/hanfei19910905/comments/203230.html</wfw:comment><comments>http://www.cppblog.com/hanfei19910905/archive/2013/09/14/203230.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/hanfei19910905/comments/commentRss/203230.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/hanfei19910905/services/trackbacks/203230.html</trackback:ping><description><![CDATA[0。Guass消元的方法<br />Guass消元可以求矩阵的秩，行列式，逆元，解方程组等等。<br />矩阵的值可以是整数 or 浮点数。<br />对于解方程组来说，x1 + x2 + ... mod m = b 用主列消元法，需要求逆元。<br />如果是浮点数，可以用迭代法（spfa），在姜碧野的论文里有讲。<br /><br /><br />1。利用Guass消元解决计数问题<br /><br />这一类我掌握的不好，一般来讲是求方程组的解的个数。<br />当然应该只对 x1 + x2 + ... + xn mod m = b 这样的整数方程组有效了。<br />srm 590 div1 500就是典型的例子，在n个数中挑选一些数，让其xor值小于等于limit。<br />这个问题和等于是等价的。至于等于怎么求，就是方程组的解数了。和自由元的个数相关。<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><img id="Code_Closed_Image_011147" onclick="this.style.display='none'; Code_Closed_Text_011147.style.display='none'; Code_Open_Image_011147.style.display='inline'; Code_Open_Text_011147.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" height="16" width="11"><img id="Code_Open_Image_011147" style="display: none" onclick="this.style.display='none'; Code_Open_Text_011147.style.display='none'; Code_Closed_Image_011147.style.display='inline'; Code_Closed_Text_011147.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" height="16" width="11"><span id="Code_Closed_Text_011147" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">srm 590div1 500pt</span><span id="Code_Open_Text_011147" style="display: none"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #000000; ">#include</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">iostream</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #000000; ">#include</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">vector</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">using</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">namespace</span><span style="color: #000000; ">&nbsp;std;<br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #000000; ">typedef&nbsp;</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">&nbsp;ll;<br /></span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #000000; ">typedef&nbsp;vector</span><span style="color: #000000; ">&lt;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;Vec;<br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #000000; ">typedef&nbsp;vector</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">Vec</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;Mat;<br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #000000; ">ll&nbsp;Guass(vector</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">ll</span><span style="color: #000000; ">&gt;&amp;</span><span style="color: #000000; ">&nbsp;number,ll&nbsp;limit)<br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #000000; ">{<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&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;number.size();<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;Mat&nbsp;matrix(</span><span style="color: #000000; ">50</span><span style="color: #000000; ">,Vec(m</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">));<br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</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;</span><span style="color: #000000; ">50</span><span style="color: #000000; ">;&nbsp;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">){<br /></span><span style="color: #008080; ">12</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;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;m;&nbsp;j</span><span style="color: #000000; ">++</span><span style="color: #000000; ">){<br /></span><span style="color: #008080; ">13</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;matrix[i][j]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">!!</span><span style="color: #000000; ">(1LL&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;i&nbsp;</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">&nbsp;number[j]);<br /></span><span style="color: #008080; ">14</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;matrix[i][m]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">!!</span><span style="color: #000000; ">(1LL&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;i&nbsp;</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">&nbsp;limit);<br /></span><span style="color: #008080; ">16</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">17</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">18</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;free&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,line&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">19</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;row&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;&nbsp;row&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">&nbsp;m&nbsp;;&nbsp;row</span><span style="color: #000000; ">++</span><span style="color: #000000; ">){<br /></span><span style="color: #008080; ">20</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;p&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; ">;<br /></span><span style="color: #008080; ">21</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</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;line;&nbsp;i&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">50</span><span style="color: #000000; ">;&nbsp;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(matrix[i][row]){<br /></span><span style="color: #008080; ">22</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;i;<br /></span><span style="color: #008080; ">23</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">24</span>&nbsp;<span style="color: #000000; ">&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; ">1</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;p){<br /></span><span style="color: #008080; ">25</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;free&nbsp;</span><span style="color: #000000; ">++</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">26</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">continue</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">27</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">28</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;swap(matrix[line],matrix[p]);<br /></span><span style="color: #008080; ">29</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</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;line&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;</span><span style="color: #000000; ">50</span><span style="color: #000000; ">;&nbsp;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(matrix[i][row]){<br /></span><span style="color: #008080; ">30</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;p&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;&nbsp;p&nbsp;</span><span style="color: #000000; ">&lt;=</span><span style="color: #000000; ">&nbsp;m;&nbsp;p</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)<br /></span><span style="color: #008080; ">31</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;matrix[i][p]&nbsp;</span><span style="color: #000000; ">^=</span><span style="color: #000000; ">&nbsp;matrix[line][p];<br /></span><span style="color: #008080; ">32</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">33</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080; ">34</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line&nbsp;</span><span style="color: #000000; ">++</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">35</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">36</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</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;line;&nbsp;i&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">50</span><span style="color: #000000; ">;&nbsp;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)<br /></span><span style="color: #008080; ">37</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</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;matrix[i][m])<br /></span><span style="color: #008080; ">38</span>&nbsp;<span style="color: #000000; ">&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: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">39</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">answer&nbsp;:&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;limit&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">free</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">endl;<br /></span><span style="color: #008080; ">40</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;1LL&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;free;<br /></span><span style="color: #008080; ">41</span>&nbsp;<span style="color: #000000; ">}<br /></span><span style="color: #008080; ">42</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;XorCards{<br /></span><span style="color: #008080; ">43</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;:ll&nbsp;numberOfWays(vector</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">ll</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;number,ll&nbsp;limit)<br /></span><span style="color: #008080; ">44</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">45</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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;number.size();<br /></span><span style="color: #008080; ">46</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ll&nbsp;ans&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;Guass(number,limit);<br /></span><span style="color: #008080; ">47</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</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;</span><span style="color: #000000; ">50</span><span style="color: #000000; ">;&nbsp;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(1LL</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">i&nbsp;</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">&nbsp;limit){<br /></span><span style="color: #008080; ">48</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vector</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">ll</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;vct(n);<br /></span><span style="color: #008080; ">49</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;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;j</span><span style="color: #000000; ">++</span><span style="color: #000000; ">){<br /></span><span style="color: #008080; ">50</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vct[j]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;number[j]&nbsp;</span><span style="color: #000000; ">&gt;&gt;</span><span style="color: #000000; ">&nbsp;i;<br /></span><span style="color: #008080; ">51</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">52</span>&nbsp;<span style="color: #000000; ">&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;Guass(vct,(limit</span><span style="color: #000000; ">&gt;&gt;</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; ">);<br /></span><span style="color: #008080; ">53</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">54</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;ans;<br /></span><span style="color: #008080; ">55</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">56</span>&nbsp;<span style="color: #000000; ">};</span></span></div><br />2。开关问题<br /><br />3。求期望<br /><br /><img src ="http://www.cppblog.com/hanfei19910905/aggbug/203230.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hanfei19910905/" target="_blank">西月弦</a> 2013-09-14 01:13 <a href="http://www.cppblog.com/hanfei19910905/archive/2013/09/14/203230.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【奋战2013regional】 2013东北赛总结</title><link>http://www.cppblog.com/hanfei19910905/archive/2013/06/10/200909.html</link><dc:creator>西月弦</dc:creator><author>西月弦</author><pubDate>Sun, 09 Jun 2013 16:59:00 GMT</pubDate><guid>http://www.cppblog.com/hanfei19910905/archive/2013/06/10/200909.html</guid><wfw:comment>http://www.cppblog.com/hanfei19910905/comments/200909.html</wfw:comment><comments>http://www.cppblog.com/hanfei19910905/archive/2013/06/10/200909.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cppblog.com/hanfei19910905/comments/commentRss/200909.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/hanfei19910905/services/trackbacks/200909.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/hanfei19910905/archive/2013/06/10/200909.html'>阅读全文</a><img src ="http://www.cppblog.com/hanfei19910905/aggbug/200909.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hanfei19910905/" target="_blank">西月弦</a> 2013-06-10 00:59 <a href="http://www.cppblog.com/hanfei19910905/archive/2013/06/10/200909.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【奋战2013regional】 【和小学弟一起刷题】topcoder 477 div1 待续。。。</title><link>http://www.cppblog.com/hanfei19910905/archive/2013/06/01/200733.html</link><dc:creator>西月弦</dc:creator><author>西月弦</author><pubDate>Fri, 31 May 2013 17:09:00 GMT</pubDate><guid>http://www.cppblog.com/hanfei19910905/archive/2013/06/01/200733.html</guid><wfw:comment>http://www.cppblog.com/hanfei19910905/comments/200733.html</wfw:comment><comments>http://www.cppblog.com/hanfei19910905/archive/2013/06/01/200733.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/hanfei19910905/comments/commentRss/200733.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/hanfei19910905/services/trackbacks/200733.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: topcoder 577&nbsp;&nbsp;<a href='http://www.cppblog.com/hanfei19910905/archive/2013/06/01/200733.html'>阅读全文</a><img src ="http://www.cppblog.com/hanfei19910905/aggbug/200733.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hanfei19910905/" target="_blank">西月弦</a> 2013-06-01 01:09 <a href="http://www.cppblog.com/hanfei19910905/archive/2013/06/01/200733.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【奋战2013regional】 【和小学弟一起刷题】codeforces #186 div2 </title><link>http://www.cppblog.com/hanfei19910905/archive/2013/05/31/200730.html</link><dc:creator>西月弦</dc:creator><author>西月弦</author><pubDate>Fri, 31 May 2013 12:48:00 GMT</pubDate><guid>http://www.cppblog.com/hanfei19910905/archive/2013/05/31/200730.html</guid><wfw:comment>http://www.cppblog.com/hanfei19910905/comments/200730.html</wfw:comment><comments>http://www.cppblog.com/hanfei19910905/archive/2013/05/31/200730.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/hanfei19910905/comments/commentRss/200730.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/hanfei19910905/services/trackbacks/200730.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/hanfei19910905/archive/2013/05/31/200730.html'>阅读全文</a><img src ="http://www.cppblog.com/hanfei19910905/aggbug/200730.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hanfei19910905/" target="_blank">西月弦</a> 2013-05-31 20:48 <a href="http://www.cppblog.com/hanfei19910905/archive/2013/05/31/200730.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【奋战2013regional】 老骥伏枥，志在千里 --- 通化邀请赛总结</title><link>http://www.cppblog.com/hanfei19910905/archive/2013/05/28/200627.html</link><dc:creator>西月弦</dc:creator><author>西月弦</author><pubDate>Mon, 27 May 2013 16:53:00 GMT</pubDate><guid>http://www.cppblog.com/hanfei19910905/archive/2013/05/28/200627.html</guid><wfw:comment>http://www.cppblog.com/hanfei19910905/comments/200627.html</wfw:comment><comments>http://www.cppblog.com/hanfei19910905/archive/2013/05/28/200627.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.cppblog.com/hanfei19910905/comments/commentRss/200627.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/hanfei19910905/services/trackbacks/200627.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 。。。&nbsp;&nbsp;<a href='http://www.cppblog.com/hanfei19910905/archive/2013/05/28/200627.html'>阅读全文</a><img src ="http://www.cppblog.com/hanfei19910905/aggbug/200627.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hanfei19910905/" target="_blank">西月弦</a> 2013-05-28 00:53 <a href="http://www.cppblog.com/hanfei19910905/archive/2013/05/28/200627.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【奋战2013regional】 迭代法求解方程组</title><link>http://www.cppblog.com/hanfei19910905/archive/2013/05/23/200555.html</link><dc:creator>西月弦</dc:creator><author>西月弦</author><pubDate>Thu, 23 May 2013 15:03:00 GMT</pubDate><guid>http://www.cppblog.com/hanfei19910905/archive/2013/05/23/200555.html</guid><wfw:comment>http://www.cppblog.com/hanfei19910905/comments/200555.html</wfw:comment><comments>http://www.cppblog.com/hanfei19910905/archive/2013/05/23/200555.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/hanfei19910905/comments/commentRss/200555.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/hanfei19910905/services/trackbacks/200555.html</trackback:ping><description><![CDATA[我们知道，求解方程组的一般方法是高斯消元，时间复杂度为 O(n^3)。<br /><br />如果求得解是实数的话，我们可以通过牺牲精度的方法来迭代求解。具体见2009年姜碧野的论文。<br /><br />原理是这样的：<br />a11 * x1 + a12 * x2 + ... + a1n * xn = b1 可以变化成<br /><br />x1 = 1/a11 * (b1 - a12 * x2 - a13 * x3 - .. a1n * xn);<br /><br />如果x1 ... xn已经估计了一个值，那么通过上式进行进一步迭代就会得到更精确的解。<br />如果有解的话，最后一定是收敛的。<br />但是如果无解，或者有多个解，结果怎么样我就不知道了。。。。<br /><br />这种方法叫做 jacobi 迭代法，复杂度O(k * n^2)。<br /><br />缺点是后期收敛速度很慢。<br /><br />有一种改进方法，叫做代数多重网格法（Algebraic Multi-Grid）。迭代过程中可以逐渐缩小大型矩阵的规模，使网格由细变粗。<br /><br />具体细节有待钻研。<img src ="http://www.cppblog.com/hanfei19910905/aggbug/200555.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hanfei19910905/" target="_blank">西月弦</a> 2013-05-23 23:03 <a href="http://www.cppblog.com/hanfei19910905/archive/2013/05/23/200555.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【奋战2013regional】 【和小学弟一起刷题】codeforces #182 div1 【坑】</title><link>http://www.cppblog.com/hanfei19910905/archive/2013/05/23/200553.html</link><dc:creator>西月弦</dc:creator><author>西月弦</author><pubDate>Thu, 23 May 2013 11:24:00 GMT</pubDate><guid>http://www.cppblog.com/hanfei19910905/archive/2013/05/23/200553.html</guid><wfw:comment>http://www.cppblog.com/hanfei19910905/comments/200553.html</wfw:comment><comments>http://www.cppblog.com/hanfei19910905/archive/2013/05/23/200553.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/hanfei19910905/comments/commentRss/200553.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/hanfei19910905/services/trackbacks/200553.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这场比赛发挥的不错，rank 33，但是unrated。。。。 题目都很有意思，这里回忆一下&nbsp;&nbsp;<a href='http://www.cppblog.com/hanfei19910905/archive/2013/05/23/200553.html'>阅读全文</a><img src ="http://www.cppblog.com/hanfei19910905/aggbug/200553.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hanfei19910905/" target="_blank">西月弦</a> 2013-05-23 19:24 <a href="http://www.cppblog.com/hanfei19910905/archive/2013/05/23/200553.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【奋战2013regional】 【和小学弟一起刷题】NEERC 2012 练习赛总结 【坑】</title><link>http://www.cppblog.com/hanfei19910905/archive/2013/05/23/200539.html</link><dc:creator>西月弦</dc:creator><author>西月弦</author><pubDate>Wed, 22 May 2013 17:25:00 GMT</pubDate><guid>http://www.cppblog.com/hanfei19910905/archive/2013/05/23/200539.html</guid><wfw:comment>http://www.cppblog.com/hanfei19910905/comments/200539.html</wfw:comment><comments>http://www.cppblog.com/hanfei19910905/archive/2013/05/23/200539.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/hanfei19910905/comments/commentRss/200539.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/hanfei19910905/services/trackbacks/200539.html</trackback:ping><description><![CDATA[总之，这场练习赛是有史以来做的最不好的。做了四个小时大家就草草收场总结了。<br /><br />说实话确实是受心情影响了，而且还是学弟喷我。。。。 不过算了，清者自清，想踩我先努力到位再说！<br /><br />比赛开始，xy看A题，孟神看最后一题，我看题目描述短的一题。<br />其实这样做不是很妥，因为A题和J题未必就很水，所以以后应该一个人负责一个区间，然后挑短的看！<br /><br />A题是构造题，不难写10多分钟就1A了。<br /><br />接下来G题也有若干人过，题意是求[0，n]中K进制和-K进制表示一样的数的个数。<br />孟神确认这样的数用K进制表示后，奇数位一定是0，数位DP可搞。<br /><br />但是隐隐觉得数位DP有点大材小用，而且一开始这么多队过应该不难。<br />不过没细想，就敲了，交上去后WA。孟神上去对拍，xy给我讲H题。<br /><br />H题是给你一个字符串，求所有可以经过重排列构成回文串的子串的个数，N是3e5。<br />隐隐觉得是不是CF某场出过。。。。 当时很冲动的想了一个DP，后来发现是错的，当时应该和xy确认一下就好了。。。。<br /><br />G题对拍了写了很长时间，当时隐隐觉得节奏不对，可是也没别的题可敲（暴露出队内DPS不足的致命缺点，而且对拍应该是最后手段）。发现数位dp想错了一个很重要的地方，改了依然wa。这是隐隐觉得是long long的问题，但是暂时没有想到是哪里long long 用的不对，其实之间已经想出了sqrt(n)的构造算法，不过总觉得源程序改改就能过。。。。<br /><br />期间H题我想到可以将52个字母的前缀和的奇偶hash成二进制，然后存到map中。多亏了省赛的H。。。。 不久敲完，wa了一发，发现了long long的问题，然后再交，TLE。<br />10^7次map操作已经超过了两秒，我之前一直没有意识到。。。。 这样一直卡着两题，xy确认了E的题意，觉的是贪心，和我确认了一发，我觉得靠谱，于是让他搞，我调两道题的错。<br /><br />终于发现G题输入没用long long的sb错误，于是上去改之，AC。。。当时我还大吼了一下。。。。<br />H题改用hash代替map，wa了两发不明原因，后来发现是hash的插入过程写错了一点点。。。。<br /><br />这暴露了另一个问题，队内的其他人看不懂我代码。。。 队内没有统一模板的习惯。。。。<br />E题xy说有反例，我说改成背包不是问题。但是要输出DP路径，状态是三维的，十分恶心。。。最后没有心情敲了。。。。<br /><br />还是做题量偏少。。。。C题一开始觉得是二分答案，但是分数精度很难控制，后来发现可以贪心，随手交一发，wa，于是我敲E了。<br /><br />让xy和孟神查错，不久他们举出了一个反例，于是我马上确认了这是斜率DP。。。。然后我当时很累了。。。于是就开会总结了。。。<br /><br />目前主要有这么几个问题：<br />1. 卡题的时候查错效率太低。。。。队友不熟悉我代码，队内没有统一模板，盲目对拍。。。<br />2. 开题草率，依然是这个问题。 G题一开始用了麻烦做法，H没有正确估计时间，C题E题用了错误的贪心，没有去证明正确性。<br />3. 组队模式有缺陷，卡题逆风乏力，后期乏力。目前队内还是过于依赖我主敲代码，但是当我接连卡题的时候，节奏就全没有了，也缺乏足够的冷静。后期攻难题也依赖平均水平和队友的综合实力，这个需要慢慢磨合。<img src ="http://www.cppblog.com/hanfei19910905/aggbug/200539.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hanfei19910905/" target="_blank">西月弦</a> 2013-05-23 01:25 <a href="http://www.cppblog.com/hanfei19910905/archive/2013/05/23/200539.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>致歉</title><link>http://www.cppblog.com/hanfei19910905/archive/2013/05/21/200472.html</link><dc:creator>西月弦</dc:creator><author>西月弦</author><pubDate>Tue, 21 May 2013 15:28:00 GMT</pubDate><guid>http://www.cppblog.com/hanfei19910905/archive/2013/05/21/200472.html</guid><wfw:comment>http://www.cppblog.com/hanfei19910905/comments/200472.html</wfw:comment><comments>http://www.cppblog.com/hanfei19910905/archive/2013/05/21/200472.html#Feedback</comments><slash:comments>24</slash:comments><wfw:commentRss>http://www.cppblog.com/hanfei19910905/comments/commentRss/200472.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/hanfei19910905/services/trackbacks/200472.html</trackback:ping><description><![CDATA[由于昨天我的不冷静言行，无意伤害了很多人。现在我将一些不妥的言论删除，大家宽宏大量，不要在意！<br /><br />我诚恳的向黑龙江所有ACMer致歉，无心之言，多加包涵！<br /><br />也十分感谢"无"和&#8220;退役很久了&#8221;两位朋友对我的规劝，也感谢为我说话，替我着想的一些朋友，这些情谊鄙人有生难忘！<br /><br />至于匿名恶意攻击我的人，咱们两不相欠！<br /><br />最后祝愿所有ACMer都能实现自己的梦想！ <img src ="http://www.cppblog.com/hanfei19910905/aggbug/200472.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/hanfei19910905/" target="_blank">西月弦</a> 2013-05-21 23:28 <a href="http://www.cppblog.com/hanfei19910905/archive/2013/05/21/200472.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>