小编Akh*_*hil的帖子

在python中将整数列表转换为范围

python中是否存在可以将增加的整数列表转换为范围列表的内容

例如,给定{0,1,2,3,4,7,8,9,11}我想得到{{0,4},{7,9},{11,11}}.

我可以写一个程序来做这个,但想知道python中是否有内置函数

python integer list range

31
推荐指数
3
解决办法
2万
查看次数

未定义的引用`__stack_chk_fail'

编译C++代码时出现此错误:

undefined reference to `__stack_chk_fail'
Run Code Online (Sandbox Code Playgroud)

已尝试的选项:

  1. 在编译时添加-fno-stack-protector - 不起作用,错误仍然存​​在
  2. 在我的代码中添加了一个void __stack_chk_fail(void)的虚拟实现.仍然得到同样的错误.

详细错误:

/u/ac/alanger/gurobi/gurobi400/linux64/lib/libgurobi_c++.a(Env.o)(.text+0x1034): In function `GRBEnv::getPar/u/ac/alanger/gurobi/gurobi400/linux64/lib/libgurobi_c++.a(Env.o)(.text+0x1034): In function `GRBEnv::getParamInfo(GRB_StringParam, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
: undefined reference to `__stack_chk_fail'
amInfo(GRB_StringParam, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
: **undefined reference to `__stack_chk_fail'**
Run Code Online (Sandbox Code Playgroud)

早些时候,我得到了10个这样的错误.发现gcc我正在使用的预编译库和gcc我用来编译代码的版本之间存在版本不匹配.更新了gcc,现在我只收到其中2个错误.

有什么帮助吗?

c++ gcc undefined-reference

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

什么是C++中的就地构造函数?

可能重复:
C++的"放置新"

什么是C++中的就地构造函数?

例如Datatype*x = new(y)Datatype();

c++ constructor in-place placement-new

20
推荐指数
2
解决办法
3万
查看次数

FileInputStream用于通用文件系统

我有一个包含Java序列化对象的文件,如"Vector".我已将此文件存储在Hadoop分布式文件系统(HDFS)上.现在我打算在map任务中读取这个文件(使用方法readObject).我想

FileInputStream in = new FileInputStream("hdfs/path/to/file");
Run Code Online (Sandbox Code Playgroud)

因为文件存储在HDFS上,所以不会工作.所以我想到了使用org.apache.hadoop.fs.FileSystem类.但不幸的是它没有任何返回FileInputStream的方法.它只有一个返回FSDataInputStream的方法,但我想要一个输入流,它可以读取序列化的java对象,比如文件中的vector,而不仅仅是FSDataInputStream可以做的原始数据类型.

请帮忙!

java filesystems hdfs

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

曼哈顿距离如何成为可接受的启发式算法?

在计算1个瓷砖的移动时,是否可以导致其他瓷砖达到目标状态?因此,计算每个瓷砖可以给我们的计数超过达到目标状态所需的最小移动量?

这个问题是针对15-Puzzle的曼哈顿距离.

以下是不同的问题:

我们可以使用曼哈顿距离作为N-Puzzle的可接受启发式算法.要实现A*搜索,我们需要一个可接受的启发式算法.曼哈顿启发式是候选人吗?如果是,你如何反驳上述论点(问题的前3个句子)?

定义: A*是一种搜索算法.它使用启发式函数来确定到目标​​的估计距离.只要这个启发式函数永远不会高估到目标的距离,算法将找到最短路径,可能比广度优先搜索更快.满足该条件的启发式是可以接受的.

algorithm artificial-intelligence heuristics a-star

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

更新lucene指数

更新现有Lucene索引的最佳方法是什么.我不必只是添加/删除文档,而是更新现有文档.

lucene

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

用于 64 位 Windows 的 G++

在哪里可以获得适用于我的 64 位 Windows 7 机器的 GCC/G++ 编译器?

windows 64-bit win64 g++

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

与hadoop接近实时

我需要一些很好的参考资料,以便将Hadoop用于实时系统,例如在很短的响应时间内进行搜索.我知道hadoop有hdfs的开销,但最好用hadoop做这个.

hadoop real-time

3
推荐指数
2
解决办法
3049
查看次数

公平地将集合S划分为k个分区

存在包含N个整数的集合S,每个整数具有值1 <= X <= 10 ^ 6.问题是将集合S划分为k个分区.分区的值是其中存在的元素的总和.分区将以这样的方式完成,集合S的总值在k个分区之间公平分配.公平的数学意义也需要定义(例如,目标可以是最小化分区值与集合S的平均值的标准偏差(即,和(S)/ k))

例如,S = {10,15,12,13,30,5},k = 3

一个好的分区是{30},{10,15},{12,13,5}

错误的分区是{30,5},{10,15},{12,13}

第一个问题是在数学上表达一个分区的条件要好于另一个分区.第二个问题是如何解决问题.问题是NP-Hard.有任何启发式吗?

在我试图解决N <=(k*logX)^ 2和K从2到7变化的问题.

================================================== ================================

根据其他相关的SO问题,评估分布有两个合理的功能:

a)使用最大值最小化分区的值.

再想一想,这不是一个好的指标.考虑一组{100,40,40}被分成三个子集.该度量标准不区分以下两个分布,即使一个明显优于另一个.

分配1:{100},{40},{40}和分配2:{100},{40,40},{}

b)最小化给定分区中任何两个值的差异的最大值,即最小化max | AB | 任何A,B

algorithm heuristics set np-hard data-partitioning

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

malloc错误C++

可能重复:
malloc.c:3074错误?

我在执行我的C++代码时遇到这个奇怪的错误:

malloc.c:3096: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)' failed.
Aborted
Run Code Online (Sandbox Code Playgroud)

该程序运行良好,直到从已执行的行捕获上述分段错误(SIGSEGV).我用gdb发现了这个.

c++ malloc

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

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

找到大数的组合

什么是一种有效的方法来找到从N个礼物中选择礼物的数量,其中N可以非常大(N~10 ^ 18).那就是我们必须计算N(C)K或N选择K.K也可以是N的量级.

algorithm math combinations largenumber

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

使用宏将#ifdef放在代码中

我想做这样的事情

#define VB_S #ifdef VERBOSE
#define VB_E #endif
Run Code Online (Sandbox Code Playgroud)

所以在代码而不是写

#ifdef VERBOSE
    cout << "XYZ" << endl;
#endif
Run Code Online (Sandbox Code Playgroud)

我可以写

VB_S  
    cout << "XYZ" << endl; 
VB_E
Run Code Online (Sandbox Code Playgroud)

这给了我一个编译时错误:程序中的Stray'#'.

任何人都可以说明正确的方法是什么

c++ syntax macros syntax-error

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