51nod
春浔xby
喜欢AI的小菜鸡
展开
-
51Nod_1265四点共面
题目要求在控制台输入四个点的坐标(三维),然后判断这四个点是否在同一个平面上。 刚刚看到这个题目的时候有一点懵,静下心来想了想,是不是可以用向量的方式去解决这个问题。因为四个点的坐标已知,由此就可以得到由其中三个点组成的两个向量,随后就可以求出与这两个向量垂直的向量,最后用剩下一个点和前面的任意点组成一个向量,只要能与垂直的向量相垂直,就可以得出四点共面的结论。 可是如何求出与两个向量...原创 2018-04-11 15:05:10 · 304 阅读 · 0 评论 -
51Nod_2006飞行员配对
这是一道二分图匹配题,具体的结题思路就是使用匈牙利算法,而这个算法基本是二分图匹配题的核心算法,代码也不难,值得去深入理解一下函数中对递归的使用和函数的书写思想。具体可以参考下面的内容。注:以下内容转自 http://blog.csdn.net/dark_scope/article/details/8880547匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名。匈牙利算法是基...原创 2018-04-07 10:47:33 · 171 阅读 · 0 评论 -
51Nod_1384全排序
题目如下: 给出一个字符串S(可能有重复的字符),按照字典序从小到大,输出S包括的字符组成的所有排列。例如:S = "1312",输出为:112311321213123113121321211321312311311231213211 刚刚看到这个题目的时候,第一感觉就是用循环去解决,然后感觉虽然题目简单,还是需要用一定的时间去写。然后在网上看博客的时候,发现C++中是...原创 2018-04-07 12:23:41 · 158 阅读 · 0 评论 -
51Nod_1174区间中最大值
题目要求,先输入一个数组,然后求出数组中某一个区间中的最大值。是不是觉得,我就直接用for循环就可以写啦,贼好写。。这样子讲吧,如果你只搜索一次的话,是看不出什么区别的,但是如果你要搜索M次,M又很大呢? 每一次都要用循环去一个一个比较吗? O(n*M)的时间复杂度是不是会让你体验极差、、这个题目在经过自己思考与借鉴其他人的博客以后,判断应该是有两种方法可以解决这个问题,分别是线段树和RMQ算法。...原创 2018-05-07 00:49:19 · 161 阅读 · 0 评论