小编xuh*_*dev的帖子

如何以较少(GNU)显示行号?

有人知道在左栏中减少显示行数的命令吗?

unix gnu

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

Bash:检索给定相对的绝对路径

是否有命令在给定相对路径的情况下检索绝对路径?

例如,我希望$ line包含dir中每个文件的绝对路径 ./etc/

find ./ -type f | while read line; do
   echo $line
done
Run Code Online (Sandbox Code Playgroud)

bash shell path absolute

135
推荐指数
10
解决办法
16万
查看次数

在C++中使用密钥更新的最小优先级队列的最简单方法

有时在编程竞赛等过程中,我们需要一个简单的最小优先级队列的工作实现,使用reduce-key来实现Dijkstra算法等.我经常使用set <pair <key_value,ID >>和一个数组(映射ID - > key_value) )共同实现这一目标.

  • 向集合添加元素需要O(log(N))时间.要从N个元素中构建优先级队列,我们​​只需将它们逐个添加到集合中.这总共需要O(N log(N))时间.

  • 具有min key_value的元素只是集合的第一个元素.探测最小元素需要O(1)时间.删除它需要O(log(N))时间.

  • 为了测试集合中是否有一些ID = k,我们首先在数组中查找其key_value = v_k,然后搜索集合中的元素(v_k,k).这需要O(log(N))时间.

  • 要将某些ID = k的key_value从v_k更改为v_k',我们首先在数组中查找其key_value = v_k,然后搜索集合中的元素(v_k,k).接下来,我们从集合中删除该元素,然后将元素(v_k',k)插入集合中.然后我们也更新阵列.这需要O(log(N))时间.

虽然上述方法有效,但大多数教科书通常建议使用二进制堆来实现优先级队列,因为构建二进制堆的时间只是O(N).我听说在C++的STL中有一个使用二进制堆的内置优先级队列数据结构.但是,我不确定如何更新该数据结构的key_value.

在C++中使用最小优先级队列和密钥更新的最简单,最有效的方法是什么?

c++ algorithm data-structures

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

如何用Vimperator选择非url文本?

我正在使用vimperator 3.5和firefox 17.一切顺利,除了非url文本选择.似乎官方帮助文档中没有描述这一点.每当我想选择一些非url文本时,我都必须使用鼠标来完成它.真的很烦人.

firefox vimperator

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

log(10.0)可以编译但是log(0.0)不能吗?

对于以下C源代码:

#include <math.h>

int main(void)
{
    double          x;

    x = log(0.0);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我编译时gcc -lm,我得到:

/tmp/ccxxANVH.o: In function `main':
a.c:(.text+0xd): undefined reference to `log'
collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

但是,如果我替换log(0.0)为log(10.0),那么它可以成功编译.

我不太明白这一点,因为无论它们是否具有数学意义,它们都应该编译 - 没有语法错误.有人能解释一下吗?

以防万一,我的gcc -v输出:

Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.2-19ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 …
Run Code Online (Sandbox Code Playgroud)

c gcc math.h constantfolding

46
推荐指数
2
解决办法
2714
查看次数

正则表达式字边界不包括连字符

我需要一个匹配以字边界结尾的表达式的正则表达式,但不将连字符视为边界.即获得所有匹配的表达式

type ([a-z])\b
Run Code Online (Sandbox Code Playgroud)

但不匹配,例如

type a-1
Run Code Online (Sandbox Code Playgroud)

改写:我想要一个等价的边界运算符\ b,而不是使用单词字符类[A-Za-z0-9_],使用扩展类:[A-Za-z0-9_-]

regex

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

使用OpenCV进行高斯模糊:只模糊图像的子区域?

是否可以仅使用OpenCV模糊图像的子区域而不是整个图像,以节省一些计算成本?

谢谢!

编辑:重要的一点是,当模糊子区域的边界时,应尽可能多地使用现有的图像内容; 只有当卷积超过原始图像的边界时,才能使用外推法或其他人工边界条件.

opencv

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

如何完全清除并禁用 Anaconda 中的默认通道并切换到 conda-forge?

有没有办法完全清除和禁用defaultsAnaconda 中的通道并切换到conda-forge?原因是 Anaconda服务条款将其存储库的使用限制为非商业活动。切换到 conda-forge 可以避免这个问题。

python anaconda

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

查看图像时的术语情绪 - 一般错误

这一直困扰着我,我没有情感库的经验.

我安装了术语

sudo apt-get install terminology
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我尝试为终端设置背景或使用tycat时,我收到以下错误:

emotion-generic modules/emotion/generic/emotion_generic.c:1838 _players_load() no generic players available
Run Code Online (Sandbox Code Playgroud)

我这样做了:

sudo apt-get install libemotion-dev
Run Code Online (Sandbox Code Playgroud)

还有这个:

sudo apt-get install totem
Run Code Online (Sandbox Code Playgroud)

它没有帮助,我确实得到了同样的错误.

我很乐意使用术语来表达它的所有功能,而不是使用我现在拥有的无聊终端.我使用终端来做我所做的一切.

该项目位于这里

术语tycat

terminology emotion

11
推荐指数
0
解决办法
1299
查看次数

Django 1.3静态文件放在应用程序目录中

我正在使用Django 1.3并且应用程序中的静态文件令人困惑.我在做什么:1)设置

STATIC_ROOT = as path to directory 'static' in my project
STATIC_URL = '/static/'
Run Code Online (Sandbox Code Playgroud)

2)在我的urls.py服务

if settings.DEBUG:
    urlpatterns += patterns(
        '',
        url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}),
    )
Run Code Online (Sandbox Code Playgroud)

3)将css和js文件放入我的应用程序目录中的"static"文件夹中.所以我得到了这样的目录树:

my_project/
    main_app/
        static/
            css/
                style.css
            js/
    secondary_app/
        static/
            foldername/
                file.css
Run Code Online (Sandbox Code Playgroud)

4)我将这两个应用程序添加到settings.py文件中的INSTALLED_APPS.现在在我的模板中写下跟随行:

<link rel="stylesheet" href="{{ STATIC_URL }}css/style.css" type="text/css" />
Run Code Online (Sandbox Code Playgroud)

Django成功地在目录中找到了我的css文件

my_project/main_app/static/css/
Run Code Online (Sandbox Code Playgroud)

并插入style.css但是当我写

<link rel="stylesheet" href="{{ STATIC_URL }}foldername/file.css" type="text/css" />
Run Code Online (Sandbox Code Playgroud)

Django没有插入这个文件.

所以我的问题:我做错了什么?为什么我无法从secondary_app目录插入我的css文件?我要告诉你更多有关这种情况的信息?

django

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