update

Hdu 3887 Counting Offspring \\ Poj 3321 Apple Tree \\BZOJ 1103 [POI2007]大都市meg

霸气de小男生 提交于 2020-04-03 07:14:09
这几个题练习DFS序的一些应用。 问题引入: 给定一颗n(n <= 10^5)个节点的有根树,每个节点标有权值,现有如下两种操作: 1、C x y 以节点x的权值修改为y。 2、Q x 求出以节点x为根的子树权值和。 最直观的做法, 枚举一个子树内所有节点的权值加和。但这种做法的每一次讯问的时间复杂度是O(n)的,很明显无法满足题目的需要,我们需要更优的解法。 我们考虑DFS序的另外一种形式,当访问到一个节点时记下当前的时间戳,我们设它为L[x], 结束访问一个节点时当前的时间戳设为R[x]。则以x为根的子树刚好是下标为L[x]和R[x]中间的点。我们看下面这个例子。 有了DFS序这个性质我们就可以讲这个问题转化成一个区间求和问题。 每一次询问的复杂度就是O(logn)级别的,完全可以接受。 另外:很多人习惯在生成DFS序的时候,叶子节点的进出时间戳差1,我习惯于叶子节点的进出时间戳一样。这样根节点的时间戳为[1,n] 比如说:上图中如果采用叶子节点进出时间戳差1的写法,DFS序为:4、3、1、7、7、1、2、6、6、2、3、5、8、8、5、4.数量为2*n 如果按照我习惯的做法,DFS序为:4、3、1、7、2、6、5、8. 两种做法都可以,我习惯于第二种。 练习题: 第一题: http://acm.hdu.edu.cn/showproblem.php?pid=3887 题意

MySQL replication

£可爱£侵袭症+ 提交于 2020-04-03 04:29:53
binlog binlog_format cang.baidu.com change master checklist clone session default-character-set du fdatasync fedora frm fsync hatemysql.com heartbeat innobackupex-1.5.1 innodb innodb_flush_log_at_trx_commit linux lock timeout log group capacity loose modprobe mount multi-master multi schema my.cnf mysql mysqlbinlog mysqld_multi option modifiers pickup112.bulog.cn replication secure CRT select into outfile solaris squid ssh ssh_config statement sync_binlog ubuntu VIP bond weave xmark xtrabackup 主备备的两个备机转为双master时出现的诡异slave lag问题 有三台MySQL服务器,a,b和c,复制关系为 a -> b -> c。a,b,c的server_id分别为1,2,3

ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction

江枫思渺然 提交于 2020-04-02 21:54:36
前言:朋友说我运行一个简单的建议update声明失败。症状,如下面: mysql> update order_info set province_id=15 ,city_id= 1667 where order_from=10 and order_out_sn='1407261241xxxx'; ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction mysql> QQ远程过去。開始check 1,查看数据库的隔离级别: mysql> select @@tx_isolation; +-----------------+ | @@tx_isolation | +-----------------+ | REPEATABLE-READ | +-----------------+ 1 row in set (0.00 sec) mysql> 2。去查看先当前库的线程情况: mysql> show full processlist; +----------+-----------------+-------------------+-----------------+-------------+---------+-------------------------+----------------

suse 10.3的布置源

﹥>﹥吖頭↗ 提交于 2020-04-02 19:30:42
起原:linuxsir 1、有eva(linux 下的qq)stardict(linux 下的金山词霸)等等(Thruth版主的源) http://download.opensuse.org/rep ... ruth/openSUSE_10.3/ 2、有scim-python、fcitx输出法,另有其他 http://download.opensuse.org/rep ... year/openSUSE_10.3/ 3、Main Repository (OSS)镜像,选一个 http://ftp.jaist.ac.jp/pub/Linux ... tion/10.3/repo/oss/ http://ftp.kddilabs.jp/Linux/pac ... tion/10.3/repo/oss/ http://ftp.riken.jp/Linux/opensuse/distribution/10.3/repo/oss/ 4、Main Repository (NON-OSS)镜像,选一个 http://mirror.lupaworld.com/suse/10.3/repo/non-oss/ http://ftp.jaist.ac.jp/pub/Linux ... /10.3/repo/non-oss/ http://ftp.kddilabs.jp/Linux/pac ... /10

