tmp

题解 LA4285

佐手、 提交于 2020-03-01 03:41:56
题目大意 多组数据,每组数据给定一个正整数 \(n(n\leq 50)\) 和平面内 \(n\) 个点,求出有多少个由这些点组成的简单,单调(monotone)多边形。一个单调多边形指的是构成这个多边形的所有边的斜率都在 \((-\frac{\pi}2,\frac{\pi}2)\) 中。数据保证没有两个点 \(x\) 轴坐标相同。 分析 不难想到将所有点按照 \(x\) 坐标排个序,然后按照上下两条折线考虑。我们令 \(f[i][j](i\neq j\ or\ i=j=1\ or\ i=j=n)\) 为上折线最右端为第 \(i\) 个点,下折线最右端为第 \(j\) 个点的所有方案数。不妨假定 \(i<j\) ,则 \(f[i][j]\) 只能向 \(f[i][j+1]\) 和 \(f[j+1][j]\) 转移。向 \(f[i][j+1]\) 的转移一定是可以的,我们来考虑向 \(f[j+1][j]\) 的转移。 用数学归纳法可以得到 \(f[i][j]\) 的所有方案数一定满足单调,那么就只用考虑简单了,也就是说边 \((i,j+1)\) 不能和边 \((k, k+1)|i<k<j\) 相交,也就是说点 \(k|i<k\leq j\) 全都在边 \((i,j+1)\) 的同一侧(下侧),更进一步,如果考虑点 \(j+1\) 的极角,有 \(ang_i<ang_k(i<k\leq

安装mysql5.7

Deadly 提交于 2020-02-29 22:08:06
首先下载mysql MySql 选择Linux - Generic (glibc 2.12) (x86, 64-bit), Compressed TAR Archive下载即可 我这里下载的是mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz 刚才上官网看了下,最新的变成8了,这个安装方式是否与5.7相同我就不清楚了(捂脸) 1.把下载完的文件上传到linux服务器,开始解压。 tar -xvzf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz 1 2.解压改下名字,方便后续操作。我这里命名为mysql。 mv mysql-5.7.22-linux-glibc2.12-x86_64 mysql 1 3.新建用户组合用户。 有可能出现该用户组和用户已经存在,这里是删除原先用户组/用户还是修改新建用户组/用户名都看你喜欢怎么弄了。 groupadd mysql useradd -r -g mysql mysql 1 2 4.修改mysql根目录用户权限 进入刚才重命名后的mysql文件夹执行修改权限命令 cd mysql chown -R mysql . chgrp -R mysql . 或者 cd mysql chown -R mysql:mysql ./ 1 2 3 4 5 6 5.初始化 MySQL 配置表

理解 Java 内存模型的因果性约束

廉价感情. 提交于 2020-02-29 17:34:08
理解 Java 内存模型的因果性约束 欢迎讨论 欢迎加入技术交流群186233599讨论交流,也欢迎关注笔者公众号:风火说。 规范理解 这部分的内容比较抽象,首先是一开始的定义,如下 红色下划线的内容应该是理解的关键。首先,E 是一个特定的执行序列,其由指令集合 A 以及用于对集合 A 内部存在的 PO,SO,SW,HB 排序构成。C<sub>i</sub> 是被 E 包含的一个子集,也就是说 C<sub>i</sub> 中的指令全部都在执行 E 的指令集合 A 中存在。 来看第二,第三和第四个红线(忽略A是无限集合的情况,无限集合意味着线程出现了死循环,永不终止,这并不是一个合理的程序),这三者合在一起理解,可以认为是 C<sub>i</sub> 增加一个指令,就构成了 C<sub>i+1</sub>,也就形成了新的 A<sub>i+1</sub> 。而新的 A<sub>i+1</sub> 结合 PO,SO,SW,HB 关系就成为了新的 E<sub>i+1</sub> 。 接着来看后续的定义 这 5 个约束合在一起实际上是说明如何构成一个 C 集合。简单而言,C<sub>i</sub> 是 A<sub>i</sub>的一个子集,并且这个子集和执行轨迹E<sub>i</sub> 拥有相同的 HB,SO 关系,且 C<sub>i</sub> 中写入操作的写入值和 E<sub>i<

Linux 入门基础——常用命令(二)

本秂侑毒 提交于 2020-02-28 23:37:54
1.常用文件处理命令 文件处理命令:touch   命令所在路径:/bin/touch   执行权限:所有用户   语法:touch [文件名]   功能描述:创建空文件,可以同时创建多个文件,空格隔开。 范例: $ touch /tmp/Japanlovestory.list 文件处理命令:cat   命令所在路径:/bin/cat   执行权限:所有用户   语法:cat [文件名]   功能描述:显示文件内容,不适合显示内容很多的文件        -n 显示行号 范例: $ cat /etc/issue     $ cat -n /etc/services 文件处理命令:tac   命令所在路径:/usr/bin/tac   执行权限:所有用户   语法:tac [文件名]   功能描述:显示文件内容(反向显示,从文章最后一行开始显示) 范例: $ tac /etc/issue 文件处理命令:more   命令所在路径:/bin/more   执行权限:所有用户   语法:more [文件名] (空格)或f 翻页 (Enter) 换行  q或Q 退出  功能描述:分页显示文件内容,对于文件里面内容很多的可以这样操作。 范例: $ more /etc/services 文件处理命令:less   命令所在路径:/usr/bin/less   执行权限:所有用户   语法

LINUX设置SUID,SGID,Stick bit

倾然丶 夕夏残阳落幕 提交于 2020-02-28 20:51:18
前面介绍过SUID与SGID的功能,那么,如何打开文件使其成为具有SUID与SGID的权限呢?这就需要使用数字更改权限了。现在应该知道,使用数字 更改权限的方式为“3个数字”的组合,那么,如果在这3个数字之前再加上一个数字,最前面的数字就表示这几个属性了(注:通常我们使用chmod xyz filename的方式来设置filename的属性时,则是假设没有SUID、SGID及Sticky bit)。 4为SUID 2为SGID 1为Sticky bit 假设要将一个文件属性改为“-rwsr-xr-x”,由于s在用户权限中,所以是SUID,因此,在原先的755之前还要加上4,也就是使用“chmod 4755 filename”来设置。 SUID也可以用“chmod u+s filename”来设置,“chmod u-s filename”来取消SUID设置;同样,SGID可以用“chmod g+s filename”,“chmod g-s filename”来取消SGID设置。 一般来说,使用过Linux的同学都知道,Linux文件的权限有rwx,所有者、所有组、其它用户的rwx权限是彼此独立的。为此,经常会听到如果某个web文件需要被修改的话,需要加上777的权限,这就是让所有用户可写。 但仔细一想,这样的权限未免有些想得比较天真,没有考滤特殊情况。例如/tmp目录默认权限是777

Docker 三剑客--Machine

陌路散爱 提交于 2020-02-28 10:19:26
Machine 我们知道在多个集群服务环境下,安装管理Docker的容器,要使用的是Docker Swarm,而使用Docker Swarm的情况是在多个集群的服务器已经搭建好Docker环境的情况下进行。如果在多台服务环境下,并没有安装好Docker环境,想要快速搭建一套Docker主机集群,这里就要使用到Docker Machine。 通过上面的基本简介,我们知道了Docker Machine是用来干啥的。即Docker Machine是负责使用Docker的第一步,让我们可以在多种平台上快速安装Docker环境,同时也支持多种平台,让用户可以在短时间内搭建一套Docker主机集群。 Docker Machine是Docker官方的开源项目,负责实现对Docker主机本身进行管理,由Go语言编写,开源地址为 https://github.com/docker/machine。 通过Machine用户可以在本地任意指定被Machine管理的Docker主机,并对其进行操作。Docker Machine 的定位主要是“在本地或者云环境中创建Docker”。其基本功能为: 在指定的节点上安装Docker引擎,配置其为Docker主机 集中管理所有Docker主机 总之Docker Machine 是一个工具,它允许你在虚拟宿主机上安装 Docker Engine ,并使用

leetcode之两数之和

不问归期 提交于 2020-02-28 06:02:51
废弃很久的博客,终于从灰尘中捡起来了。摸鱼近一年,最终研果真没希望考上了。还是老老实实挨社会的毒打吧。leetcode刷题好平台,先用它来熟悉很久未上手的算法吧! 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 题解 求和是二元的,两个循环刚好对应二元未知。直接暴力? 当然不可能,只用一个循环找数num,另一个数用target - num表示。 每遍历一个数,就把数num和数num的索引号ind放入一个字典dic中。 每次遍历时,都看看字典dic中是否有target-num这个数,如果有,那么就找到了x + y = target这个公式了。 class Solution : def twoSum ( self , nums : List [ int ] , target : int ) - > List [ int ] : dic = { } for ind , num in enumerate ( nums ) : tmp = target -

vi编辑器有关练习

对着背影说爱祢 提交于 2020-02-28 04:52:36
文章目录 vi插件使用 1.请在/tmp目录下创建一个名为vitest的目录 2.进入vitest这个目录中 3.将/etc/man_db.config复制到本目录下面 4.使用vi/vim打开本目录下的man_db.config文件 5.在vi中设置一下行号(永久生效) 6.移动到第8行,向右移动32个字符,请问你看到的扩号内是什么目录? 7.移动到第一行,并且向下查找一下"privileges"这个字符串,请问他在第几行 8.接下来,我要将66到71行之间的"man"改为"woman",忽略大小写 9.修改完之后,突然反悔了,要全部复原 10.复制29到41行这13行内容(含有MANPATH_MAP),并且粘贴到最后一行之后 12.将这个文件另存为一个"man_db.test.config"的文件中 13.去到第43行,并且删除16个字符,结果出现的第一个字符是什么? 15.保存后离开 vi插件使用 1.请在/tmp目录下创建一个名为vitest的目录 mkdir /tmp/vitest 2.进入vitest这个目录中 cd /tmp/vitest 3.将/etc/man_db.config复制到本目录下面 cp /etc/man_db.config man_db.config(./man_db.config)(.) (当前是在/tmp/vitest下)(如果不在的话就改成

HDUOJ 4990 Reading comprehension

二次信任 提交于 2020-02-28 00:17:45
HDUOJ 4990 Reading comprehension Problem Description Read the program below carefully then answer the question. # pragma comment(linker, "/STACK:1024000000,1024000000") # include <cstdio> # include <iostream> # include <cstring> # include <cmath> # include <algorithm> # include <vector> const int MAX = 100000 * 2 ; const int INF = 1e9 ; int main ( ) { int n , m , ans , i ; while ( scanf ( "%d%d" , & n , & m ) != EOF ) { ans = 0 ; for ( i = 1 ; i <= n ; i ++ ) { if ( i & 1 ) ans = ( ans * 2 + 1 ) % m ; else ans = ans * 2 % m ; } printf ( "%d\n" , ans ) ; } return 0 ; } Input Multi test cases

linux中的链接命令

隐身守侯 提交于 2020-02-27 15:53:42
ln 解释 命令名称:ln 命令英文原意:link 命令所在路径:/bin/ln 执行权限:所有用户 功能描述:生成链接文件 语法 ln -s [源文件] [目标文件] -s 创建软链接 示例 # 创建文件的软链接 ln -s /etc/issue /tmp/issue.soft # 生成文件的硬链接 ln /etc/issue /tmp/issue.hard 软链接 [root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -l /etc/issue -rw-r--r--. 1 root root 23 Aug 30 2017 /etc/issue [root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -l /tmp/issue.soft lrwxrwxrwx 1 root root 10 Nov 28 17:09 /tmp/issue.soft -> /etc/issue 类似windows的快捷方式 1.lrwxrwxrwx l代表软链接 rwxrwxrwx代表所有人都有操作软链接的权限 虽然软链接所有人拥有所有的权限,但是软链接指向的源文件有权限控制, 最终的权限还是要看源文件的权限的. 2.文件大小--只是符号链接(相当于快捷方式),很小 3./tmp/issue.soft -> /etc/issue 箭头指向源文件 硬链接