问题列表 - 第37279页

使用g ++与pragma链接

在Visual C++中,可以通过执行操作链接到代码本身中的库#pragma comment (lib, "libname.lib").在g ++中有类似的东西吗?

c++ linker g++ pragma

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

把猫扔出窗外

想象一下,你在一座有猫的高楼里.这只猫可以在低矮的故事窗口中摔下来,但如果从高楼层抛出,它就会死亡.你怎么能用最少的尝试数来计算猫可以存活的最长时间?

显然,如果你只有一只猫,那么你只能线性搜索.先从一楼扔猫.如果它存活下来,从第二个扔掉它.最终,从地板f抛出后,猫会死.然后你知道楼层f-1是最大的安全楼层.

但是,如果你有一只以上的猫怎么办?您现在可以尝试某种对数搜索.让我们说这个版本有100层,你有两个相同的猫.如果你将第一只猫从50楼扔出去并且死亡,那么你只需要线性搜索50个楼层.如果您为第一次尝试选择较低楼层,则可以做得更好.假设您选择一次解决20个楼层的问题,并且第一个致命楼层是#50.在这种情况下,你的第一只猫将在从60楼死亡之前从20楼和40楼的飞行中幸存下来.你只需要分别检查楼层41到49.这总共有12次尝试,这比你试图使用二进制消除所需的50次要好得多.

一般来说,对于有2只猫的n层建筑来说,最好的策略和最坏情况的复杂性是什么?n楼和m猫怎么样?

假设所有猫都是等同的:它们都将从给定窗口的摔倒中幸存或死亡.此外,每一次尝试都是独立的:如果一只猫在跌倒时幸存下来,它就完全没有受到伤害.

这不是家庭作业,虽然我可能已经解决了一次学校作业.这只是一个异想天开的问题,今天突然出现在我脑海中,我不记得解决方案了.如果有人知道此问题的名称或解决方案算法的加分点.

language-agnostic algorithm dynamic-programming asymptotic-complexity

150
推荐指数
4
解决办法
1万
查看次数

眼动追踪:找到瞳孔(x,y)

我正在寻找一些关于如何处理以下计算机视觉问题的建议.以下是我正在使用的4个眼动追踪数据集样本.我想写代码拍摄一个这样的图像并计算瞳孔中心的(x,y)位置.我目前正在使用MATLAB,但我也愿意使用其他软件.

有人可以推荐一种我可以用于此任务的方法吗?这里有一些我已经尝试过的但是效果不太好的东西.

  • 我试图使用圆形霍夫变换,但这需要我猜测瞳孔的半径,这有点问题.此外,由于扭曲,瞳孔并不总是一个圆,这可能使这种方法更难.
  • 我尝试基于像素亮度对图像进行阈值处理,并使用regionprops MATLAB函数来寻找具有极低偏心率(即尽可能圆形)的粗略(例如)200像素区域的区域.然而,这对阈值非常敏感,并且基于照明条件,眼睛的一些图像比其他图像更亮.(注意下面的4个样本已经进行了均值归一化,并且其中一个图像比其他图像更亮,可能是因为某处有一些非常暗的随机像素)

任何意见/建议将不胜感激!

编辑:感谢Stargazer的评论.理想情况下,算法应该能够确定瞳孔不在图像中,就像最后一个样本的情况一样.如果我暂时忘记它,这不是什么大问题.如果它给我错误的答案会更糟糕.

替代文字

algorithm matlab opencv computer-vision eye-tracking

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

如何使Ruby的Find.find遵循符号链接?

我有一个文件层次结构,一些子目录是相对符号链接.我正在使用RubyFind.find来抓取这些目录并找到一些特定的文件.然而,它不会查看任何符号链接的目录(它遵循符号链接的文件).

看看源代码似乎问题是因为它File.lstat(file).directory?用于测试某些东西是否是目录.这将返回false符号链接但File.stat.directory?返回true.

我如何制作Find.find跟随符号链接,缺少猴子修补它File.stat而不是File.lstat

