Copernic Desktop Search -- 强大的桌面搜索工具

知识扫盲:什么是"桌面搜索"?

wikipedia这样说:"桌面搜索是搜索工具所应用的一个新领域的名称,这个领域是用户拥有的计算机文件的内容,而不是搜索互联网。桌面搜索强调的是挖掘用户个人电脑上全部可用信息,包括网页浏览器历史,电子邮件档案,字处理器文档等等。"

桌面搜索是这几年刚刚出现的一个新名词.虽然叫做"桌面搜索",但是并不是说只能搜索你桌面的意思.说白了,桌面搜索就是利用索引技术在硬盘上查找符合某些关键词的文件.因为Windows XP及以下版本自带的搜索功能是在硬盘上用关键词依次比对每一个文件,速度很慢,于是一些"懒人"为了能够以后偷懒,就写出了桌面搜索软件.它只完全扫描一次电脑里的文件,然后为每个文件建立一个索引,之后的搜索只需要在索引中查找对应的关键字即可.
桌面搜索最火的时候,M$,Google和百度依次推出了自己的桌面搜索工具.对于中国人来说,使用这三种软件的人也最多.虽然这三家公司的名气都很大,但是毕竟是附属产品,三款软件都有这样那样的缺陷.

警告:某些十分厌烦Windows的读者请自行忽略此文,我不想在此文的评论中看到与文章无关的话题.
转载请注明出处 by sqybi(http://sqybi.com/)
欢迎对本文的再演绎 再演绎不必注明出处 但请trackback 谢谢合作

可能很多童鞋的PC里都备有一款桌面搜索软件,一般除了Google Desktop就是百度硬盘搜索,或者有些还用Window Search.不过对于我来说,Windows Search过于繁杂而且速度不快,Google Desktop的用户体验不是很好,百度硬盘搜索虽说基于网页比较好用,搜索速度也很快,但是这样那样的bug却是不少.最显著的一点是,在我的机器上有时会突然出现打开结果页十分缓慢的情况--或许是对于某个关键词的搜索比较慢,但是没有进度条甚至没有个Waiting令人很不爽(OJ上都有Waiting哈...).另外,某些文件出现了搜索不到的情况,很诡异.
百度硬盘搜索最强大的,就是它的"快照"功能.不过使用了一段时间就会发现,一般情况下,快照功能是派不上用场的.

某一天,sqybi突发奇想,不想继续用百度硬盘搜索了.于是,他随手搜了一下,发现了这样一个软件,也就是我们今天要介绍的:
Copernic Desktop Search

先放个主界面截图:
Copernic 主界面

主界面应该说是相当的简洁,不过一般我们用的却是它在开始菜单上的搜索栏:
Copernic 搜索栏

可能细心的你已经发现了,搜索的时候出现了乱码的情况.但是这款软件是支持中文的,很少出现乱码.出现乱码的几个文件都是我自己录制的音频,所以我认为应该是编码的问题.貌似对音频文件,Copernic是会读取ID3标签的(只是貌似...).
为了证明软件的确不是不支持中文,请看下面这个截图:
Copernic 搜索栏

另外呢,右下角状态栏里,左数第二个图标(也就是夹在搜狗拼音和卡巴斯基中间的那个图标)就是Copernic Desktop Search的图标了.
右键点一下,看看有什么功能:
Copernic状态栏图标

五个功能从上到下依次为:
打开主界面,查看索引状态,暂停索引,更新索引,退出软件.
点开"Indexing Status",就会弹出这样一个窗口:
Copernic Index Status

这里写着索引工作将在10秒钟空闲之后继续.那么这是什么意思呢?
实际上,Copernic的索引制度是十分完善的.首先,idle time,也就是空闲时间,指的是连续的一段鼠标键盘都没有操作的时间.如果上面这个窗口没有被打开,那么Copernic会在你设定的一段空闲时间之后自动开始索引工作(默认貌似是3min).而当上面这个窗口打开的时候,正如显示的那样,它就会在10秒钟的空闲时间之后开始索引.
可是除了这些,Copernic还会判断CPU占用情况.如果占用率过高,无论窗口是否打开,空闲时间是否到了,索引工作都不会开始,直到CPU占用率掉下来为止.
这里所说的"索引工作",在你刚刚开始使用这款软件的时候,是建立索引的工作.而当索引建立完毕之后,指的就是更新索引的工作了.

另外,从主界面也可以看出,软件将文件分为了很多类.这样,就可以对每一类文件单独搜索了.
在设置中可以选择被索引的扩展名列表,如果文件的扩展名在列表之外,那么是不会被建立到索引中的.而列表之内的每一个扩展名,都可以单独选择所属的类别,比如文件,音乐等.默认的列表十分齐全,我使用的时候只加了一个dpr(Delphi源代码的扩展名)就足够了.

下面是我在主界面以"SGU"为关键字搜索的结果:
Copernic 搜索 SGU

可以发现,如果选择了搜索到的文件,下方就会出现文件的预览.可以进行复制粘贴操作,十分方便.
而如果选择了一个xls文件,预览的效果就会像下图这样:
Copernic 预览 xls

软件支持Office 2007的格式,即docx,xlsx等.
如果搜索结果是网页,那么它会以网页的形式显示出来;pdf也是可以预览的,但是当我选择一个10M的大pdf的时候,预览的速度就很慢,而且预览效果和Foxit也不尽相同.
但是总的来说,软件的搜索效果还是很棒的,基本上所有文件都能被搜索出来.界面也不难看,速度也不是太慢,十分值得推荐.现在它已经常驻我的内存了,而百度硬盘搜索,拜拜啦~

嗯,说到这里,是不是有人已经去搜索破解版了呢?
不知道你是否注意文章开头给出的软件主页的链接,页面上写的很清楚,有三个版本,分别为Home,Professional,Corporate.其中Home版是免费的,Professional版要50$ per licence,而Corporate要60$.
三个版本的区别写的也很清楚了,为了照顾懒得看的童鞋,这里稍微写一下.

Home版的功能有:
快速找到Word, Excel, PowerPoint, PDF, HTML, Word Perfect, text, ZIP文件;快速搜索一些邮件客户端中的邮件和附件(支持Outlook, Outlook Express, Eudora和Thunderbird,很可惜不支持Foxmail,毕竟是老外的东西嘛.但是Foxmail内置的搜索功能也很强大了);优化搜索结果(感觉说的貌似是能够根据你每次的搜索提高搜索效率,估计就是提高一些关键字的优先级吧);即时预览.
对于我这样的个人用户来说,这些功能完全是足够的--根本没有必要去找破解版,因为你会发现即使找到了,那些多余的功能也都是废品.

Professional版比Home多出来的功能是:
搜索Outlook中日程表之类的东西(搞GTD的比较有用);搜索网络驱动器(在家里用应该不会有网络驱动器吧,如果上班的话或许这个功能会有用);保存搜索结果(鸡肋...);用户支持(就是软件出问题了之后答疑啥的,基本不会用上);没有广告(说实话,我用免费版的到现在也没看到过一次广告- -||).

Corporate又比Professional多出来点东西,它们是:
两项和CDS有关的功能(CDS即内容分发服务,因为对CDS不了解,而且一般也用不上,这里不介绍了,想知道的童鞋猛击这个链接去百度百科看,中文wikipedia上没找到相关内容突然发现,CDS是Copernic Desktop Search的缩写,而这两项功能分别是自定义CDS的安装程序和自动部署CDS客户端);无缝客户端升级(貌似就是给局域网内的所有该软件升级);为局域网内部建立搜索引擎.
很显然都是企业才用的上的功能.

另外补充一点,Copernic还带有网络搜索功能,对应的网址是:http://find.copernic.com/
但是随便搜索一个关键词就会发现,实际上它只是把Ask.com,Windows Live Search,Yahoo! Search的结果合并到了一起,基本没啥太大用处.

好了,说到这里,你有没有心动呢?赶快猛击这里下载一个试试看吧~扔掉那些Google百度微软的桌面搜索工具,和我一起高高兴兴地用Copernic搜索你的电脑吧~
软件提供英文,法文,德文和西班牙文四种语言的版本,大小仅有5.82MB.

SRM 426

好久没写SRM的文章了(上一次还是这里的SRM 422吧...),这次写主要是因为终于重新变黄了.
数一数,都蓝了快10场了呢.

上一场没参加,但这场开始的时候rp也没有爆发.
不知道怎么,12点开始的比赛,闹钟竟然也设在了12点.匆匆忙忙爬起来,都没来及洗脸就坐下开始看题.结果一刻钟都没看懂题,orz.
然后擦了一把脸接着看,终于看懂了.按照惯例,第一题应该是裸search的,但是自己分析复杂度竟然太高.只好求助于FancyMouse牛(后面那道500pts也求助于FancyMouse牛了),后来得知原先4^n的复杂度实际应该是3^n,然后后来又优化了几次,终于在比赛还有半个多小时的时候搞定250pts,这时这道题还剩下120多pts了.

第二题先和FM牛叙述了题意,然后自己感觉还是裸search.于是问FM牛,和我的想法一样.还有半小时,本来不想写了,但是在FM牛的鼓励下还是写了.最后在比赛还有2min结束的时候搞定500pts,200多分.

1000pts看了就知道不是能做的题,最后的确是这样.只有Petr和另一位大牛两人搞定1000pts,剩下的都挂掉了.
最后rating涨的也不是很多,要是250pts快点搞定就说不定会涨很多了.

另外祝贺一下RoBa神牛又一次变红.

附一段聊天记录(有删减):

Killa.sqybi 0:40:07
还有半小时...我估计自己写不完500..
Fancy Mouse 0:40:20
MA。。。impossible is nothing
Fancy Mouse 0:40:49
自从上次regional最后15分钟切掉2题以后偶十分信奉这句话
Fancy Mouse 0:41:15
虽然其中一道是别的队2hr以内就切掉的水题
Fancy Mouse 0:41:23
偶们不知怎么就是不会做
Killa.sqybi 0:41:49
呃...
Fancy Mouse 0:41:55
偶在前面那道搜索切掉以后还剩下10分钟的时候豁出去写了个暴力居然过掉了

再次感谢FM牛...

UVa 100 -- The 3n + 1 problem

经典的3n+1,没有想到这道题调了一个晚上.
Project Euler上看过这道题,于是按照那道题写了个部分DP.然后诡异的WA了.
调啊,调啊,只找到了一个trick:输入的两个数不一定小数在前大数在后.
然后呢,我这个程序是search,可加了一个预处理,for i=1~10000 do dp[i]=f(i),然后调用f(i)的地方改成dp[i],就过不了,都鬼了...怀疑数据范围有问题.

search可以1s过掉.

/*
  UVa 100; The 3n + 1 problem
  - sqybi's code
*/
//for my winsty
 
//#define DEBUG
#include 
using namespace std;
 
const int nn = 1000001, mm = 10001;
int l, r, ll, rr, maxa;
 
int f(int i)
{
    if (i == 1)
        return 1;
    else if (i % 2)
        return f(i*3+1)+1;
    else
        return f(i/2)+1;
}
 
int main()
{
    #ifdef DEBUG
    freopen("uva100.in", "r", stdin);
    freopen("uva100.out", "w", stdout);
    #endif
 
    while (scanf("%d%d", &ll, &rr) != EOF)
    {
        l = ll;
        r = rr;
        if (l > r) swap(l, r);
        maxa = 0;
        for (int i = l; i <= r; ++ i)
            if (f(i) > maxa) maxa = f(i);
        printf("%d %d %d\n", ll, rr, maxa);
    }
}