﻿<?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++博客-JUST ENJOY! JUST AC!-最新评论</title><link>http://www.cppblog.com/tortoisewu/CommentsRSS.aspx</link><description>Accepted</description><language>zh-cn</language><pubDate>Fri, 09 Apr 2010 14:33:50 GMT</pubDate><lastBuildDate>Fri, 09 Apr 2010 14:33:50 GMT</lastBuildDate><generator>cnblogs</generator><item><title>re: poj 1182 解题报告</title><link>http://www.cppblog.com/tortoisewu/archive/2010/04/05/85501.html#111697</link><dc:creator>monday41</dc:creator><author>monday41</author><pubDate>Mon, 05 Apr 2010 13:03:00 GMT</pubDate><guid>http://www.cppblog.com/tortoisewu/archive/2010/04/05/85501.html#111697</guid><description><![CDATA[在union时，为什么秩合并会WA<br>void unions(int rootx, int rooty, int x, int y, int dkind)<br>{<br>	if(rank[rootx]&gt;rank[rooty])<br>	{<br>		ufind[rooty].parent=rootx;<br>		rank[rootx]+=rank[rooty];<br>	}<br>	else<br>	{<br>		ufind[rootx].parent=rooty;<br>		rank[rooty]+=rank[rooty];<br>	}<br>    ufind[rooty].kind=(-dkind+(ufind[x].kind-ufind[y].kind)+3)%3;<br>}				<img src ="http://www.cppblog.com/tortoisewu/aggbug/111697.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/tortoisewu/" target="_blank">monday41</a> 2010-04-05 21:03 <a href="http://www.cppblog.com/tortoisewu/archive/2010/04/05/85501.html#111697#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: poj 1182 解题报告</title><link>http://www.cppblog.com/tortoisewu/archive/2010/02/01/85501.html#106919</link><dc:creator>匿名</dc:creator><author>匿名</author><pubDate>Sun, 31 Jan 2010 17:25:00 GMT</pubDate><guid>http://www.cppblog.com/tortoisewu/archive/2010/02/01/85501.html#106919</guid><description><![CDATA[这里0，1，2不代表具体的种类，而是如果(ufind[x].kind-ufind[y].kind+3)%3==1，说明x吃y，是一个相对关系。即只通过0，1，2的相对关系表示同类，吃，被吃三种关系，不与具体类别对应，kind为0的可能是3种的任意一种@Guest<br><img src ="http://www.cppblog.com/tortoisewu/aggbug/106919.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/tortoisewu/" target="_blank">匿名</a> 2010-02-01 01:25 <a href="http://www.cppblog.com/tortoisewu/archive/2010/02/01/85501.html#106919#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 双向广度优先搜索方法(在做完poj 1915后总结的)</title><link>http://www.cppblog.com/tortoisewu/archive/2010/01/12/86123.html#105508</link><dc:creator>huangzhifei</dc:creator><author>huangzhifei</author><pubDate>Tue, 12 Jan 2010 12:40:00 GMT</pubDate><guid>http://www.cppblog.com/tortoisewu/archive/2010/01/12/86123.html#105508</guid><description><![CDATA[太精典了，<br>不过1楼的问题，我也想问！<img src ="http://www.cppblog.com/tortoisewu/aggbug/105508.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/tortoisewu/" target="_blank">huangzhifei</a> 2010-01-12 20:40 <a href="http://www.cppblog.com/tortoisewu/archive/2010/01/12/86123.html#105508#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: poj 1182 解题报告</title><link>http://www.cppblog.com/tortoisewu/archive/2009/10/08/85501.html#98076</link><dc:creator>blackstar</dc:creator><author>blackstar</author><pubDate>Thu, 08 Oct 2009 03:40:00 GMT</pubDate><guid>http://www.cppblog.com/tortoisewu/archive/2009/10/08/85501.html#98076</guid><description><![CDATA[怎么证明你的公式的正确性了？<img src ="http://www.cppblog.com/tortoisewu/aggbug/98076.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/tortoisewu/" target="_blank">blackstar</a> 2009-10-08 11:40 <a href="http://www.cppblog.com/tortoisewu/archive/2009/10/08/85501.html#98076#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: poj 1182 解题报告[未登录]</title><link>http://www.cppblog.com/tortoisewu/archive/2009/09/15/85501.html#96209</link><dc:creator>chris</dc:creator><author>chris</author><pubDate>Tue, 15 Sep 2009 05:11:00 GMT</pubDate><guid>http://www.cppblog.com/tortoisewu/archive/2009/09/15/85501.html#96209</guid><description><![CDATA[最后一句什么意思？<img src ="http://www.cppblog.com/tortoisewu/aggbug/96209.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/tortoisewu/" target="_blank">chris</a> 2009-09-15 13:11 <a href="http://www.cppblog.com/tortoisewu/archive/2009/09/15/85501.html#96209#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 双向广度优先搜索方法(在做完poj 1915后总结的)</title><link>http://www.cppblog.com/tortoisewu/archive/2009/07/15/86123.html#90173</link><dc:creator>future</dc:creator><author>future</author><pubDate>Wed, 15 Jul 2009 13:38:00 GMT</pubDate><guid>http://www.cppblog.com/tortoisewu/archive/2009/07/15/86123.html#90173</guid><description><![CDATA[请请问一下：<br><br>初始化起始点start.step=true; //这里step属性为真则表示为某一搜索步数中的最后一个点,例如对于poj1915中第2步有八个点，只有第八个点的step为true,其余为false<br><br>这句语句的作用？<img src ="http://www.cppblog.com/tortoisewu/aggbug/90173.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/tortoisewu/" target="_blank">future</a> 2009-07-15 21:38 <a href="http://www.cppblog.com/tortoisewu/archive/2009/07/15/86123.html#90173#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: poj 1182 解题报告</title><link>http://www.cppblog.com/tortoisewu/archive/2009/07/14/85501.html#90042</link><dc:creator>Guest</dc:creator><author>Guest</author><pubDate>Tue, 14 Jul 2009 08:10:00 GMT</pubDate><guid>http://www.cppblog.com/tortoisewu/archive/2009/07/14/85501.html#90042</guid><description><![CDATA[主函数中  if(d==2 &amp;&amp; (ufind[x].kind-ufind[y].kind+3)%3!=1)<br>                        count++;<br>条件应该是  (ufind[x].kind-ufind[y].kind+3)%3 != 2 吧<br><br>0-&gt;1-&gt;2-&gt;0 吃的关系相差 -1 或 2， 取模后是 2<br>建议楼主看一下<img src ="http://www.cppblog.com/tortoisewu/aggbug/90042.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/tortoisewu/" target="_blank">Guest</a> 2009-07-14 16:10 <a href="http://www.cppblog.com/tortoisewu/archive/2009/07/14/85501.html#90042#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: poj 1182 解题报告</title><link>http://www.cppblog.com/tortoisewu/archive/2009/05/30/85501.html#86210</link><dc:creator>tortoisewu</dc:creator><author>tortoisewu</author><pubDate>Sat, 30 May 2009 14:28:00 GMT</pubDate><guid>http://www.cppblog.com/tortoisewu/archive/2009/05/30/85501.html#86210</guid><description><![CDATA[建议你画个图理解下会容易很多。<br>先说下合并函数中的关系，因为在合并函数之前先进行了查找函数，而在查找函数中已压缩了路径，即把查找的点到根结点路径上所有点都挂到了根结点下，并更新了它们kind的值，保证kind值是正确的(在这之前是不正确的)；所以在合并函数中x,y,rootx,rooty的kind值在它们原先的集合中都是正确的，在合并时，要将rooty挂到rootx上，并只更新rooty的kind值以保证rooty在新的集合中kind值正确，而不必管rooty原先集合的其它结点kind值(没法管，因为并查集只能从叶节点遍历到根结点，无法向下遍历，将会放到find函数中更新)。更新的依据是三个关系：x和y的关系，x和rootx关系，y和rooty关系；对于这题就一定能得到rootx和rooty的关系，以更新对rooty在新的集合中的kind值。<br>如果你能理解了合并函数，那查找函数便可以推得，因为我们合并时只更新了挂在根结点上的原先集合根结点的kind值，所以这里要把查找路径上所有的点先挂到根结点上，并更新其kind值(也就是每个集合深度为1的结点的kind值都是正确的)。更新顺序一定要是从深度低的到深度高的,因为更新依据要依赖当前结点的原kind值和其父节点的更新后的kind值。为什么是上述给出的两个值的和的关系呢?因为在合并前根结点的kind都为0，所以合并后原被合并集合深度为1的点的kind值只要加上更新后原其根结点的kind值就能得到正确关系了。一定要画图理解，模拟下过程，结合我红色标识的三个式子一起理解。我还有篇总结也许有帮助<a target="_new" href="http://www.cppblog.com/tortoisewu/archive/2009/05/29/86110.html">http://www.cppblog.com/tortoisewu/archive/2009/05/29/86110.html</a>@whr<br><img src ="http://www.cppblog.com/tortoisewu/aggbug/86210.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/tortoisewu/" target="_blank">tortoisewu</a> 2009-05-30 22:28 <a href="http://www.cppblog.com/tortoisewu/archive/2009/05/30/85501.html#86210#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: poj 1182 解题报告</title><link>http://www.cppblog.com/tortoisewu/archive/2009/05/30/85501.html#86192</link><dc:creator>whr</dc:creator><author>whr</author><pubDate>Sat, 30 May 2009 11:23:00 GMT</pubDate><guid>http://www.cppblog.com/tortoisewu/archive/2009/05/30/85501.html#86192</guid><description><![CDATA[你的用红线标识的关系怎么推得？ 这其间的关系并不是很明朗......<img src ="http://www.cppblog.com/tortoisewu/aggbug/86192.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/tortoisewu/" target="_blank">whr</a> 2009-05-30 19:23 <a href="http://www.cppblog.com/tortoisewu/archive/2009/05/30/85501.html#86192#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: poj 1182 解题报告</title><link>http://www.cppblog.com/tortoisewu/archive/2009/05/23/85501.html#85503</link><dc:creator>E剑仙</dc:creator><author>E剑仙</author><pubDate>Sat, 23 May 2009 05:30:00 GMT</pubDate><guid>http://www.cppblog.com/tortoisewu/archive/2009/05/23/85501.html#85503</guid><description><![CDATA[并查集经典题<img src ="http://www.cppblog.com/tortoisewu/aggbug/85503.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/tortoisewu/" target="_blank">E剑仙</a> 2009-05-23 13:30 <a href="http://www.cppblog.com/tortoisewu/archive/2009/05/23/85501.html#85503#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>