对码当歌,猿生几何?
#最热 #最新

jzoj 6278. 2019.8.5【NOIP提高组A】跳房子

        nblogs-markdown">Description详见OJSolution看完题后第一反应是倍增。由于有修改操作,就尝试着打了个和昨天一样,(但是是假的)启发式倍增。结果被出题人无意中狂怼,(MLE0)(超了一点点),减小空间后(TLE25)。。。(其中一个)正解是线段树。我们对于一个区间([l,r])(线段树内编号为(x)),维护一个(t[x].tov[]),(t[x].tov[i])表示从第(l)列的第(i)行会走到第(r + 1)列的第几行。可以先预处理一遍,求出所有的(t[x].tov[i])。设当前的位置为((now[0],now[1]))对于查询操作:我们可以尝试着分块。对于步数(k),如果小于等于(m - now[1] +1)的,就直接用线段树跳。否则的话,我 查看全文

如何使用gitlab自建golang库

        nblogs-markdown">这里以go mod方式建立golang基础库一.gitlab创建项目golib地址为gitlab.xxx.com/base/golib示例如下go mod初始化命令go mod init golib二、如何下载1. 先关闭GOPROXYexport GOPROXY=""2. 替换git的https为ssh,避免下载包的过程让输入密码git config --global url."git@gitlab.eoffcn.com:".insteadOf "https://gitlab.eoffcn.com/"3.执 查看全文

Tcp协议介绍

前情提要:根据域名建立tcp链接之前要做两件事情,1 根据arp协议找到网管mac地址 2 通过dns服务器解析出域名的Ip地址,解析出域名的Ip地址之后就可以建立tcp链接了。tcp协议三个特点:1 实现可高传输 2 实现流量控制 3 避免网络拥塞tcp首部:   序号:表示传输数据第一个字节 是整个数据中的第几个字节 确认号:表示下一个链接过来的传输数据的第一个字节 是整个数据中的第几个字节 URG:值为1时表示数据不用进入TCP缓存池排队,直接发送给接收端 ACK:表示确认号码是否有效,0无效 1有效  SYN:值为1时表示发起会话请求的标识,其他为0后者不传(一般用于tcp握手阶段) PSH:值为1时表示接收端要提前提交给应用程序,不要进入TCP缓存池& 查看全文

Git详细学习教程

作者:gafishhttps://github.com/gafish/gafish.github.comGit简介Git 是一种分布式版本控制系统,它可以不受网络连接的限制,加上其它众多优点,目前已经成为程序开发人员做项目版本管理时的首选,非开发人员也可以用 Git 来做自己的文档版本管理工具。2013年,淘宝前端团队开始全面采用 Git 来做项目管理,我也是那个时候开始接触和使用,从一开始的零接触到现在的重度依赖,真是感叹 Git 的强大。Git 的api很多,但其实平时项目中90%的需求都只需要用到几个基本的功能即可,所以本文将从 实用主义 和 深入探索 2个方面去谈谈如何在项目中使用 Git,一般来说,看完  查看全文

SSLOJ 1338.逃亡路径

题目题目描述由于不能与Garfield和睦相处,Odie决定逃亡。不幸的他逃到了一个矩形湖泊。湖泊的长为N,宽为M,初始时Odie位于位置(1,1)。Garfield想要知道可怜的Odie有到达位置(N,M)的最短路径条数(不能跳出湖泊边界)。另外,神奇的Odie移动方式类似国际象棋的骑士。 输入两个整数N和M,表示湖泊的长和宽。输出一个整数,表示最短路径的条数(模9901输出即可)。输入样例复制3 3输出样例复制2说明对于50%的数据,N ≤ 5,对于100%的数据,N ≤ 100。 分析直接最短路?但记录路径要开数组 代码  1 #include<iostream> 2 #include<queue> 3 #inc 查看全文

c#的dictionary为什么在扩容时会以素数扩容

  今天在看dictionary时,看到他在扩容时会以大于其两倍的最近素数大小来扩容,就思考了一下。  因为dictionary是基于hash表的,hash后转正数后会去取模,所以我的思路就转到了是否用素数取模更优越,记录一下我的推断过程:  最终的桶的index = key%m = key - xm = key - f(key/m)m。 这里的 f 函数用于向下取整。可以看到,最终结果是等价于key - f(key/m)m的。那么我们就以进来的key = 2n(即2的倍数),桶为4来举例。那么结果为 2n - f(2n/4)*4,简化后是2(n - f(n/2)*2)。可以看到这其实就是n - f(n/2)*2的两倍,而n - f(n/2)*2则是key = n装进长度为2的桶的公式,因此可以知道在这种情况下,它退化为了长度为2的桶。而又因为key 查看全文

数学建模中 时间序列典型分解模型 matlab实现

