Mrli
别装作很努力,
因为结局不会陪你演戏。
Contacts:
QQ博客园

Mr.li's Blog

Welcome to my Blog!
Linux命令手册
scp 1、从服务器上下载文件 1scp username@servername:/path/filename /var/www/local_dir(本地目录) 例如scp root@192.168.0.101:/var/www/test.txt 把192.168.0.101上的/var/www/test.txt 的文件下载到/var/www/local_dir(本地目录) 2、上传本地文件到服务器 1scp /path/filename username@servername:/path 例如scp /var/www/test.php root@192.168.0.101:/var/w ...

Linux下开机启动Python脚本
/etc/rc.local 将脚本写在/etc/rc.local文件 输入命令:sudo vi /etc/rc.local 在exit 0上一行输入:python /usr/bin/python /home/pi/test.py 重启就可以看效果sudo reboot 当然,rc.local 文件需要有执行权限(默认没有) $ sudo chmod +x /etc/rc.local 对于命令,最好是先which python查出命令路径,写命令时写绝对路径 /etc/init.d 写一个服务放到linux的/etc/init.d目录中 并且授权bash脚本chmod 755 /etc/ ...

ACM-DFS、BFS
深度优先搜索(DFS) 从某个状态,不断转移状态直到无法转移,然后回退到前一步的状态,继续转移到其他状态,如此不断重复,直到找到最终解. ====> 递归函数 隐式的用到了栈(stack) 123456789101112131415161718192021222324252627//[部分和问题]#include <iostream>#define MAXN 10000int n,k;int s[MAXN];using namespace std;bool dfs(int i,int sum){ if( i == n ) return sum == k; ...

