幻象客 - 博客

    推荐一款强大的多线程下载软件——IDM


    in 干货 , 闲谈 2017-05-08

    使用 IDM 成倍地增加你在百度云或其他网站的下载速度

    阅读更多...

    使用crontab定时执行脚本


    in 干货 , 技术原理 2017-05-04

    告诉你如何在Unix系统下执行定时脚本

    阅读更多...

    分享jetBrains公司IDEA系列产品通用激活方法


    in 干货 2017-04-30

    jetBrains公司的产品都非常优秀好用(个人最喜欢pycharm),他们也有开放学生优惠(用学校的邮箱注册,本科四年免费使用),这里给没有优惠,又没有能力支付的朋友提供一个激活方法。PS:若您有能力支持正版,请支持正版,我可不想让这么个优秀的公司消失。

    JetBrains IDEA 系列产品通用激活方法(license server)本方法来自网络 原文地址 http://xidea.online

    1. 打开激活窗口

    2. 选择 Activate new license with License server (用license server 激活)

    3. 在 License sever address 处填入 http://xidea.online

    4. 点击 Activate 进行认证

    5. done!

    阅读更多...

    <算法>利用基本遗传算法解决函数最大值问题


    in 算法 2017-04-25

    利用基本遗传算法解答1/(|x1|+|x2|+|x3|+|x4|+1)的最大值,步骤如下:

    1. 初始化X条染色体
    2. 进行初始适应性评估,评估函数是:1/(|x1|+|x2|+|x3|+|x4|+1),标准答案是1
    3. 选出初始最优适应值
    4. 开始繁衍
    5. 求出适应值的和,以及每条染色体与总适应值的比
    6. 对染色体进行选择,淘汰最弱的染色体
    7. 对染色体进行配对交叉
    8. 染色体变异
    9. 重新评估适应值,并检测是否有更大的最优适应值,有则更新
    10. 重复2-9的步骤

    测试环境:

    遗传算法求解

    为什么使用Python:

    拥有强大的内置数学函数库,代码简洁明了。

    不需要去解决一些算法之外的事情,比如求最优染色体时的算法。

    简单实用,效率高。

    1.初始化染色体:

    遗传算法求解

    2.进行初始适应性评估,评估函数是:1/(|x1|+|x2|+|x3|+|x4|+1),标准答案是1

    遗传算法求解

    3.选出初始最优适应值

    遗传算法求解

    4.开始繁衍

    遗传算法求解

    5.求出适应值的和,以及每条染色体与总适应值的比

    遗传算法求解

    6.对染色体进行选择,淘汰最弱的染色体

    遗传算法求解

    7.对染色体进行配对交叉

    遗传算法求解

    8.染色体变异

    遗传算法求解

    9.重新评估适应值,并检测是否有更大的最优适应值,有则更新

    遗传算法求解

    10.重复2-9的步骤

    遗传算法求解

    运行结果展示:

    遗传算法求解

    从图中可以看到,并非总是能获得最优的解,主要是因为函数非常可能提前收敛(即染色体全部相同)。这需要通过调整参数使得结果变得优秀。

    我相信在这个基础上进行一些优化,答案非常可能更加趋近于1 ,有

    阅读更多...

    遗传算法及其应用范围


    in 算法 2017-04-23

    遗传算法( GA , Genetic Algorithm ): 利用自然界中的自然选择、交叉、变异求得一些函数的最优解

    阅读更多...

    [算法]震惊!竟有人这样进行偷窃(动态规划)


    in 算法 2017-04-15

    假如你是一个偷窃犯,你想要在半夜偷华狮街上的房子内的金钱,每个房子内都有一定量的金额,但是如果你偷了连续相邻的两个房子,便会惊扰警察。现在给定你N个房子,请问你要怎么偷窃才能在不惊扰警察的情况下得到最多的金钱呢?(动态规划)

    阅读更多...

    <算法>分享一个很6666的算法(逆序二进制串)


    in 算法 2017-04-10

    教你如何优雅地逆序二进制串

    阅读更多...

    <算法(LeetCode)>六种方法求数组中的绝对众数


    in 算法 2017-04-06

    众数:要求出他们之中出现次数超过N/2的元素(假定一个数组中必定会有这样的元素),你会怎么求?若你是暴力求解,时间复杂度为O(n^2),那就low啦!

    阅读更多...

    使用C++遍历目录下的文件


    in C/C++ , 干货 , 程序语言 2017-03-30

    参考文档:http://sodino.com/2015/03/09/c-directory-io/#open_dir

    先上代码:

    #include <iostream>
    
    #include <dirent.h>
    
    void print_dir(DIR *dir) {
    
        struct dirent *file;
    
        // 遍历文件夹下的内容
    
        while ((file = readdir(dir)) != NULL) {
    
            printf("文件位置=%ld ", telldir(dir));
    
            printf("子文件:%20s  ", file->d_name);
    
            printf("\n");
    
        }
    
    }
    
    int main(int argc, const char * argv[]) {
    
        const char *dirPATH = "/Users/ckend/Documents";
    
        DIR *dir = opendir(dirPATH);
    
        print_dir(dir);
    
        return 0;
    
    }

    需要用到的头文件:"dirent.h"需要用到的结构及函数:"struct dirent""readdir()""opendir()""telldir()"

    一个个

    阅读更多...

    Workflow——手机上的生活自动化脚本工具


    in 干货 2017-03-28

    和macOS上Alfred的workflow类似,ios系统也有一款自动化脚本工具,名字就叫Workflow. 从前几天苹果公司收购了这家公司及其旗下所有员工,你就可以知道Workflow的影响力有多大。

    苹果公司收购Workflow后,这款软件免费提供下载,大家可以在App Store内下载这款软件。

    Workflow是怎么样提高效率的呢?最主要是它能将许多需要重复操作的事情做成一个脚本,通过下拉通知栏,找到那个Workflow脚本,单击一下,所有事情就一键完成了。如保存微博视频到相册,你只需要复制有视频的微博链接,然后下拉通知栏找到这个脚本单击一下即可:

    workflow 自动化

    Workflow和Alfred一样,有非常多的内置Workflow(脚本). 你可以在软件的gallery菜单内找到它们,如图:

    workflow 自动化

    有扫描二维码、将图片做成GIF、找到附近最近的ATM机,分享内容到推特,快速拨通某人的电话等等。

    workflow 自动化

    workflow 自动化

    workflow 自动化

    但是最重要的是,我们能够自己实现一些这样的脚本。

    一键给某人发短信

    1. 你只需要 Create Workflow 然后进入 Actions 把 Text 拉过来,输入你想要自动发送的信息,如图。

    workflow 自动化

    1. 然后再将sendmessage拖过来,添加联系人即可。

    workflow 自动化

    1. Done前点击右上角的齿轮,自定义名字和图标,最重要的是选择Today Widget. 不然你在下拉通知栏里看不到它,或者你想把它设

    阅读更多...