﻿<?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++博客-pzz-随笔分类-一些算法思路</title><link>http://www.cppblog.com/panzhizhou/category/19293.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 17 May 2012 09:55:25 GMT</lastBuildDate><pubDate>Thu, 17 May 2012 09:55:25 GMT</pubDate><ttl>60</ttl><item><title>hfut1245_水晶球</title><link>http://www.cppblog.com/panzhizhou/archive/2012/05/15/174989.html</link><dc:creator>pzz</dc:creator><author>pzz</author><pubDate>Tue, 15 May 2012 09:06:00 GMT</pubDate><guid>http://www.cppblog.com/panzhizhou/archive/2012/05/15/174989.html</guid><wfw:comment>http://www.cppblog.com/panzhizhou/comments/174989.html</wfw:comment><comments>http://www.cppblog.com/panzhizhou/archive/2012/05/15/174989.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/panzhizhou/comments/commentRss/174989.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/panzhizhou/services/trackbacks/174989.html</trackback:ping><description><![CDATA[<div>&nbsp;这一题不知道归类为哪一类题目，首先题目是一个少女有三个值，分别为财富，容貌，智慧值，现在又n个mm，如果其中一个mm发现任何一个mm比他三方面都要大，那么他就要跳楼，问有多少跳楼的mm，其实这种题目还是预处理的技巧，一开始也许没有什么思路，而且n有达到10^9,一开始假设我们想对于当前每一个女孩，我们在其中找各方面都要比他好的mm，一旦找到就退出，那么这样无序的找寻，肯定是非常耗时又耗力的，如果我们将其中的一个值按照从大到小排，然后另外两个值，按照从小到大排，然后设置一个map，key是第二项的置，value是第三项的置，一开始map只有两个值，一个是map[inf]=-inf,map[-inf]=inf&nbsp; 然后如果对于当前的每一个，在map找到上界，如果他的value值也大于这个第三项的置，那么a跳楼mm++，否则插入到map进去，另外，对于map里面有些数据已经没有用了，可以除去，这个也是不容易想到的，比如说对于当前插入的数的下界，如果value值，也比这个第三项的值要小的话，那么就要除去了！</div><img src ="http://www.cppblog.com/panzhizhou/aggbug/174989.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/panzhizhou/" target="_blank">pzz</a> 2012-05-15 17:06 <a href="http://www.cppblog.com/panzhizhou/archive/2012/05/15/174989.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>nyoj195_飞翔</title><link>http://www.cppblog.com/panzhizhou/archive/2012/05/09/174107.html</link><dc:creator>pzz</dc:creator><author>pzz</author><pubDate>Wed, 09 May 2012 06:59:00 GMT</pubDate><guid>http://www.cppblog.com/panzhizhou/archive/2012/05/09/174107.html</guid><wfw:comment>http://www.cppblog.com/panzhizhou/comments/174107.html</wfw:comment><comments>http://www.cppblog.com/panzhizhou/archive/2012/05/09/174107.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/panzhizhou/comments/commentRss/174107.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/panzhizhou/services/trackbacks/174107.html</trackback:ping><description><![CDATA[<div>&nbsp;&nbsp; 这道题之前一直郁闷在如何求这个动态规划式上面了，我一直按照的是常规的思路，我是这么想的，map[n][m]=map[n-1][m-1]+r1&nbsp; 或map[n][m]=map[n-1][m]+r2 或<br />map[n][m]=map[n][m-1]+r2&nbsp; ，但是这样想不出 子问题，，于是郁闷了，，没想到，这个题目其实思路可以打开的，，如果我们按照这样思考，因为最短的路劲，就是我们走最多的捷径的路，如果把最多捷径的条求出来了，那么最短路径也就求出来了，这样的话，因为走过捷径的话，横，纵坐标都是增加的，那么我们只需要按照 捷径的坐标进行规则排序，那么最后到达每一个捷径点的最多捷径数就可以求出来。。。<br />&nbsp; 总这一题给自己的启示是，想问题的时候思路要打开，这条路不行，就换一条，多换几个思路也许就能巧妙的解决，而思考的魅力就在于此！</div><img src ="http://www.cppblog.com/panzhizhou/aggbug/174107.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/panzhizhou/" target="_blank">pzz</a> 2012-05-09 14:59 <a href="http://www.cppblog.com/panzhizhou/archive/2012/05/09/174107.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>