rain

洛谷省选——单调队列

隐身守侯 提交于 2020-03-18 13:55:12
T1 题意 花盆 给出n个点的坐标,以及时间差d。求区间内y坐标的最大值与最小值差大于等于d 的最小x轴区间长度。 (n<=1e5, d<=1e6, x,y<=1e6) ### 思路 设l为一段满足条件的区间的左端点,r为该区间最小右端点,则r具有单调性。 『 单调性证明: 设端点l1满足条件的最小右端点为r1, 端点l2(l2>=l1)满足条件的最小右端点为r2。 则: r2>=r1, 否则端点l1满足条件的最小右端点为r2,矛盾。 故: r具有单调性。 』 因此可在对n个点按x排序之后,枚举左端点,用单调队列维护满足条件的区间的y轴上的最大值与最小值。 代码 #include <bits/stdc++.h> #define I __inline__ __attribute((always_inline)) #define ri register int using namespace std; const int inf = 0x3f3f3f3f; const int maxn = 1e5 + 10; I char readc(){ static char buf[100000],*p1=buf,*p2=buf; return p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++; } I int

JavaScript的变量作用域

巧了我就是萌 提交于 2020-03-05 11:41:02
在学习JavaScript的变量作用域之前,我们应当明确几点: JavaScript的变量作用域是基于其特有的作用域链的。 JavaScript没有块级作用域。 函数中声明的变量在整个函数中都有定义。 1、JavaScript的作用域链 首先看下下面这段代码: <script type="text/javascript"> var rain = 1; function rainman(){ var man = 2; function inner(){ var innerVar = 4; alert(rain); } inner(); //调用inner函数 } rainman(); //调用rainman函数 </script> 观察alert(rain);这句代码。JavaScript首先在inner函数中查找是否定义了变量rain,如果定义了则使用inner函数中的rain变量;如果inner函数中没有定义rain变量,JavaScript则会继续在rainman函数中查找是否定义了rain变量,在这段代码中rainman函数体内没有定义rain变量,则JavaScript引擎会继续向上(全局对象)查找是否定义了rain;在全局对象中我们定义了rain = 1,因此最终结果会弹出'1'。 作用域链:JavaScript需要查询一个变量x时,首先会查找作用域链的第一个对象

MAC OS git客户端安装及操作

走远了吗. 提交于 2020-02-29 08:36:14
1. 下载安装mac os 版本的git客户端及相关可视化软件 1.1 从git官网上下载匹配的git客户端.pkg格式的包,然后在系统偏好设置-> 安全性与隐私中打开系统默认禁止安装的这个程序,然后根据步骤安装。 1.2 安装好了之后,我发现和Windows不一样,windows有小乌龟的客户端,Mac os有sourceTree,和小乌龟一样,合并代码功能更强大。但是,小编这里偷懒一下,直接在命令行终端立马操作。 2. 使用git命令行终端进行文件操作 2.1 检查git安装成功版本 git --version或者which git 2.2 从远程服务器clone项目 git clone *.git 稍等一会儿之后会让你输入username和password,然后download代码成功,之后就可以愉快地码代码。 2.3 git常用的命令 git init 初始化仓库 git remote 连接远程仓库 git clone 克隆远程仓库 git add 添加文件或者修改文件,commit以及push之前使用 git pull 从远程仓库拉取新数据 git push 将本地仓库新增或修改文件推送到远程仓库 git commit 提交新增或修改文件到当前本地仓库中 git log 当前仓库提交过的日志信息 git status 当前仓库版本状态 git branch

最全整理 | 互联网公司的面试算法题(强烈建议收藏!)

此生再无相见时 提交于 2020-02-27 03:47:23
导读: LeetCode是一个美国的在线编程网站,收集了各个大厂的笔试面试题,对找工作的毕业生和开发者来说,非常有价值。很多求职者都会在LeetCode刷上一遍,面试官也喜欢在上面挑选各类题目。 更多优质内容请关注微信公众号“AI算力”。 LeetCode是一个美国的 在线编程网站 ,收集了各个大厂的笔试面试题,对找工作的毕业生和开发者来说,非常有价值。不过LeetCode上面的题目很多都是考察应聘者对基础知识的应用,适合进行练习编程基础或者准备面试。 很多求职者都会在LeetCode刷上一遍,面试官也喜欢在上面挑选各类题目。今天给大家推荐的这个GitHub项目,是Repo主自己刷题的心路历程,并给出了解题参考。该项目目前分为四个部分: 第一个部分是 leetcode 经典题目的解析,包括思路,关键点和具体的代码实现 第二部分是对于数据结构与算法的总结 第三部分是 Anki 卡片, 将 leetcode 题目按照一定的方式记录在 Anki 中,方便大家记忆 第四部分是计划, 这里会记录将来要加入到以上三个部分内容 只有熟练掌握基础的数据结构与算法,才能对复杂问题迎刃有余。 // 食用指南 // 最近添加的部分, 前面会有 🆕 标注;最近更新的部分,前面会有 🖊 标注;将来会在这里更新Anki卡片。 leetcode官方账号在知乎上给出的一个《互联网公司最常见的面试算法题有哪些?

Hidden Markov Model

一个人想着一个人 提交于 2020-01-31 05:53:36
HMM隐马尔科夫模型 ①通俗的理解 首先举一个例子,扔骰子,有三种骰子,第一个是比较常见的6个面 x = [ 1 , 2 , 3 , 4 , 5 , 6 ] x = [1,2,3,4,5,6] x = [ 1 , 2 , 3 , 4 , 5 , 6 ] ,每一个面的概率都是1/6。第二个只有4个面, x = [ 1 , 2 , 3 , 4 ] x = [1,2,3,4] x = [ 1 , 2 , 3 , 4 ] ,每一个面的概率是1/4。第三个有8个面, x = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ] x = [1,2,3,4,5,6,7,8] x = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ] ,每一个面的概率是1/8。 首先先选择一个骰子,挑到每一个骰子的概率1/3,然后投掷,可以得到 x = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ] x = [1,2,3,4,5,6,7,8] x = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ] 。最后会得到一堆的序列,比如会得到 O = [ 1 , 5 , 3 , 8 , 6 , 5 , 7 , 2 ] O = [1,5,3,8,6,5,7,2] O = [ 1 , 5 , 3 , 8 , 6 , 5 , 7 , 2 ] 等等

