root

【树形dp】树的中心

懵懂的女人 提交于 2020-02-13 00:49:45
给定一棵树,树中包含 nn 个结点(编号1~n)和 n−1 条无向边,每条边都有一个权值。 请你在树中找到一个点,使得该点到树中其他结点的最远距离最近。 输入格式 第一行包含整数 n。 接下来 n−1行,每行包含三个整数 ai,bi,ci表示点 ai和 bi之间存在一条权值为 ci 的边。 输出格式 输出一个整数,表示所求点到树中其他结点的最远距离。 数据范围 1≤n≤10000 1≤ai,bi≤n 1≤ci≤1e5 输入样例: 5 2 1 1 3 2 1 4 3 1 5 1 1 输出样例: 2 思路:随便拿出一个点作为根节点,先用普通的树形dp用子节点更新父节点,求出每个点的子结点中的最长链与次长链。然后用父节点更新子节点,求出每个点往上走的最长链。因为这个点可能是父节点最长链的取值点,所以还需要记录父节点的最长链取自哪个子节点。详见代码及注释 #include<bits/stdc++.h> #define ll long long #define inf 1e9+7 using namespace std; const int maxn = 1e4+10; struct dd{ int to,val; }; vector<dd>q[maxn]; int n,a,b,c; int d1[maxn],d2[maxn],up[maxn]; //d1用于记录每个点往下走的最长链

The North American Invitational Programming Contest 2016 - Tourists ( LCA )

天涯浪子 提交于 2020-02-12 20:30:16
题意 给出一棵n个点,n-1条边的树。现在计算所有标号为x到y的距离之和(满足y>x且y是x的倍数) 思路 关于树上任意两点距离之和,一开始想到树形dp,可树形dp,是对每条边,求所有可能的路径经过此边的次数,是求出边两端的点数,这条边被经过的次数就是两端点数的乘积。 但是该题对计算的距离加了限制(y>x且y是x的倍数),显然不能用树形dp来做了。 接下来想到图论部分的算法,想处理出来两点之间的距离,也就是最短路,但是n=2e5,跑n遍dijkstra或者n遍spfa在复杂度上肯定会T,故不可行。 队友提到LCA(最近公共祖先),随意定义一个根root,用LCA倍增法预处理出来每个点到根的深度数组dep[],然后找两个点的最近公共祖先lca,那么这两点间的距离即 dep[i] + dep[i*j] - dep[lca] * 2 + 1 (根据题意,距离是这两点间边的个数+1) 代码是kuangbin的LCA倍增法板子改了一波。 AC代码 #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #include <cstdlib> #include <iostream> #include <vector> #include <queue> using namespace std; const

Fedora 12/Debian 以root登录图形界面

时光毁灭记忆、已成空白 提交于 2020-02-12 16:04:16
刚装好Fedora 12,以root登录图形界面,报错:“鉴定故障”。经查:默认不允许以root登录图形界面。 解决办法: (1)以普通用户登录。 (2)#su 切换到root。 (3)#vi /etc/pam.d/gdm 在如下行前加“#”,将其注释掉: auth required pam_succeed_if.souser != root quiet (4) #vi /etc/pam.d/gdm-passwaord 在如下行前加“#”,将其注释掉: auth required pam_succeed_if.souser != root quiet 经验证:使用sudo vi /etc/pam.d/gdm无法编辑这两个文件,因为安装时添加的用户默认不再sudo列表中,必须通过su切换到root才能编辑这两个文件。 其实在启动时进入单用户模式,默认就是root用户,可以直接编辑这两个文件。但这方式有点hack,咱还是整点比较常规的方法。 (5)#reboot 之后就可以用root登录了。 ------------------------------------------------ update 2012-05-22: 最近切换到Debian下,情况类似,解决方法也类似: http://www.cnblogs.com/floatedclouds/archive/2011/09

