tmp

动态点分治

穿精又带淫゛_ 提交于 2020-02-10 18:40:17
好吧,我想说,动态点分治思路好理解,但打起来真让人心累。 所谓动态点分治,就是点分治在线修改和查询。 此时,我们构造一个点分树,先找整棵树的重心,以他为根,将他和每个子树的重心连边,以此类推。 对于每个重心,我们维护一些需要的信息 我们在修改的时候,只需要沿着点分树往上跳修改信息就好了。 动态点分树到这里就讲完了,但真正的难点是你的维护和修改。 例题1:P2056 [ZJOI2007]捉迷藏 网址:https://www.luogu.com.cn/problem/P2056 这题被号称是最水的动态点分治,但是我看了两个小时才明白,然后又打了一个小时,呜呜。 我的代码借鉴了https://www.cnblogs.com/LadyLex/p/8006488.html 可是哪位大佬太强,两三句就说完了,我这里算是对他的补充说明吧。 找最长链,那么我们需要维护最长链和次长链,但是由于数据可以被修改,所以不能只维护这两条。 定义一个堆h2[i]用来维护以i为重心的树上的黑店到i的距离。 但是我们不可能每次修改都重新遍历整棵树重新计算h2吧,所以再定义h1[i]用于维护以i为重心的树上的黑点到i在点分树上的父亲的距离。 这样一来,h2里面只用存储它的每个子树的h1.top()了,哈哈哈。 但我们要求的是求出整棵树的最大值,那不简单,再来一个堆h3呗。

jquery与php的HTML转义与反转义

半城伤御伤魂 提交于 2020-02-10 02:02:21
1.jquery (1)Html转义 var tmp = '<a href="https://www.baidu.com/">连接</a>'; var tmp_rev = $('<div>').text(tmp).html(); console.log(tmp_rev); 结果:   <a href="https://www.baidu.com/">连接</a> (2)Html反转义 var tmp = '<a href="https://www.baidu.com/">连接</a>'; var tmp_rev = $('<div>').text(tmp).html(); var tmp_rev_rev = $('<div>').html(tmp_rev).text(); console.log(tmp_rev_rev); 结果 :   <a href="https://www.baidu.com/">连接</a> 2.php (1)转义 htmlentities() 把字符转换为 HTML 实体 htmlspecialchars() 把预定义的字符转换为 HTML 实体  预定义的字符是: & (和号)成为 & " (双引号)成为 " ' (单引号)成为 ' < (小于)成为 < > (大于)成为 > (2)反转义 html_entity_decode() 把 HTML

Linux账号和权限管理

a 夏天 提交于 2020-02-10 01:57:24
一. 用户和组的管理 - Linux中用户种类 种类 特点 root 是管理员,拥有至高无上的权限,不受限制,UID为0 普通用户 管理员创建的用户,受权限限制,UID一般从500开始,可以登录系统 程序用户 安装应用程序,系统创建的,一般UID小于500,一般不可以登录系统,shell一般是/sbin/nologin Linux中组的种类: 种类 特点 基本组(私有组) 一个用户只有一个私有组,当用户创建目录和文件的时候,目录和文件默认的属组是基本组 附加组(公共组) 用户可以有多个附加组 用户的管理: /etc/passwd #存放了用户的信息 /etc/shadow #存放了用户的密码信息等 添加用户账号 useradd命令 useradd [选项]... 用户名 -u:指定 UID 标记号 -d:指定宿主目录,缺省为 /home/用户名 -e:指定帐号失效时间 -g:指定用户的基本组名(或UID号) -G:指定用户的附加组名(或GID号) -M:不为用户建立并初始化宿主目录 -s:指定用户的登录Shell 设置/更改用户口令 passwd命令 passwd [选项]... 用户名 -d:清空用户的密码,使之无需密码即可登录 -l:锁定用户帐号 -S:查看用户帐号的状态(是否被锁定) -u:解锁用户帐号 修改用户账号的属性 usermod命令 usermod [选项]...

BSGS及其扩展