蓝桥杯突击训练
ACM 3-20笔记 3部排序 左指针,右指针, 探路指针–>链表的pq 马虎的算式 枚举(五重循环,注意条件) 内存1000ms大约运行10^8的指令 大数除法 减法 除法 39级阶梯 斐波那契 简化模型后再加上考虑条件 错误票据 获得一行内容:getline()前要用getchar()吃掉换行符 分割一行以空格分隔的元素 12345string s;getline(cin,s);stringstream ss(s);string tmp;while( getline(ss,tmp," ") ) ▲翻硬币 ACM 3-21笔记 (2 ...

ACM-并查集
并查集 ACM竞赛中,并查集(DisjointSets)这个数据结构经常使用。顾名思义,并查集即表示集合,并且支持快速查找、合并操作。 用于高效的查找某两个元素是否属于同一个集合; 并查集如何表示一个集合?它借助树的思想,将一个集合看成一棵有根树。那又如何表示一棵树?初始状态下,一个元素即一棵树,根即是元素本身。 合并 并查集如何支持合并操作?不难发现,按照树的思想,在同一棵树中的所有元素,根都是相同的。也就是说,合并两个不同的集合,只需要将其中一个集合的根设置为另一个集合的根即可,而需要改变根的那个集合,其实只需要改变根节点的父节点即可。 如何支持快速查找操作 如果完全按照上面的合 ...

ACM-大数定理(高精度)
ACM-大数定理(高精度) 由于c/c++中数据类型的范围比较固定,因此有些题目的数据范围正好卡在这些正常范围之外,此时就需要自己实现大数加减乘除的运算。 c/c++需要自己手写 java中有BigInteger类 C++ 加法实现 123456789101112131415161718192021222324252627282930313233343536373839404142434445#include <iostream>#include <string>#include <algorithm>using namespace std;type ...

搭建Gitlab服务器
搭建Gitlab服务器 下载安装Gitlab 由于直接下载Gitlab会很慢(被墙的缘故) , 于是选择清华的镜像安装,清华源 Ubuntu 16.04 用户 Linux其他版本或者不是Ubuntu 16.04 见官网修改方式 首先信任 GitLab 的 GPG 公钥: 1curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null ▲如果这步不行,先进行下一步 文本框中内容写进 /etc/apt/sources.list.d/gitlab-ce. ...

ACM_线性筛
什么是线性筛? 筛素数是为了求得一个区间内的所有素数,而把不是素数的筛去。 最普通的办法——判断一个数是不是素数 123456789101112131415161718#define SIZE 1000000int main(){ int check[SIZE]; int prime[SIZE] = {0}; int pos; int flag; for (int i = 2 ; i < SIZE ; i++){ flag = 1; for (int j = 2 ; j < sq ...

程序设计周cpp学习笔记
文件名传参 123456789101112131415using namespace std;#define FILENAME "data.csv"void readfile(string file){ ifstream inFile; inFile.open(file.c_str(), ios::out); // 打开模式可省略 string lineStr; while (getline(inFile, lineStr) ) // 打印整行字符串 cout << lineStr << '-'<< endl; } int ma ...

构造一个能发数据的POST请求头
之前学请求、响应的时候只是过了一边,大致知道有这些东西。但这次真正要用的时候却又忘了到底该如何写,错误的请求头、请求体的格式导致esp8266一直发送不了数据到服务器上,又重新看了遍请求request的知识,才终于搞明白 请求 最初的写法: 由于在esp8266上已经选择、连接好了了httpbin.org的穿透,就以为Host可以不用加了,于是产生了 最初的写法: 1POST /post?= HTTP/1.1 ▲根据玩单片机的小伙伴说必须多出一行\r\n,所以这边是有一行空行的 结果: 400 BAD_REQUEST 搜索过后得知 : 如果使用http 1.1协议的话主机名HOST字段是 ...

学会Pull request
GitHub中发起PR(pull Request) PR是为了贡献代码: ​ 贡献代码,通俗的说,就是自己修改了代码,希望合并到别人的Repository(仓库)中。将自己的智慧贡献给开源社区。 一.贡献代码: 1.第一步:Fork 在GitHub社区闲逛时,看中了某个项目代码,如:spring-projects/spring-framework,点击页面Fork按钮,会生成一个自己的Repository(仓库:thinkingfioa/spring-framework),如下图: 2.第二步:修改 Fork成功后,通过git clone、修改、commit、push等操作后,将 ...

南京邮电大学java程序设计作业在线编程第六次作业
总分:100 选择题得分:40 1.下列方法定义中,正确的是() A.double me(int a,int b){int r; r = ab} B.double me(a,b){return b;} C.int me(int a,int b){return(a-b);} D.int me(inta,b){return(a-b);} 正确答案是:C 2.下列方法定义中,不正确的是() A.float x(int a,int b){return(ab);} B.int x(int a,int b){return ab;} C.int x(int a,int b){return a * ...

南京邮电大学java程序设计作业在线编程第五次作业
总分:100 选择题得分:50 以下哪一个工具是Java的编译器?( ) A.javac.exe B.java.exe C.javap.exe D.javadoc.exe 正确答案是: A 以下哪一个数据类型不属于Java的基本数据类型?( ) A.boolean B.char C.int D.String 正确答案是: D 假设有如下类的定义: public class test{ public static void main(String[] args){ int a= 3, b = 4; swap(a,b); System.out.println(“a ...

南京邮电大学java程序设计作业在线编程第三次作业
选择题得分:60 \1. 设有如下定义语句: String s1=”My cat”; int m=s1.compareTo(“My a cat”); 语句被执行后m的值为( ) A.2 B.1 C.0 D.-2 正确答案是: A \2. 语句 String s1=new String(“Hello”); String s2=new String(“Hello”); System.out.println(s1==s2); System.out.printlv(s1.equals(s2)); 执行后的输出结果是( ) A.Hello false B.Hello true C.Hello Hell ...

使用git将项目上传到github(最简单方法)
使用git将项目上传到github(最简单方法) 首先你需要一个github账号,所有还没有的话先去注册吧! Github **我们使用git需要先安装git工具,这里给出下载地址,下载后一路直接安装即可:**https://git-for-windows.github.io/ 1.进入Github首页,点击New repository新建一个项目 2.填写相应信息后点击create即可 Repository name: 仓库名称 Description(可选): 仓库描述介绍 Public, Private : 仓库权限(公开共享,私有或指定合作者) Initialize this ...

Java课程第二次实验报告
Java课程第二次实验报告 1.寻找并输出11~999之间的数m,它满足m、m2、m3均为回文数。回文数是各位数字左右对称的整数。判断是否为回文要求通过编写方法来完成。 123456789101112131415161718public class HelloWorld { public static boolean isPalindrome(int s) { String str = Integer.toString(s); if( str.charAt(0) == str.charAt(str.length() - 1) ) return true; el ...

flask+nginx如何获得真实IP
如果是通过 flask 的 request.remote_addr获取的 ip 都是 127.0.0.1 解决方案: nginx.conf中添加 123# proxy_set_header Host $host:80; # proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 全文 12345678910111213141516server { listen 8888; server_name 0.0.0.0; ...

codeblocks中boost库安装
首先要提出的是,boost在VS中是可以直接导入的,但是在CB中是不行的,所以写了下这篇文章。 安装boost 1.首先先去boost官网下载boost的源码 , 选择你要下载的版本。 2.解压(可能会耗费一段时间,小文件比较多) 3.双击运行脚本文件bootstrap.bat(引导程序),之后就生成这两个可执行文件 我们为了能直观的看到编译boost的细节信息,进入dos (win +r快捷键 输入cmd ) 4.cd 到解压boost库的目录下 5.命令执行bjam.exe 4-5是没必要的,要是不想看输出的东西的话,其实双击bjam.exe即可 ▲.编译的时间略久(你可以干一会其 ...

C++机器学习库MLPack
C++机器学习库MLPack mlpack: a scalable C++ machine learning library 由于在网上查了一下发现安装这个库碰到了不少问题,所以还是记录一下安装过程。 安装 列出两种安装教程吧,第一种实测可以。第二种在测试Armadillo的时候没通过,还是缺库,有兴趣的人可以通过给的Armadillo官网链接下载安装Armadillo再试试 安装方法一: Mlpack 官网 提供了下载的方法 : sudo apt-get install libmlpack-dev , 但貌似有博客指出目前国内源里是没有这个镜像的,所以采取的办法是直接从观望上下 ...

ACM-快速幂
简单位运算快速幂 假设我们要求ab,那么其实b是可以拆成二进制的,该二进制数第i位的权为2(i-1),例如当b==11时,a11=a(20+21+2^3) 123456789int poww(int a,int b){ int ans=1,base=a; while(b!){ if(b&1) ans*=base; base*=base; b>>=1;  } return ans;} 11的二进制是``1011,11 = 2³×1 + 2²×0 + 2¹×1 + 2º×1 ...