ruby symlink find

10
推荐指数
2
解决办法
2317
查看次数

什么是在Perl中解析RSS/Atom的最佳库?

我注意到自2005年以来XML :: RSS :: Parser尚未更新.这仍然是解析RSS或Atom的推荐库吗?有更好的方式还是更好的方式?

xml rss perl cpan atom-feed

13
推荐指数
3
解决办法
5670
查看次数

在C++中,从列表中删除对象

我正在写一个或多或少像这样的程序:

#include <list>

list<MyClass> things;

class MyClass {
   // some stuff

   void remove() {
       things.remove_if(THING_IS_ME);
   }
};
Run Code Online (Sandbox Code Playgroud)

我需要写什么而不是THING_IS_ME?

换句话说,我使用全局STL列表作为事物的集合.在某些时候,列表中的对象识别出它是多余的并且想要a)将自己从列表中移除,并且b)使自己被破坏.

我该怎么做呢?

我已经写了大约15年的C++并且在这个页面上有点困惑:http://www.cplusplus.com/reference/algorithm/remove_if/

这些谓词是什么?C++现在有更高阶的功能吗?

c++ stl remove-if

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

是否在for循环中使用break?

只有一个简单的问题,比如,Car类扩展了HashMap(String,String).

1.

for (Car car : carList) {
    if (car.isEmpty) {
        break;
    }
    doSomething();
}
Run Code Online (Sandbox Code Playgroud)

2.

for (Car car : carList) {
    if (!car.isEmpty) {
        doSomethingElse();
    }
}
Run Code Online (Sandbox Code Playgroud)

以上两种哪种更好?谢谢.

----编辑----对不起,我没有说清楚.

doSomething()方法实际上做了不同的事情.我把它们改成了doSomething()和doSometingElse().

我的问题是,你会把所有的过程放在一个if()吗?或者,如果if()条件不满足,则首先打破循环.

谢谢.

java break

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

如何限制Perl拆分中返回的项目数?

当我解析包含数千行的复杂文件时,我遇到了问题.

我已经像今天一样实现了我的Perl脚本.

 my ($head, $tail) = split /=/, $line;
Run Code Online (Sandbox Code Playgroud)

我的几乎所有源文件$line样式如下:

constant normalLines = <type value>     /*  hello world  */
Run Code Online (Sandbox Code Playgroud)

我可以得到输出 $tail = /* hello world */

今天我在解析这样的行时发现了一个错误(行中有两个=)

constant specialLine = <type value>     /*  hello = world  */
Run Code Online (Sandbox Code Playgroud)

但现在输出是 $tail = /* hello

如何split()在上面的代码中修复仍然使用的bug ?我仍然想要输出$tail = /* hello = world */

perl parsing split

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

如果在HTML标记中使用自定义属性会发生什么?

这个问题是不相关的jQuery本身,而是我发现了一个名为插件Metadata发现和示例之一使用自定义标签属性:<li data="{some:'random', json: 'data'}">...</li>.

问:这是跨浏览器吗?验证标记时会失败吗?

谢谢.

html custom-attributes

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

一个无聊的AWK大师能不能转换这个Python程序?

我喜欢Python,但并不真正关心AWK.为了进行比较(以及查看Python-to-AWK主机如何执行此操作),有人可以在AWK中重写以下Python程序吗?考虑到它有多短,有些人会认为重写对于有一点时间的人来说简单易行.

import os

ROOT = '/Users/Zero/Documents/MyProgram.app/Contents/TempFiles'
ID = '628251 173511 223401 138276 673278 698450 629138 449040 901575'.split()

def main():
    for name in os.listdir(ROOT):
        if '.log' in name.lower():
            path = os.path.join(ROOT, name)
            if os.path.isfile(path):
                data = open(path, 'rb').read()
                for line in data.split('\r'):
                    for number in ID:
                        if number in line:
                            print line
                            break

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

python comparison awk lazy-evaluation

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