安装 VS 2015 Update 2 + Windows SDK Tools 1.3.1 + Windows SDK 10586.212 后提示找不到 10586.0 SDK 问题的解决方法

烈酒焚心 提交于 2020-04-02 15:05:25
将 Visual Studio 2015 升级到 Update 2,并安装 Windows SDK Tools 1.3.1 和 Windows SDK 10586.212 后,有可能造成原本已安装的 10586.15 SDK 损坏,导致 Visual Studio 2015 在新建或打开使用了 10586.15 SDK 的项目时提示以下错误: The project requires a platform SDK (UAP, Version=10.0.10586.0) that is not installed. Please visit the following link for more information: http://go.microsoft.com/fwlink/?prd=12514&pver=14.0&sbp=PlatformSDKMissing&plcid=0x409&o1=UAP,%20Version=10.0.10586.0 Visual Studio 尝试根据版本号 10586.0 搜寻所需 SDK 失败。由于提示中的链接无效,点击链接会跳转到微软官网。进入控制面板,可能会发现已安装程序列表中只有 10586.212。原先经过咨询微软官方人员得知,实际上 10586.15 和 10586.212 是共存的。如果只出现了其中一个,则意味着安装失败

『科学计算』科学绘图库matplotlib学习之绘制动画

丶灬走出姿态 提交于 2020-04-02 07:32:33
基础 1.matplotlib绘图函数接收两个等长list,第一个作为集合x坐标,第二个作为集合y坐标 2.基本函数: animation.FuncAnimation(fig, update_point,data) fig是画布 update是绘画函数需自己定义,需要一个参数,会自动接收data,需要返回plt.plot对象,描述比较费解,看例子就好 data种类很多,包括总帧数(例1)、当前帧数(即不设定data的默认参数,例2)、返回迭代器的函数(例3)、list(作业2) frames=200 总帧数(非update参数) interval=20 帧间隔(毫秒) 示例代码 简单调用帧数绘图 from matplotlib import pyplot as plt import matplotlib.animation as animation import numpy as np def update_point(num): fig_points.set_data(data[:, 0:num]) return fig_points, fig1 = plt.figure() num_point = 50 data = np.random.rand(2, num_point) fig_points, = plt.plot([], [], 'ro') plt.xlim(0, 1)

python之旅:元类metaclass

烈酒焚心 提交于 2020-04-02 05:53:08
廖老师元类:http://www.cnblogs.com/moyand/p/8868857.html 一 知识储备 exec:三个参数 参数一:字符串形式的命令 参数二:全局作用域(字典形式),如果不指定,默认为globals() 参数三:局部作用域(字典形式),如果不指定,默认为locals() #可以把exec命令的执行当成是一个函数的执行,会将执行期间产生的名字存放于局部名称空间中 g={ 'x':1, 'y':2 } l={} exec(''' global x,z x=100 z=200 m=300 ''',g,l) print(g) #{'x': 100, 'y': 2,'z':200,......} print(l) #{'m': 300} exec的使用 二 引子(类也是对象) class Foo: pass f1=Foo() #f1是通过Foo类实例化的对象 python中一切皆是对象,类本身也是一个对象,当使用关键字class的时候,python解释器在加载class的时候就会创建一个对象(这里的对象指的是类而非类的实例),因而我们可以将类当作一个对象去使用,同样满足第一类对象的概念,可以: 把类赋值给一个变量 把类作为函数参数进行传递 把类作为函数的返回值 在运行时动态地创建类 上例可以看出f1是由Foo这个类产生的对象,而Foo本身也是对象

