给定一个大的稀疏矩阵(比如说10k +乘以1M +),我需要找到形成密集矩阵(所有非零元素)的行和列的子集,不一定是连续的.我希望这个子矩阵在某些宽高比约束内尽可能大(不是最大和,但是最大数量的元素).
这个问题是否有任何已知的确切或aproxamate解决方案?
对谷歌的快速扫描似乎给出了很多接近但不完全的结果.我应该寻找什么条款?
编辑:只是为了澄清; 子矩阵不需要是连续的.事实上,行和列顺序是完全任意的,因此邻接完全无关紧要.
基于Chad Okere的想法的想法
我正在开发一款拥有大量动态实体的2D游戏.为了好玩,让我们称他们为士兵,让我们说有50000个(我只是随机想起来,它可能会更多或更少:)).
所有这些士兵都按照规则移动每一帧 - 想想boids/flocking/steering行为.对于每个士兵来说,为了更新它的运动,我需要最接近我正在处理的X士兵.
什么是最好的空间层次结构来存储它们以方便这样的计算而不需要太多的开销?(每帧都更新/移动所有实体,因此它必须非常好地处理动态实体)
我最近遇到一个案例,我需要比较两个文件(黄金和预期)来验证测试结果,即使写入两个文件的数据相同,文件也不匹配.
在进一步调查中,我发现有一个结构包含一些整数和一个64字节的char数组,并且在大多数情况下并没有使用char数组的所有字节,并且数组中未使用的字段包含随机数据造成了不匹配.
这让我想问一个问题是,在C/C++中初始化数组是否也是一个好习惯,就像在Java中完成一样?
我正在努力学习rails3.
我尝试了从guides.rails.info安装的安装指南
sudo gem install rake rack-test rack-mount erubis mail
sudo gem install tzinfo builder i18n memcache-client
sudo gem install text-format thor
和铁轨3通过
sudo gem install rails --pre
现在我创建一个新的应用程序
rails abc
并尝试
rake db:create
哪个失败了
Could not find gem 'sqlite3-ruby (>= 0, runtime)' in any of the sources.
所以我尝试安装 sqlite3-ruby
sudo gem install sqlite3-ruby
哪个失败了
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need …
JPEG压缩编码过程将给定图像分成8x8像素的块,在将来的有损和无损压缩中使用这些块.[资源]
还提到如果图像是多个1MCU块(定义为最小编码单元,'通常在两个方向上为16个像素'),则可以执行对JPEG的无损改变.[资源]
我正在处理产品图片,并想知道在我的最终图像尺寸中使用16的倍数(例如,使用尺寸为480像素×360像素的图像)与非倍数相比,是否可以获得多少益处16(如484x362).在这个例子中,我对最终图像的进一步改动,编辑或再压缩不感兴趣.
为了更接近我所知道的特定答案,必须有很大的一般性:给定480x360图像为64k并在Photoshop中以最高质量保存[示例]:
我知道使用这个特定的例子是任意的,但它仍然有用(对我来说,可能是任何其他人在思考图像大小),以了解我在打破非8px网格时要处理的妥协程度.
这里的关键问题是我所讨论的是8像素可分割图像是否比不能被8像素整除的图像质量更高.
在遗传算法中,当使用轮盘选择方法选择交叉成员时,群体是否首先需要按健康等级排序?
可能性似乎是:
我认为以任何一种方式排序可能没有效果 - 在包含不同尺寸(通过适应性)切片的轮子上随机地着陆卵石将具有完全相同的结果机会,无论更大的切片是否被组合在一起.但我并不是100%相信.
你怎么看?
每一代做一次排序的需要也会影响算法的速度,所以我不愿意(如果使用精英主义,我会做一个排序,但我不是在这种情况下).谢谢,如果你知道,因为我无法通过谷歌等找到明确的答案..
在我们的iPhone XCode 3.2.1项目中,我们链接了2个外部静态C++库libBlue.a和libGreen.a.libBlue.a全局覆盖了" new "运算符,用于自己的内存管理.然而,当我们构建我们的项目时,libGreen.a最终会使用libBlue的new运算符,这会导致崩溃(可能是因为libBlue.a正在假设所分配的结构类型).libBlue.a和libGreen.a都是由第三方提供的,因此我们无法更改任何源代码或构建选项.
当我们从项目中删除libBlue.a时,libGreen.a没有任何问题.然而,没有任何数量的库的链接顺序混洗似乎解决了问题,也没有任何实验与各种链接标志.有没有办法告诉XCode告诉链接器"让libGreen使用new运算符使用标准的C++ new运算符而不是libBlue重新定义的运算符"?
Tortoise SVN的新用户,负责源代码管理.
我有一个Visual Studio解决方案,它包含5个webAppliation项目.我需要拿出一个并在分支机构中完成它.当我尝试分支它时,它问我其中一个选项
alt text http://img25.imageshack.us/img25/3747/svnfile.jpg
问题1:这究竟是什么?我对"头部修改"和"工作副本"感到困惑,因为它们看起来和我一样.
alt text http://img34.imageshack.us/img34/8079/svn2.jpg
编辑:
问题2:为什么我们无法从Repository GUI本身进行分支(将是头部修订版)?
问题3:您能否列出从目录分支所需的步骤!
SocketImplFactory的javadoc特别提到"通过更改创建套接字实现的套接字工厂,应用程序可以自行配置以创建适合本地防火墙的套接字."
但是,为了连接到有问题的防火墙,需要一个真正的套接字来进行真正的连接.替换了默认的SocketImplFactory,如何获得真正的套接字?
我知道在Java的Java上可以使用java.net.PlainSocketImpl和java.net.SocksSocketImpl,但有没有什么方法可以在JVM之间移植?
我经常读到可读性和可维护性的重要性.或者,我阅读了关于哪些语法功能不好或好的非常强烈的意见.或者讨论某些范式的价值观,比如OOP.
除此之外,每当我读到有关主观问题的关于SO或Meta的辩论时,同样的问题在我脑海中浮现.或者阅读有关最佳实践的问题,有时会发现自己或其他人不同意.
主观性在编程领域中扮演什么角色?
有时候我认为它起着很大的作用.软件开发人员在某种程度上是工程师,也是人.编程的很大一部分是处理人类可读的代码.这与数学或物理学或其他具有非常精确和结构化规则的学科非常不同.在这里,确切的结构和规则大部分都在空中,随心所欲地变化,因此存在的语言数量.一个人可能会发现一种语言非常易读,而另一个人可能会发现他们自己的语言最令人欣慰.
与实践相同.一个人可能不喜欢某些公认的做法.我自己发现将类分成不同的文件是非常难以理解的.
但是,我不能说规则一般没有帮助.某些做法已经并确实使生活更轻松.新语言产生了语法和结构,使生活更轻松.即使给了一大批不同的人群,代码也很容易阅读和维护.所以也许这些事情并不像我想象的那么主观.
在某种程度上,它让我想起了UI设计.当然这是主观的,但是有一个完整的学科参与制作良好的用户界面,它往往有效.
对于可维护性,可读性和其他最佳实践背后的想法,是否存在一些非主观的内容?当一个人开发新语言或想到新的实践时,有什么东西可以掌握吗?
c++ ×2
algorithm ×1
arrays ×1
branch ×1
c ×1
compression ×1
distance ×1
hierarchy ×1
image ×1
installation ×1
iphone ×1
java ×1
jpeg ×1
linker ×1
new-operator ×1
sockets ×1
spatial ×1
svn ×1
tortoisesvn ×1
xcode ×1