草庐IT

algorithm

全部标签

c++ - 使用 boost::successive_shortest_path_nonnegative_weights 的最小成本最大流

我需要使用计算流量网络的最小成本最大流量boost::successive_shortest_path_nonnegative_weights()BGL(v1_60_0)中可用的函数。如documentation中所述,thedirectedgraphG=(V,E)thatrepresentsthenetworkmustbeaugmentedtoincludethereverseedgeforeveryedgeinE.Thatis,theinputgraphshouldbeGin=(V,{EUET}).[...]TheCapacityEdgeMapargumentcapmustmape

c++ - 将大的十六进制数转换为十进制形式(基数为 10 的形式)的算法

我有一个字节数组和该数组的长度。目标是输出包含以10进制表示的数字的字符串。我的数组是小端。这意味着第一个(arr[0])字节是最低有效字节。这是一个例子:#includeusingnamespacestd;typedefunsignedcharByte;intmain(){intlen=5;Byte*arr=newByte[5];inti=0;arr[i++]=0x12;arr[i++]=0x34;arr[i++]=0x56;arr[i++]=0x78;arr[i++]=0x9A;cout数组由[0x12,0x34,0x56,0x78,0x9A]组成。我要实现的函数hexToDec应

c++ - 移动 Physics 对象以进行穿透的最小尺寸 Vec3 = 0

这是一个例子(见图片):-2个红色矩形是静态对象(即它不能移动)。蓝色的球是动态物体。到目前为止,我设法获得了所有深入的信息。让我们将其视为我们的输入:-为了解决A和球之间的渗透问题,我可以通过Vec3(1,0,0)OR移动球Vec3(0,2,0)。为了解决B和球之间的穿透问题,我可以将球移动Vec3(0,1,0)。^我将其存储为2DVec3数组problem={{Vec3{1,0,0},Vec3{0,2,0}},{Vec3{0,1,0}}}.如何找到物理对象(例如示例中的球)的最佳运动(最小尺寸)以尽可能减少穿透力?此示例中的最佳解决方案是“通过Vec3(1,1,0)移动球:size

c# - opencv 面部 sdk 支持

我正在寻找可以支持人脸检测、识别和聚类的SDK。我们试过了Pittpatt,而且效果很好,但是被谷歌收购了,因此卡住了新契约(Contract)。所以我们不得不决定使用OpenCV,业务风险低,技术风险高。我们想寻找提供OpenCV人脸检测服务的公司或个人。如果有人对此感兴趣,请告诉我。谢谢 最佳答案 您可能想联系http://www.computer-vision-software.com/.他们有OpenCV经验 关于c#-opencv面部sdk支持,我们在StackOverflow

C++ 标准库方法删除列表中满足条件的一对项目中的一个

假设您有一个std::list其中包含一组值。为了演示起见,我们会说它只是std::list,但在我的例子中,它们实际上是二维点。无论如何,我想删除一对中的一个int满足某种距离标准的s(或点)。我的问题是如何将其作为不超过O(N^2)操作的迭代来处理。示例源是int的列表包含:{16,2,5,10,15,1,20}如果我给它一个距离标准1(即列表中的任何项目都不应在任何其他项目的1范围内),我想生成以下输出:{16,2,5,10,20}如果我向前迭代或{20,1,15,10,5}如果我向后迭代我觉得一定有一些很棒的方法可以做到这一点,但我被这个迭代器的双循环困住了,并试图在遍历列表时

c++ - 从一组集合中找到集合子集的最佳方法

首先,对于模棱两可的标题感到抱歉。假设我有以下一组集合:第一组s1=(x1,y1)s2=(x2)第2组m1=(x1,y1,y2)m2=(x1)m3=(x1,x2)对于Group1中的每个集合-调用集合s,我需要在Group2中找到集合-调用它m-m是s的子集。所以,对于我的例子,答案是:s1->m2s2->nothing目前,我将值存储在std:set中,但如果需要我可以更改它。此外,集合可能会变大,因此算法需要高效。目前我有一种蛮力方法,我对此并不完全满意。有什么建议吗? 最佳答案 第一步是根据基数(即大小)对第1组进行排序。那么

c++ - 生成第 n 个 Motzkin 数的最快方法是什么?

我想生成所有MotzkinNumber并存储在一个数组中。公式如下:我目前的实现速度太慢了:voidgenerate_slow(){mm[0]=1;mm[1]=1;mm[2]=2;mm[3]=4;mm[4]=9;ullresult;for(inti=5;i此外,我一直在寻找递归矩阵的封闭形式,以便我可以应用指数平方。谁能建议一个更好的算法?谢谢。编辑我无法应用第二个公式,因为除法在对数字取模时不适用。n的最大值为10,000,超出了64位整数的范围,因此答案是对更大的数m取模,其中m=10^14+7。不允许使用更大的整数库。 最佳答案

c++ - 向量化涉及短裤的条件

我正在使用2个无符号短裤的紧凑结构,指示开始和结束位置。我需要能够快速确定是否有任何长度(从开始到结束的差异)超过阈值的Range对象。我将拥有大量对象,每个对象都有自己的Range数组,因此跟踪哪些Range对象超出阈值是不可行的列表或其他东西。此代码也将经常运行(每个数组每秒多次),因此需要高效。structRange{unsignedshortstart;unsignedshortend;}我将始终拥有一个大小为2^n的Range数组。虽然我想在发现超过阈值的情况下立即中止,但我很确定将它们简单地或在一起并在最后检查会更快......假设我可以矢量化循环。尽管如果我可以对每个ve

c++ - 人工智能图书馆

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion我正在寻找在游戏中有用的人工智能算法的C和C++实现。我最感兴趣的一些是强化学习算法、遗传算法和神经网络。然而,其他的也很有趣。我发现dlib.net有一些非常有趣的机器学习算法,但这些算法似乎并不是特别适合游戏。我可以使用的许可证是Boost软件许可证、Zlib/Libpng许可证和公共(public)域。任何属于这些许可的图书馆的任何建议都将受到高度赞赏。

c++ - 使用 glFrustum 创建拼接场景

我有一个程序,可以根据用户的位置在屏幕上渲染场景。当用户改变位置时,平截头体改变以提供离轴投影。我想利用该技术在三个不同的显示器上工作,将一个更大的场景拼接在一起,具有以下类型:想象一下在三个显示器上呈现的大型真实世界场景。这三个显示器应该显示场景,因为它会根据用户的位置在每个显示器上改变视角。我可以用一个显示器根据用户的位置渲染场景,但无法想到在三个屏幕上工作的方法。我创建的类离轴投影基本上执行以下操作:customCam::project(){pushMatrices();glMatrixMode(GL_PROJECTION);glLoadIdentity();glFrustum(