[转帖]Ubuntu 18.04 server安装图形界面及realvnc远程桌面连接

僤鯓⒐⒋嵵緔 提交于 2020-02-12 15:52:47
Ubuntu 18.04 server安装图形界面及realvnc远程桌面连接 https://blog.csdn.net/networken/article/details/88938304 转帖 学习一下. 版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/networken/article/details/88938304 ubuntu server安装图形界面 sudo passwd root su root apt-get update apt-get install -y ubuntu-desktop 安装完成后重启能够以普通用户登录桌面,如果需要root登录,还需要执行以下操作: 修改ubuntu.conf配置文件,在文件尾加入两行: vi /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf [Seat:*] user-session=ubuntu greeter-show-manual-login=true allow-guest=false 修改pam文件,注释2行 root@ubuntu:~# vi /etc/pam.d/gdm-autologin #%PAM-1.0 auth requisite pam_nologin.so #auth required pam

零起步6-CentOS7.6源码编译安装http轻量级消息队列ucmq

萝らか妹 提交于 2020-02-12 15:27:27
先安装libevent,最新版本号 libevent-2.1.11-stable.tar.gz [root@localhost ~]# ls -al /usr/lib | grep libevent [root@localhost ~]# yum install libtool -y [root@localhost ~]# wget https://github.com/libevent/libevent/releases/download/release-2.1.11-stable/libevent-2.1.11-stable.tar.gz [root@localhost ~]# cd libevent-2.1.11-stable [root@localhost libevent-2.1.11-stable]# ./configure --prefix=/usr/lib/libevent [root@localhost libevent-2.1.11-stable]# make && make install [root@localhost libevent-2.1.11-stable]# ls -al /usr/lib | grep libevent drwxr-xr-x. 5 root root 43 Feb 11 02:48 libevent

根据记录数绘制多边形

僤鯓⒐⒋嵵緔 提交于 2020-02-12 15:14:46
这是我们专业课中一个小小的作业吧,备个份在这~~~ (1)创建Excel文件 (2)程序源代码 1 import tkinter 2 import tkinter.filedialog as fdg 3 import turtle as f 4 import xlrd 5 6 7 8 # 创建可视化用户选择界面 9 def User_UI(): 10 def open_file(): 11 usr_file_pth = fdg.askopenfilename() 12 usr_file.set(usr_file_pth) 13 def paint(): 14 path = usr_file.get() 15 workbook = xlrd.open_workbook(path) 16 Data_sheet = workbook.sheets()[0] 17 sheet_name = Data_sheet.name 18 rowNum = Data_sheet.nrows # 行 19 colNum = Data_sheet.ncols # 列 20 21 # 获取所有单元格的内容 22 list_inc = [] 23 for i in range(rowNum): 24 rowlist = [] 25 for j in range(colNum): 26 rowlist

KVM虚拟化+桥接网络

柔情痞子 提交于 2020-02-12 15:14:21
1.虚拟机的配置 2.检测系统版本及内核的命令 [root@ localhost ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) [root@ localhost ~]# uname -r 3.10.0-514.el7.x86_64 [root@ localhost ~]# getenforce Disabled 3.检查CPU是否支持虚拟化 cpu是否支持虚拟化 [root@ localhost ~]# egrep -o '(vmx|svm)' /proc/cpuinfo vmx vmx 检查cpu是否建瓯开启虚拟化(输出图片一样则为未开启) [root@ localhost ~]# dmesg |grep kvm 4.安装kvm用户动态模块(libvirt用来管理kvm) [root@ localhost ~]# yum install qemu-kvm qemu-kvm-tools libvirt -y 5.启动livirt [root@ localhost ~]# systemctl start libvirtd.service [root@ localhost ~]# systemctl enable libvirtd.service 6.启动之后我们可以使用ifconfig进行查看

解决manjaro 登录时“login failure”