Vue.js 2.0之select级联下拉框

久未见 提交于 2020-01-09 22:18:46
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在网上搜索了Vuejs2.0 动态级联select许久未果,决定自己总结一下自己的经验,有关select在Vue.js 2.0版本中的应用。首先我先说一下的我使用的技术,我参考了网上成熟的经验,选择以Vue.js 2.0+Vue-router+Vuex的全家桶。 select首先要区分单选和多选,v-model在select单选和多选上有区别。 select单选实例: <select v-model="fruit"> <option selected value="apple">苹果</option> <option value="banana">香蕉</option> <option value="watermelon">西瓜</option> </select> <span>Selected:{{ fruit }}</span> 当被选中的option有value属性时,vm.selected 为对应option的value值;否则为对应options的text值。 select多选实例: <select v-model="fruit" multiple> <option selected value="apple">苹果</option> <option value="banana">香蕉</option

java黑客帝国数字雨特效源码

。_饼干妹妹 提交于 2019-12-18 00:56:19
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.image.MemoryImageSource; import java.util.Random; import javax.swing.JDialog; import javax.swing.JPanel; import javax.swing.Timer; public class Rain extends JDialog implements ActionListener { private Random random = new Random(); private Dimension screenSize; private JPanel graphicsPanel; //行高,列宽 private final static int gap = 20; //存放雨点顶部的位置信息(marginTop) private int[] posArr; //行数

MAC操作之Finder显示、隐藏 文件或文件夹

无人久伴 提交于 2019-12-05 22:40:28
Finder显示隐藏文件或文件夹 defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder mac存储中所有默认隐藏文件或文件夹都显示出来,效果如下: Finder隐藏打开显示的隐藏文件或文件 defaults write com.apple.finder AppleShowAllFiles -boolean false ; killall Finder mac存储中所有默认被打开的隐藏文件或文件夹都默认隐藏,效果如下: 移动硬盘从mac拷贝的文件无法正常打开 这类文件多为音视频文件,首先启动mounty,然后cd入相应的文件夹,输入ls -l,首先查看文件详细,-rwxr-xr-x@ 属性多了一个@, 进入文件发现文件详情多了com.apple.FinderInfo,这就是移动硬盘中音视频文件无法打开的元凶,使用xattr -d com.apple.FinderInfo *.mp4(相应的文件类型)删除掉这个属性,文件就可以正常读写。 版权申明: 本文为原创文章, 转载时请注明: 来自w-rain的个人博客 来源: oschina 链接: https://my.oschina.net/u/1040513/blog/1335029

Java基础_JSON

筅森魡賤 提交于 2019-12-05 09:08:57
定义?   JSON(JavaScript Object Notation):JavaScript对象表示法。 为什么使用JSON? JSON是纯文本格式,独立于语言和平台; 生成和解析相对于XML而言更简单; 读写速度更快。 支持哪些数据类型? Number  数字型(整数或浮点数) String   字符串(在双引号中) Boolean  布尔型(true或false) Object   对象(在花括号中,元素之间以逗号分隔){ "name" : "Rain" , "age" : "27" } Array   数组(在方括号中,元素之间以逗号分隔)[ "1" , "2" , "3" ] null   空值 补充:Object表示对象,类似于C语言中的结构体,以花括号{}括起来,其元素要求位键值对,其中key必须为String类型的,而value可以是任何类型。key和value之间以 : 表示映射关系。 目前最常用的三种json解析方式: 1)普通的json jar 包  <!-- https://mvnrepository.com/artifact/org.json/json --> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20160810</version

高效能人士30个最明显的工作习惯

元气小坏坏 提交于 2019-11-30 03:56:39
现行的关于提高工作效率的方法非常多,但大部分都是在没有研究支持的背景下提出的,实操性有待考证。解优人才网小编为大家分享一份美国RAIN Group最近发起了一项针对2300多名商务人士的研究,找到了30个有用的高效率方法。 1. 负责任 这一项位居高效工作榜单第一名,76%的高效人士认为他们会对自己说过的事情负责。 2. 有驱动力 74%高效人士认为自身具有很强的驱动力,他们想要成功的决心是其他人的2.2倍。 3. 主动性强 在高效人士中,67%的人认为自己有很强的主动性,他们习惯主动追求成功,而不是守株待兔。 4. 培养整体效率 63%的高效人士认为培养整体效率有助于取得成功。高效人士养成高效工作习惯的可能性比普通人高出5.3倍。 5. 制定长期的晨间流程 57%的高效人士都有一个晨间例行流程来开启有效率的一天。 6. 有一个高效的环境 在高效人士中,56%的人有一个良好的工作环境。因此他们将生产力最大化的可能性是其他人的3.3倍。 7. 保持活力 高效人士能够长期保持活力,因为他们在工作和自我充电之间取得了平衡。 8. 身兼数职 有一半的高效人士身兼数职,并且能够清晰地处理好每一件事情。 9. 制定每周计划 近50%的高效人士会对每周的工作进行规划和排序。大约41%的高效人士每周都会在日历中划出重要的时间点,他们可以从容地面对自己的工作。 10. 投资时间最大化