周期项之和为0代码:%时间序列的典型分析式 %数据来源网络 x=[9007,8106,8928,9137,10017,10826,11317,10744,9713,9938,9161,8927,...   7750,6981,8038,8422,8714,9512,10120,9823,8743,9129,8710,8680,...   8162,7306,8124,7870,9387,9556,10093,9620,8285,8433,8160,8034,...   7717,7461,7776,7925,8634,8945,10078,9179,8037,8488,7874,8647,...   7792,6957,7726,8106,8890,9299,10625, 查看全文

gitlab CI/CD部署

安装依赖包,运行命令 sudo apt-get install curl openssh-server ca-certificates postfix执行完成后,出现邮件配置,选择Internet那一项(不带Smarthost的) gitlab1.png利用清华大学的镜像https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/来进行主程序的安装。首先信任 GitLab 的 GPG 公钥:curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null利用root用户sudo su 查看全文
加载更多

js使用protobuf——支持web端交互使用

ProtoBuf简介Protocol Buffer的简称。Google旗下的一款平台无关,语言无关,可扩展的序列化结构数据格式,适合用于数据存储,作为不同应用、语言之间相互通信的数据交换格式,序列化后的数据为二进制数据(pb格式的数据),类比XML、JSON。protobuf最先支持C++ C# Go JAVA Python PHP语言,最近发布的代码包又支持了JavaScript,今天就来谈下,js怎么使用protobuf。官网地址 https://developers.google.com/protocol-buffers/安装protobuf编译器从github上下载编译器源码安装包,https://github.com/protocolbuffers/protobuf/releases 编译安装, 目前仅支持unix类型的系统。定义 查看全文

(新手上路)nginx运行报错:could not open error log file和mkdir fail

问题:nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (13: Permission denied) 2018/08/12 00:01:05 [emerg] 1977#0: mkdir() "/usr/local/nginx/client_body_temp" failed (13: Permission denied)分析:error.log 日志记录文件 查看全文

Flink开发中遇到的问题及解法

1. 当Source是Kafka的时候,如何设置Source Operator的并发度?如果没有指定,Source Operator的个数与集群中的TaskManager的个数相等。如果手动设置,建议使用的slot个数=Kafka Partition的个数/TaskManager的个数。此时,Slot的个数需大于等于2.因为其中有一个Source Operator。也不建议在一个Slot中启用多线程。2. Barrier如果丢失了怎么办?因为Barrier是从Source开始周期性的发送的,所以过一段时间未被标记为阻塞的input channel会收到下一个checkpoint的barrier,这时Flink会进行比对,发现如果当前的检查点没有完成,但下一个checkpoint已经过来了,那么Flink会放弃当前的checkpoint,转而使用下一个 查看全文

手册

C/C++库函数MySQL手册PHP手册 查看全文

IDEA如何执行maven命令进行打包编译及常用命令

前提条件:maven配置环境变量。在保证环境变量配置没问题的情况下执行过程出现mvn不是内部命令类似的错误,建议重启编译器或者命令窗口。执行maven命令,方式一:   在IDEA主界面左下角找到 Terminal 点击进入,直接输入想执行的命令即可。 执行maven命令,方式二:   像配置tomcat一样,找到如图 Edit Configuration 选项,点击进入后在加号出找到 maven 选项,然后在 Command line 处输入要执行的命令即可。  注意,方式一执行maven命令要加 mvn 前缀,方式二因为本身就是添加maven命令模块,所以不用加 mvn 前缀即可 常用maven命令总结:mvn -v //查看版本 mvn archetype:create // 查看全文

进阶Frida--Android逆向之动态加载dex Hook(三)

前段时间看到有朋友在问在怎么使用frida去hook动态加载的dex之类的问题,确实关于如何hook动态加载的dex,网上的资料很少,更不用说怎么使用frida去hook动态加载的dex了。(frida的官方文档已经无力吐槽...)后来偶然的情况下发现了一道CTF题目可以作为很好的案例,所以花了很多心思将文章写下来分享给大家,涉及的内容比较多,我打算用上下篇将frida hook动态加载的dex的方法将清楚,上篇主要是引导及一些前置的知识。  目录         文章涉及内容及使用到的工具              查看全文

golang正则表达式的使用详解

正则表达式是一种进行模式匹配和文本操纵的功能强大的工具。正则表达式灵活、易用,按照它的语法规则,随需构造出的匹配模式就能够从原始文本中筛选出几乎任何你想要得到的字符组合。使用正则表达式需引入"regexp"包,通常还需与"strings"包配合使用,推荐一篇《Go strings 字符串处理包常用方法详解》链接地址本文主要介绍regexp包下一些常用方法的使用方法总结一、基础知识判断在 b 中能否找到正则表达式 pattern 所匹配的子串pattern:要查找的正则表达式matched:返回是否找到匹配项err:返回查找过程中遇到的任何错误此函数通过调用 Regexp 的方法实现//b:要在其中进行查找的 []byte func Match(pattern string,&nbs 查看全文

同步es数据到hive,处理es中嵌套结构

Overview:使用es-hadoop进行es2hive数据同步,当es mapping中有嵌套字段时,有2种选择: hive使用复杂结构和es mapping对应hive使用string类型,将es中的嵌套结构看作一个json string当es的mapping动态的变化时,尤其嵌套结构也动态变化时,使用第二种方式,将无须关心嵌套结构的变化技术方案: 使用es-haddop包建立hive外部表,设置es.output.json=true,如此每个document将返回一个json然后使用序列化包Hive-JSON-Serde对从es读出的json进行反序列化嵌套字段samplemapping{     "netsed": {     &n 查看全文
加载更多