∥☆過路亽.° 提交于 2020-02-12 14:52:07
问题描述 :开机后输入密码提示 登录失败 解决路径 使用root用户登录(失败),怀疑是桌面环境问题,通过 ctr+alt+4 进入tty4进行登录(失败) 修改密码 通过liveCD模式修改密码,步骤如下 a) 通过启动盘进入manjaro系统 b) 通过 fdisk -l 查看硬盘挂载情况 c) 将根目录挂在到/media/manjaro挂在点上 mount /dev/sda1 /media/manjaro d) 改变root设置密码 chroot /media/manjaro passwd root e) 退出,unmount exit umount /media/manjaro 通过grub修改密码 a) 在开机时或者进入引导页面时按住e进入grub引导界面 b) 找到有kernel那一行,在末尾添加 init=/bin/bash c) 按住 ctrl+x 进入bash界面,修改密码 passwd root 修改密码后还是无法登录,考虑是pam模块或者权限问题。此时,输入正确密码后提示 Authentication failure ,输入错误密码提示 Password incorrect .通过网上冲浪和群里询问大概总结了以下几个可能的解决的办法。 /etc/shadow,/etc/passwd 1) 查看两个文件权限 js ls -l /etc/passwd /etc

高斯坐标正反算

旧街凉风 提交于 2020-02-12 11:30:12
测绘行业基础计算的代码,废话不多说,先介绍下基本原理。 一 高斯正反算基本原理 1 高斯投影坐标正算 (1)高斯投影正算:已知椭球面上某点的大地坐标(B,L),求该点在高斯投影平面上的直 角坐标(X,Y),即(B,L)-->(X,Y)的坐标变换。  (2)投影变换必须满足的条件: 中央子午线投影后为直线;  中央子午线投影后长度不变;  投影具有正形性质,即正形投影条件。 (3)公式如下: 1 高斯投影坐标反算 (1)高斯投影反算:已知在高斯投影平面上的直 角坐标(X,Y),反求该点在椭球面上的大地坐标(B,L),即(X,Y)-->(B,L)的坐标变换。 (2)同正算一样,对投影函数提出三个条件: x坐标轴投影成中央子午线,是投影的对称轴; x轴上长度投影保持不变; 正形投影条件。 (3)反算公式 公式随手截的图,所以分辨率.... 具体公式,学测绘的书上都有的 二 实现代码 其实这个小程序真要动手写起来难度不大,难的是算法原理的理解和公式中每个字母所代表的含义,以下是具体代码: 1 import tkinter 2 import tkinter.filedialog as fdg 3 import re 4 import math 5 6 7 8 """ 9 =================> 用户UI界面相关 <================== 10 """ 11

GUI的终极选择:Tkinter13:布局管理器

早过忘川 提交于 2020-02-12 11:27:53
※什么是布局管理器?就是负责管理各大组件的排列,Tkinter提供了三大布局管理器,分别是pack、grid和place,下面一个一个介绍 ##pack ※ pack :pack 是按添加顺序排列组件 对比 grid 管理器,pack 更适用于少量组件的排列,但它在使用上更加简单(就像我们前边所有的例子中,展示一个组件我们一般都直接使用 .pack(),多简单~)。如果你需要创建相对复杂的布局结构,那么建议是使用多个框架(Frame)结构构成,或者使用 grid 管理器实现。 注意:不要在同一个父组件中混合使用 pack 和 grid,因为 Tkinter 会很认真地在那儿计算到底先使用那个布局管理器…以至于你等了半个小时,Tkinter 还在那儿纠结不出结果! 下面来演示将一个组件放进另一个组件里,并且要求是填充另一个组件 from tkinter import * root = Tk ( ) listbox = Listbox ( root ) listbox . pack ( fill = BOTH , expand = True ) for i in range ( 10 ) : listbox . insert ( END , str ( i ) ) mainloop ( ) (解析:这里用的是listbox组件放到root窗口也是组件,实例化好后,接着用pack来布局