小编izh*_*hak的帖子

有界背包的DP算法?

关于背包问题的维基百科文章包含三种类型的列表:

  1. 1-0(一种类型)

  2. 有界(一种类型的几个项目)

  3. 无界限(无限数量的项目)

本文包含针对1.和3.类型问题的DP方法,但没有针对2的解决方案.

如何描述用于求解的动态编程算法?

algorithm knapsack-problem

9
推荐指数
2
解决办法
8637
查看次数

Vim:如何获得我目前所处的模式

我正在编写一个插件,用于以特殊方式对代码进行评论,并且在视觉或普通模式下调用时应该会有所不同.

是否有函数或某种方法来确定调用函数时用户所处的模式?

vim

9
推荐指数
1
解决办法
2878
查看次数

Octave/Matlab:Frobenius内积的高效计算?

我有两个矩阵A和B,我想得到的是:

trace(A*B)
Run Code Online (Sandbox Code Playgroud)

如果我没有记错,这就叫做Frobenius内在产品.

我关注的是效率问题.我只是害怕这种直接的方法将首先完成整个乘法(我的矩阵是数千行/列),然后只记录产品,而我真正需要的操作则更加简单.是否有功能或语法有效地执行此操作?

matlab matrix octave

8
推荐指数
1
解决办法
2468
查看次数

有没有办法用Python创建Eclipse插件?

据我所知,Eclipse默认情况下不向用户提供python绑定.也没有任何类似的项目我能用谷歌找到.

是否有任何第三方插件?任何教程?可能是Jython?..

python eclipse eclipse-plugin jython

6
推荐指数
1
解决办法
1800
查看次数

为字符串分配唯一整数id的最有效方法是什么?

我编写的程序处理大量的对象,每个对象都有自己唯一的id,它本身就是一串复杂的结构(由一些分隔符连接的对象的十几个独特字段)和大的长度.

因为我必须快速处理很多这些对象,并且我需要在处理时通过id对它们进行处理,我没有权力改变它们的格式(我通过网络从外部检索它们),我想将它们复杂的字符串id映射到我自己的内部整数id,并进一步用于比较,将它们进一步转移到其他进程等.

我要做的是使用一个简单的dict,键作为对象的字符串id,整数值作为我的内部整数id.

我的问题是:在Python中有更好的方法吗?可能有一种方法可以手动计算一些哈希值,无论如何?可能是dict不是最好的解决方案?

至于数字:系统中一次有大约100K这样的独特对象,所以整数容量绰绰有余.

python hash

6
推荐指数
2
解决办法
1万
查看次数

如何使用PyGame而不是GLUT初始化OpenGL上下文

我正在尝试使用Python和PyGame开始使用OpenGL.

我将使用PyGame而不是GLUT来完成所有初始化,窗口打开,输入处理等.

但是,我的着色器无法编译,除非我准确指定OpenGL和配置文件的版本.

他们使用书中的GLUT初始化进行编译:

glutInit()
glutInitDisplayMode(GLUT_RGBA)
glutInitWindowSize(400, 400)

# this is what I need
glutInitContextVersion(3, 3)
glutInitContextProfile(GLUT_CORE_PROFILE)

glutCreateWindow("main")
Run Code Online (Sandbox Code Playgroud)

但是,像这样简单的PyGame初始化:

pygame.init()
display = (400, 400)
pygame.display.set_mode(display, pygame.DOUBLEBUF|pygame.OPENGL)
Run Code Online (Sandbox Code Playgroud)

它没有指定确切的OpenGL版本3.3和CORE_PROFILE,同样的程序在尝试编译着色器时会失败:

RuntimeError:('着色器编译失败(0):0:2(10):错误:不支持GLSL 3.30.支持的版本是:1.10,1.20,1.30,1.00 ES和3.00 ES \n',['\n #version 330 core \n vec4位置的布局(位置= 0); \n void main()\n {\n \n <br_Position = position; \n} \n'],GL_VERTEX_SHADER)

我的问题是:如何使用PyGame进行初始化?

python opengl glut pygame pyopengl

6
推荐指数
1
解决办法
2344
查看次数

当Popen.communicate()还不够时?

我发现很多线程或多或少都与这个主题有关,而且几乎没有什么像完整的答案......我正在寻找你的建议.

所以,这是我的问题:我真的需要以两种方式与子进程通信:我必须将大量数据转换为其输入并动态获取其输出.没有其他办法了.我的子进程是着名的"跛脚"mp3编码器,输入是由我的函数生成的一小时或更长的PCM声音,输出是mp3文件,也必须通过块发送到用户块而无需等待编码器完成.

根据文档,Popen.communicate()不会帮助我处理几十或几百兆的IPC.同时,正如我从这里学到的,尝试从头开始创建这种方法是非常危险的,因为很多陷阱正在等待:死锁,缓冲,进程管理等.

所以,我的问题是:是否有一些众所周知的解决方案可以解决这类问题:一个python lib或一个真正解决问题的代码示例?可能至少有一篇文章或某些东西明显地描述了大多数问题,试图通过自己来解决这个问题?

谢谢你,伊利亚.

python subprocess ipc popen

5
推荐指数
1
解决办法
807
查看次数

MinGW 无法使用 -lc、-lm 和 -lrt 链接器标志编译项目

我正在尝试为京都内阁编译 python 绑定使用 Windows7 的 Mingw32我的库路径中有几个目录:C:/MinGW/lib 文件夹和一个包含 kiotocabinet.lib 的文件夹;MinGW 成功找到自己的库,但如果失败并显示三个标准:

-lc -lrt -lm

它可以处理 -lpthread、-lstdc++ 和 -lz (我为此安装了 libz)。

我怎样才能解决这个问题?

mingw compiler-errors mingw32

5
推荐指数
0
解决办法
721
查看次数

如何有效地枚举n维网格中的所有球面点

比方说,我们有一个N维网格,其中有一些点X,坐标为(x1,x2,...,xN).为简单起见,我们可以假设网格是无界的.

设半径R和半径为X的球体,其中心为X,即网格中所有点的集合,使得它们与X的曼哈顿距离等于R.

我怀疑他们将是2*N*R这样的积分.

我的问题是:如何以高效和简单的方式枚举它们?通过"枚举"我的意思是算法,给定N,X和R将产生形成该球体的点列表(其中point是其坐标的列表).

更新:最初我调用了我错误使用"汉明距离"的指标.我向所有回答这个问题的人道歉.感谢Steve Jessop指出这一点.

algorithm

5
推荐指数
1
解决办法
2154
查看次数

分布式 Code Jam 问题存档有人吗?

在阅读有关设计分布式系统的书籍时,我想到一件有用的事情就是尝试练习 Google 在 2015-2018 年举办的分布式代码挑战赛中的问题。

我很失望地发现,不仅DCG结束了,而且过去比赛的所有材料都被删除了。官方网址没有留下任何内容:https://codingcompetitions.withgoogle.com/past-competitions/distributed

我通过电子邮件联系了他们,到目前为止还没有任何反应。

是否有人无意中存档了这些材料(问题和解决方案)或其中的任何部分?

archive

5
推荐指数
1
解决办法
352
查看次数