我们两清 提交于 2020-02-09 17:16:25
目录 定义 原理 朴素算法 数论分块 例题 Luogu2485 [SDOI2011]计算器 扩展 例题 Luogu4195 【模板】exBSGS/Spoj3105 Mod 之前写了一篇关于BSGS的学习笔记。因为太过老旧,就想修改一些错误,顺便添上扩展BSGS的部分。可惜博客园不能对已发布的随笔修改编辑器,索性重新发出来。旧文已删。 定义 Baby-Step-Giant-Step算法,简称BSGS算法,又称大步小步算法,用于求方程 \(a^x\equiv b(\text{mod }c)\) 的最小非负整数解,此过程又称离散对数。 普通BSGS算法只能解决 \((a,c)=1\) 的情况,对其进行扩展之后则没有这个限制。 原理 当 \((a,c)=1\) 时,若 \(c|a\) 且 \(b\not=0\) ,则显然无解。若 \(c\not|\ \ a\) ,有 \(a^{c-1}\equiv 1(\text{mod }c)\) ,即 \(c-1\) 是一个循环节。因此如果方程有解,必定在 \([0,c-2]\) 中。 朴素算法 由此得到一个朴素的算法。枚举 \([0,c-2]\) 中每一个数,如果相等就输出答案。时间复杂度 \(O(c)\) 。考虑对其进行优化,引入数论分块的思想。 数论分块 设 \(x=i\times m+j(0\leq j<m)\) ,原方程改写为 \(a^{im

Linux高频命令记录

孤者浪人 提交于 2020-02-08 09:26:58
[TOC] 1.新建操作 mkdir abc #新建一个文件夹 touch abc.sh #新建一个文件 echo "abc" > test.txt #新建一个文件,并将abc写入。这里用到了重定向符 2.查看操作 2.1查看目录 ll #显示目录文件详细信息 df -lh #查看磁盘使用情况 du -h 文件/目录 #查看大小 pwd #显示路径 2.2查看文件 cat | head | tail 命令 #查看abc的内容 cat abc.txt #查看abc前5行内容。默认是10行 head -5 abc.txt tail [选项] 文件名 各选项的含义如下: num:从第num行以后开始显示 -num:从距文件尾num行处开始显示。如果省略num参数,系统默认值为10. -f: 循环读取,例如查看服务器日志时,可以实时观察 #filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新。 tail -f filename #查看最后20行 tail -f filename 2.3查找操作 find 查找文件或目录 (常用) #从根目开始,查找名称以nginx开头的目录和文件 find / -name nginx* #查找文件大小超过100M的文件 find / -size 100M #查找/home/zx目录下,10分钟内被修改过的文件和目录 find /home/zx/

Linux CentOS7 VMware 相对和绝对路径、cd命令、mkdir/rmdir、rm命令——笔记

霸气de小男生 提交于 2020-02-08 04:15:51
一、 相对和绝对路径 绝对路径 是从/(也被称为根目录)开始的,比如/usr、cd /root/ pwd 注:判断用户当前所处的位置 相对路径 是以 . 或 .. 开始的 二、cd命令 cd 是进入到当前目录 cd - 进入到上一次目录 cd ~即 /root cd..进入到上级目录 man cd查看所有用法 三、mkdir/rmdir 创建和删除目录 mkdir:创建一个名叫的davery文件 列出详细目录:ls -ld /tmp/davery/ 创建:mkdir /tmp/davery/1/2/ 不能直接创建 -p 命令可实现多创文件 mkdir -p /tmp/davery/1/2/ -pv 创建文件可视化,看到创建目录过程 mkdir -pv /tmp/davery/1/2/3/4 rmdir:删除文件,只能删除空文件目录 rmdir == remove directory 只能一级一级删除 四、rm命令 rm 可删除非空文件,也可删除目录,提示是否删除普通文件 强制删除文件 指令:-f rm -f /tmp/davery/1/2/*.txt 指令: -r 删除目录,会提示 -rf 强制删除目录,不会有提示 -rfv 强制删除目录,可看见目录删除过程成 来源: https://www.cnblogs.com/davery/p/8666806.html

Centos7 之目录处理命令(八)

拜拜、爱过 提交于 2020-02-08 00:56:21
linux中 关于目录 有几个重要概念 一个是 / 根目录 还有一个当前用户的家目录 比如 root用户的家目录是 /root 普通用户的家目录是/home/xxx 下 root登录 默认家目录 是root 我们这里先用 cd .. 进入 / 根目录 [root@localhost ~]# cd .. [root@localhost /]# 然后我们看下 根目录 / 下有哪些目录 [root@localhost /]# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var [root@localhost /]# 我们用 cd 回到家目录 [root@localhost /]# cd [root@localhost ~]# 创建目录命令 mkdir (make directories) 比如在/root 下建一个 书籍目录 [root@localhost ~]# mkdir 书籍 [root@localhost ~]# ls anaconda-ks.cfg 书籍 [root@localhost ~]# 假如我们要递归创建目录和文件 [root@localhost ~]# mkdir 书籍2/java编程思想 mkdir: 无法创建目录"书籍2/java编程思想":

Centos之目录处理命令

牧云@^-^@ 提交于 2020-02-08 00:39:06
linux中 关于目录 有几个重要概念 一个是 / 根目录 还有一个当前用户的家目录 比如 root用户的家目录是 /root 普通用户的家目录是/home/xxx 下 root登录 默认家目录 是root 我们这里先用 cd .. 进入 / 根目录 [root@localhost ~]# cd .. [root@localhost /]# 然后我们看下 根目录 / 下有哪些目录 [root@localhost /]# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var [root@localhost /]# 我们用 cd 回到家目录 [root@localhost /]# cd [root@localhost ~]# 创建目录命令 mkdir (make directories) 比如在/root 下建一个 书籍目录 [root@localhost ~]# mkdir 书籍 [root@localhost ~]# ls anaconda-ks.cfg 书籍 [root@localhost ~]# 假如我们要递归创建目录和文件 [root@localhost ~]# mkdir 书籍2/java编程思想 mkdir: 无法创建目录"书籍2/java编程思想":

centOs之目录处理命令

戏子无情 提交于 2020-02-08 00:37:13
linux中 关于目录 有几个重要概念 一个是 / 根目录 还有一个当前用户的家目录 比如 root用户的家目录是 /root 普通用户的家目录是/home/xxx 下 root登录 默认家目录 是root 我们这里先用 cd .. 进入 / 根目录 [root@localhost ~]# cd .. [root@localhost /]# 然后我们看下 根目录 / 下有哪些目录 [root@localhost /]# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var [root@localhost /]# 我们用 cd 回到家目录 [root@localhost /]# cd [root@localhost ~]# 创建目录命令 mkdir (make directories) 比如在/root 下建一个 书籍目录 [root@localhost ~]# mkdir 书籍 [root@localhost ~]# ls anaconda-ks.cfg 书籍 [root@localhost ~]# 假如我们要递归创建目录和文件 [root@localhost ~]# mkdir 书籍2/java编程思想 mkdir: 无法创建目录"书籍2/java编程思想":

Linux增加虚拟内存方法

六眼飞鱼酱① 提交于 2020-02-07 19:22:43
在linux中,当物理内存mem不足时,就会使用虚拟内存(swap分区) 例如增加2G虚拟内存,操作如下: 1.查看内存大小 [root@gamedb ~]# free -m 2.创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小) [root@gamedb tmp]# dd if=/dev/zero of=/tmp/big_swap bs=1M count=1024 3.目录空间大小 [root@gamedb tmp]# du -sh /tmp/big_swap 4.格式化为交换分区文件 [root@gamedb tmp]# mkswap /tmp/big_swap #建立swap的文件系统 5.启用交换分区文件: [root@gamedb tmp]# swapon /tmp/big_swap #启用swap文件 6.查看下扩充后的内存 [root@gamedb tmp]# free –h 7.使系统开机时自启用,在文件/etc/fstab中添加一行: /root/swapfile swap swap defaults 0 0 8.关闭某个分区 来源: https://www.cnblogs.com/link01/p/12273943.html