大话Electron应用自动更新

╄→гoц情女王★ 提交于 2020-04-02 05:52:10
一、Windows下更新特有的问题 软件更新在Linux和macOS还好说,但是在Windows上可能会遇到UAC问题,常用的方法是:Windows计划任务、Windows Service,本质上这两种方式还是提权,Windows Service 与 Windows计划任务相比最大的特点就是可以与应用交互,Windows的更新就是使用Windows Update服务,即使在macOS的Edge浏览器也是使用的Microsoft Update服务。 二、手动更新 手动更新是下载完整的安装包,用户手动安装,如果数据需要保存在本地,那么不要将数据保存在应用安装目录,而是用户目录。 手动更新适合用户粘性高,非频繁更新的应用,在macOS的App Store中,通常只要上传安装包,用户终端可以自动更新。手动更新一般会有比较大的安装包,因为是完全下载。一般作为降级更新方案使用。 三、覆盖更新 程序自动替换,下载更新过程快,只需要重启应用,甚至不需要重启,但是容易出现写入文件失败,而且实现复杂,适合打补丁。 四、自动更新 应用程序自动下载,再次启动以后重新加载最新版本即可,一般这样的应用结构是由一个固定的应用启动程序读取不同的应用版本。 这样更新速度快,异步更新并且适合高频更新的应用。缺点就是实现有一定的难度。 五、Electron应用更新 (1)Web化 将业务视图存放到远程HTTPS服务器

DNS及编译安装MariaDB

与世无争的帅哥 提交于 2020-04-01 02:25:10
1、简述DNS服务器原理,并搭建主-辅服务器。 DNS(domain name server),域名解析服务器。dns域结构:是一颗倒树状结构,分为根域、一级域、二级域...127级域。每一级的域名服务器管理自己的子域。 dns工作原理,以访问www.baidu.com为例: 1) 首先浏览器会查看本地dns,也就是系统的host文件,可以解析的话就返回对应的ip,否则就会查询本地缓存 2) 如果本地缓存不起作用,就把请求发送给网络提供商的dns服务器(例如电信dns服务器),可以解析的话就返回对应的ip或者查询缓存 3) 如果电信dns服务器无法解析,它会把www.baidu.com解析请求发送给根dns服务器。根dns服务器只管理顶级域名,它会返回.com域dns服务器的ip给电信dns服务器 4) 电信dns服务器就会向.com域dns服务器发送www.baidu.com解析请求,它解析不了,但是会返回.baidu.com域的dns服务器ip给电信dns服务器 5) 电信dns服务器就会向.baidu.com域dns服务器发送www.baidu.com解析请求,此dns查询自己的数据库发现有www.baidu.com这个主机的记录,然后把对应的ip返回给电信dns服务器 6)然后电信dns服务器会缓存查询结果,接着把查询结果返回给客户端,客户端就使用ip访问www.baidu

LinuxMint/Ubuntu 调整工具链

有些话、适合烂在心里 提交于 2020-04-01 02:19:57
有的时候我们需要调整系统工具链,满足某些软件编译要求,比如 Android 4.0, 我就以此为例,记录流水账 发现问题 编译过程停止,报错 error: "_FORTIFY_SOURCE" redefined, 有点眼熟,google 一下。参考文章 http://blog.csdn.net/flydream0/article/details/7046612 建议安装 4.4 的工具链,系统里带的是 4.6 版本的。 sudo apt-get install cpp-4.4 gcc-4.4-base gcc-4.4 g++-4.4 apt-get 装上 4.4 后,又不太喜欢原文的方法,故继续折腾新的方法,对 update-alternatives 接触有些时间了,还是不熟悉这条命令,于是也利用这机会熟悉 解决过程 在参考文章 http://lingavin.com/post-24.html 和 http://askubuntu.com/questions/26498/choose-gcc-and-g-version 开始动手 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 40 sudo update-alternatives --install /usr/bin/gcc gcc /usr