05 2019 档案

摘要:题目描述 Byteazar有 N 个小猪存钱罐. 每个存钱罐只能用钥匙打开或者砸开. Byteazar已经把每个存钱罐的钥匙放到了某些存钱罐里. Byteazar 现在想买一台汽车于是要把所有的钱都取出来. 他想尽量少的打破存钱罐取出所有的钱,问最少要打破多少个存钱罐. 输入格式 第一行一个整数 N 阅读全文
posted @ 2019-05-31 19:47 修电缆的建筑工 阅读(284) 评论(0) 推荐(0)
摘要:题目描述 n个学校构成一个有向图,通过m条边连接,一:问至少向图中多少个学校投放软件,可以使得所有学校直接或者间接的通过边(假设存在边(u,v),则向u投放v可以得到,而向v投放u不能通过v直接得到)得到软件(假设每次投放的软件无穷多)。二:问至少添加多少条边可以使得只用向一个学校投放软件别的学校都 阅读全文
posted @ 2019-05-30 21:22 修电缆的建筑工 阅读(182) 评论(0) 推荐(0)
摘要:题目描述 每一头牛的愿望就是变成一头最受欢迎的牛。现在有N(N include include define maxn 10001 define maxm 50001 using namespace std; struct edge { int to,next; edge() {} edge(con 阅读全文
posted @ 2019-05-30 21:09 修电缆的建筑工 阅读(206) 评论(0) 推荐(0)
摘要:题目描述 在顺利攻破 Lord lsp 的防线之后,lqr 一行人来到了 Lord lsp 的城堡下方。Lord lsp 黑化之后虽然拥有了强大的超能力,能够用意念力制造建筑物,但是智商水平却没怎么增加。现在 lqr 已经搞清楚黑暗城堡有 N 个房间,M 条可以制造的双向通道,以及每条通道的长度。l 阅读全文
posted @ 2019-05-30 20:22 修电缆的建筑工 阅读(215) 评论(0) 推荐(0)
摘要:题目描述 n个城市用m条双向公路连接,使得任意两个城市都能直接或间接地连通。其中城市编号为1..n,公路编号为1..m。任意个两个城市间的货物运输会选择最短路径,把这n (n 1)条最短路径的和记为S。现在你来寻找关键公路r,公路r必须满足:当r堵塞之后,S的值会变大(如果r堵塞后使得城市u和v不可 阅读全文
posted @ 2019-05-30 20:09 修电缆的建筑工 阅读(313) 评论(0) 推荐(0)
摘要:题目描述 给定一棵有N个点的树,所有节点的权值都为0。 有K次操作,每次指定两个点s,t,将s到t路径上所有点的权值都加一。 请输出K次操作完毕后权值最大的那个点的权值。 输入格式 The first line of the input contains N and K. The next N 1 阅读全文
posted @ 2019-05-29 19:07 修电缆的建筑工 阅读(107) 评论(0) 推荐(0)
摘要:题目描述 给出以1号点为根的一棵有根树,问每个点的子树中与它距离小于等于l的点有多少个。 输入格式 Line 1: 2 integers, N and L (1 include include include define maxn 200001 using namespace std; struc 阅读全文
posted @ 2019-05-29 18:57 修电缆的建筑工 阅读(185) 评论(0) 推荐(0)
摘要:题目描述 我们的郭嘉大大在曹操这过得逍遥自在,但是有一天曹操给了他一个任务,在建邺城内有N( include include include define maxn 1001 using namespace std; vector to[maxn]; int dfn[maxn],low[maxn], 阅读全文
posted @ 2019-05-29 18:40 修电缆的建筑工 阅读(536) 评论(0) 推荐(0)
摘要:题目描述 n个被自然地编号为1..n奶牛(1 include include define maxn 1001 using namespace std; struct edge{ int to,dis,next; edge(){} edge(const int &_to,const int &_di 阅读全文
posted @ 2019-05-28 20:47 修电缆的建筑工 阅读(194) 评论(0) 推荐(0)
摘要:题目描述 A国有n座城市,编号从1到n,城市之间有m条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有q辆货 车在运输货物,司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。 输入格式 第一行有两个用一个空格隔开的整数n,m,表示A国有n座城市和m条道路。 接下来m行每行3个整 阅读全文
posted @ 2019-05-28 20:37 修电缆的建筑工 阅读(201) 评论(0) 推荐(0)
摘要:题目描述 H国有 n个城市,这 n个城市用n 1条双向道路相互连通构成一棵树,1号城市是首都,也是树中的根节点。 H国的首都爆发了一种危害性极高的传染病。当局为了控制疫情,不让疫情扩散到边境城市(叶子节点所表示的城市),决定动用军队在一些城市建立检查点,使得从首都到边境城市的每一条路径上都至少有一个 阅读全文
posted @ 2019-05-28 20:18 修电缆的建筑工 阅读(146) 评论(0) 推荐(0)
摘要:题目描述 小 Y 是一个爱好旅行的 OIer。她来到 X 国,打算将各个城市都玩一遍。 小Y了解到, X国的 n个城市之间有 m条双向道路。每条双向道路连接两个城市。 不存在两条连接同一对城市的道路,也不存在一条连接一个城市和它本身的道路。并且, 从任意一个城市出发,通过这些道路都可以到达任意一个其 阅读全文
posted @ 2019-05-28 19:48 修电缆的建筑工 阅读(252) 评论(0) 推荐(0)
摘要:题目描述 小c同学认为跑步非常有趣,于是决定制作一款叫做《天天爱跑步》的游戏。?天天爱跑步?是一个养成类游戏,需要玩家每天按时上线,完成打卡任务。这个游戏的地图可以看作一一棵包含 N个结点和N 1 条边的树, 每条边连接两个结点,且任意两个结点存在一条路径互相可达。树上结点编号为从1到N的连续正整数 阅读全文
posted @ 2019-05-27 21:30 修电缆的建筑工 阅读(185) 评论(0) 推荐(0)
摘要:题目描述 你将要游览一个有N个岛屿的公园。从每一个岛i出发,只建造一座桥。桥的长度以Li表示。公园内总共有N座桥。尽管每座桥由一个岛连到另一个岛,但每座桥均可以双向行走。同时,每一对这样的岛屿,都有一艘专用的往来两岛之间的渡船。 相对于乘船而言,你更喜欢步行。你希望所经过的桥的总长度尽可能的长,但受 阅读全文
posted @ 2019-05-24 20:42 修电缆的建筑工 阅读(294) 评论(0) 推荐(0)
摘要:题目描述 给定一个n个顶点的有向图,每个顶点有且仅有一条出边。 对于顶点i,记它的出边为(i, a[i])。 再给出q组询问,每组询问由两个顶点a、b组成,要求输出满足下面条件的x、y: 1. 从顶点a沿着出边走x步和从顶点b沿着出边走y步后到达的顶点相同。 2. 在满足条件1的情况下max(x,y 阅读全文
posted @ 2019-05-24 20:18 修电缆的建筑工 阅读(172) 评论(0) 推荐(0)
摘要:题目描述 Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英。他们劫富济贫,惩恶扬善,受到社会各界的赞扬。最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争。战火绵延五百里,在和平环境中安逸了数百年的Z国又怎能抵挡的住Y国的军队。于是人们把所有的希望都寄托在了骑士团的身上,就 阅读全文
posted @ 2019-05-24 20:07 修电缆的建筑工 阅读(142) 评论(0) 推荐(0)
摘要:题目描述 几乎整个Byteland王国都被森林和河流所覆盖。小点的河汇聚到一起,形成了稍大点的河。就这样,所有的河水都汇聚并流进了一条大河,最后这条大河流进了大海。这条大河的入海口处有一个村庄——名叫Bytetown 在Byteland国,有n个伐木的村庄,这些村庄都座落在河边。目前在Bytetow 阅读全文
posted @ 2019-05-23 20:59 修电缆的建筑工 阅读(136) 评论(0) 推荐(0)
摘要:题目描述 一场可怕的地震后,奶牛用N个牲口棚(1 include include define maxn 151 define maxm 21 using namespace std; struct edge{ int to,next; edge(){} edge(const int &_to,co 阅读全文
posted @ 2019-05-23 20:19 修电缆的建筑工 阅读(258) 评论(0) 推荐(0)
摘要:题目描述 FJ发现他的牛经常跑到附近的草地去吃草,FJ准备给每个草地种足够的草供这个草地以及附近草地的奶牛来吃。FJ有N个草地(1 include include define maxn 100001 define maxm 21 using namespace std; struct edge{ 阅读全文
posted @ 2019-05-23 19:50 修电缆的建筑工 阅读(461) 评论(0) 推荐(0)
摘要:题目描述 Bob喜欢玩电脑游戏,特别是战略游戏。但是他经常无法找到快速玩过游戏的办法。现在他有个问题。他要建立一个古城堡,城堡中的路形成一棵树。他要在这棵树的结点上放置最少数目的士兵,使得这些士兵能了望到所有的路。注意,某个士兵在一个结点上时,与该结点相连的所有边将都可以被了望到。 请你编一程序,给 阅读全文
posted @ 2019-05-23 19:21 修电缆的建筑工 阅读(149) 评论(0) 推荐(0)
摘要:题目描述 Farmer John新买了一块长方形的牧场,这块牧场被划分成M列N行(1 include include define maxn 13 define p 100000000 using namespace std; int dp[maxn][1 1))){ for(register in 阅读全文
posted @ 2019-05-22 20:24 修电缆的建筑工 阅读(228) 评论(0) 推荐(0)
摘要:题目描述 给出a,b,求出[a,b]中各位数字之和能整除原数的数的个数。1 ≤ a ≤ b ≤ 10^18 输入格式 a,b 输出格式 [a,b]中各位数字之和能整除原数的数的个数。 明显的数位动规+前缀和思想。我们用记忆化搜索来做,先设计状态。 按照惯例,len,sum,val表示当前为第len位 阅读全文
posted @ 2019-05-22 20:06 修电缆的建筑工 阅读(127) 评论(0) 推荐(0)
摘要:题目描述 The number 666 is considered to be the occult “number of the beast” and is a well used number in all major apocalypse themed blockbuster movies. 阅读全文
posted @ 2019-05-22 19:52 修电缆的建筑工 阅读(189) 评论(0) 推荐(0)
摘要:题目描述 有N个人要去膜拜JZ,他们不知道JZ会出现在哪里,因此每个人有一个活动范围,只要JZ出现在这个范围内就能被膜拜, 伟大的JZ当然希望膜拜他的人越多越好,但是JZ不能分身,因此只能选择一个位置出现,他最多可以被多少人膜拜呢, 这个简单的问题JZ当然交给你了 输入格式 Line 1: A si 阅读全文
posted @ 2019-05-22 19:44 修电缆的建筑工 阅读(199) 评论(0) 推荐(0)
摘要:题目描述 约翰有一架用来称牛的体重的天平.与之配套的是N(1≤N≤1000)个已知质量的砝码(所有砝码质量的数值都在31位二进制内).每次称牛时,他都把某头奶牛安置在天平的某一边,然后往天平另一边加砝码,直到天平平衡,于是此时砝码的总质量就是牛的质量(约翰不能把砝码放到奶牛的那边,因为奶牛不喜欢称体 阅读全文
posted @ 2019-05-21 21:16 修电缆的建筑工 阅读(279) 评论(0) 推荐(0)
摘要:题目描述 The counter terrorists found a time bomb in the dust. But this time the terrorists improve on the time bomb. The number sequence of the time bomb 阅读全文
posted @ 2019-05-21 20:52 修电缆的建筑工 阅读(370) 评论(0) 推荐(0)
摘要:题目描述 某乡有n个村庄(1 include include define maxn 16 using namespace std; int dis[maxn][maxn],dp[1 j)&1){ for(register int k=0;k k)&1){ dp[i][j]=min(dp[i][j] 阅读全文
posted @ 2019-05-20 21:27 修电缆的建筑工 阅读(172) 评论(0) 推荐(0)
摘要:题目描述 有一个m行n列的矩阵,用1 2的骨牌(可横放或竖放)完全覆盖,骨牌不能重叠,有多少种不同的覆盖的方法? 你只需要求出覆盖方法总数mod p的值即可。 输入格式 三个整数数n,m,p,m l&1) odd|=cnt,cnt=0; else cnt^=1; if(odd|cnt) contin 阅读全文
posted @ 2019-05-20 21:16 修电缆的建筑工 阅读(330) 评论(0) 推荐(0)
摘要:什么是树上倍增? 顾名思义,就是在树上成倍地增长,可以用于解决一些静态树的查询问题。 放出例题:给定一棵根节点为1的n个节点的树,并给出树上两个点u,v,求它们的最近公共祖先。 我们可以预处理出每个点的父亲节点 fa 和深度 dep ,然后选择u,v中深度较大者不断地往父亲节点走,当u,v深度相同时 阅读全文
posted @ 2019-05-19 21:05 修电缆的建筑工 阅读(197) 评论(0) 推荐(0)
摘要:题目描述 八中里面有N个建设物,M条边。对于这种要建最小生成树的问题,你应该很熟练了。现在老大决定降低某条边的费用,然后这条边必须要被选中,因为这条路他每天都要走,自然......问选了这条边后是否可以得到一个比从前总开支相等或更小的方案。 输入格式 第一行三个整数N,M,Q(1LCA(u,v) v 阅读全文
posted @ 2019-05-18 15:45 修电缆的建筑工 阅读(197) 评论(0) 推荐(0)
摘要:题目描述 如下图所示,有一个" "形的棋盘,上面有1,2,3三种数字各8个。给定8种操作,分别为图中的A~H。这些操作会按照图中字母和箭头所指明的方向,把一条长为8的序列循环移动1个单位。例如下图最左边的" "形棋盘执行操作A后,会变为下图中间的" "形棋盘,再执行操作C后会变成下图最右边的" "形 阅读全文
posted @ 2019-05-16 21:08 修电缆的建筑工 阅读(269) 评论(0) 推荐(0)
摘要:题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使题目简单,设目标状态为123804765),找到一种最少步骤的移动方法,实现从初始布局到目标布局的 阅读全文
posted @ 2019-05-16 20:51 修电缆的建筑工 阅读(262) 评论(0) 推荐(0)
摘要:题目描述 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空位上。 给定一个初始的棋盘,怎样才能经过移动变成如下目标棋盘: 为了体现出骑士精神, 阅读全文
posted @ 2019-05-16 20:27 修电缆的建筑工 阅读(269) 评论(0) 推荐(0)
摘要:在做最短路的题时我们不免会碰到许多求次短路的题,然而我们也能很快地想到解决的办法: 用dijkstra跑一遍最短路,当终点第二次被取出时就是次短路了。时间复杂度为O((N+M)logN)。实际上前面得乘个2. 那么根据OI的尿性,有了最优解问题,又有了次优解问题,接下来是什么?K优解!那么K短路怎么 阅读全文
posted @ 2019-05-15 18:33 修电缆的建筑工 阅读(173) 评论(0) 推荐(0)
摘要:题目描述 农场有N(1≤N≤1000)个牛棚,每个牛棚都有1只奶牛要参加在X牛棚举行的奶牛派对.共有M(1≤M≤100000)条单向路连接着牛棚,第i条踣需要Ti的时间来通过.牛们都很懒,所以不管是前去X牛棚参加派对还是返回住所,她们都采用了用时最少的路线.那么,用时最多的奶牛需要多少时间来回呢? 阅读全文
posted @ 2019-05-14 21:14 修电缆的建筑工 阅读(258) 评论(0) 推荐(0)
摘要:题目描述 Farmer John的N(1 include include define maxn 50001 using namespace std; inline long long read(){ register long long x(0); register char c(getchar( 阅读全文
posted @ 2019-05-14 21:08 修电缆的建筑工 阅读(261) 评论(0) 推荐(0)
摘要:题目描述 .jpg) 输入格式 Line 1: 牛的数量 N。 Lines 2..N+1: 第 i+1 是一个整数,表示第i头牛的高度。 输出格式 Line 1: 一个整数表示c[1] 至 c[N]的和。 由于每头奶牛都可以看到前面第一头比它高的奶牛之前的所有奶牛,也就是说我们用单调栈维护一个单调下 阅读全文
posted @ 2019-05-14 20:58 修电缆的建筑工 阅读(233) 评论(0) 推荐(0)
摘要:题目描述 约翰的N(1≤N≤1,000,000,000)只奶牛要出发去探索牧场四周的土地.她们将沿着一条路走,一直走到三岔路口(可以认为所有的路口都是这样的).这时候,这一群奶牛可能会分成两群,分别沿着接下来的两条路继续走.如果她们再次走到三岔路口,那么仍有可能继续分裂成两群继续走. 奶牛的分裂方式 阅读全文
posted @ 2019-05-14 20:47 修电缆的建筑工 阅读(309) 评论(0) 推荐(0)
摘要:题目描述 约翰的干草库存已经告罄,他打算为奶牛们采购H(1≤H≤50000)磅干草,他知道N(1≤N≤100)个干草公司,现在用1到N给它们编号。第i个公司卖的干草包重量为Pi(1≤Pi≤5000)磅,需要的开销为Ci(l≤Ci≤5000)美元.每个干草公司的货源都十分充足,可以卖出无限多的干草包. 阅读全文
posted @ 2019-05-14 20:41 修电缆的建筑工 阅读(351) 评论(0) 推荐(0)
摘要:题目描述 7月17日是Mr.W的生日,ACM THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体。设从下往上数第i(1 Ri+1且Hi Hi+1。由于要在蛋糕上抹奶油,为尽可能节约经费,我们希望蛋糕外表面(最下一层的下底面除外)的面积Q最小。令Q = Sπ 请编程对给出的N和M,找出蛋 阅读全文
posted @ 2019-05-13 16:17 修电缆的建筑工 阅读(473) 评论(0) 推荐(0)
摘要:题目描述 每天,农夫 John 的N(1 include include define maxn 50001 using namespace std; inline int read(){ register int x(0),f(1); register char c(getchar()); whi 阅读全文
posted @ 2019-05-12 19:56 修电缆的建筑工 阅读(160) 评论(0) 推荐(0)
摘要:题目描述 Farmer John最近得到了一些新的农场,他想新修一些道路使得他的所有农场可以经过原有的或是新修的道路互达(也就是说,从任一个农场都可以经过一些首尾相连道路到达剩下的所有农场)。有些农场之间原本就有道路相连。 所有N(1 include include include include 阅读全文
posted @ 2019-05-12 19:45 修电缆的建筑工 阅读(220) 评论(0) 推荐(0)
摘要:题目描述 奶牛们在被划分成N行M列(2 include include include define maxn 110 define maxt 20 using namespace std; const int dir[4][2] = {{ 1, 0}, {1, 0}, {0, 1}, {0, 1} 阅读全文
posted @ 2019-05-12 18:41 修电缆的建筑工 阅读(229) 评论(0) 推荐(0)
摘要:题目描述 Farmer John以及他的N(1 阅读全文
posted @ 2019-05-11 16:15 修电缆的建筑工 阅读(217) 评论(0) 推荐(0)
摘要:题目描述 FarmerJohn打算将电话线引到自己的农场,但电信公司并不打算为他提供免费服务。于是,FJ必须为此向电信公司支付一定的费用。FJ的农场周围分布着N(1ans的路径数可能大于k,如果过大则得不到最优解。所以我们可以二分答案,对于每个二分出的limitation,把边长大于它的路线的代价改 阅读全文
posted @ 2019-05-11 15:47 修电缆的建筑工 阅读(261) 评论(0) 推荐(0)
摘要:题目描述 贝茜在珠宝店闲逛时,买到了一个中意的手镯。很自然地,她想从她收集的 N(1 =c[i]\\ dp[j]&j include include define maxn 3501 define maxm 15001 using namespace std; int dp[maxm],c[maxn 阅读全文
posted @ 2019-05-10 21:11 修电缆的建筑工 阅读(170) 评论(0) 推荐(0)
摘要:题目描述 为了避免餐厅过分拥挤,FJ要求奶牛们分3批就餐。每天晚饭前,奶牛们都会在餐厅前排队入内,按FJ的设想所有第3批就餐的奶牛排在队尾,队伍的前端由设定为第1批就餐的奶牛占据,中间的位置就归第2批就餐的奶牛了。由于奶牛们不理解FJ的安排,晚饭前的排队成了一个大麻烦。 第i头奶牛有一张标明她用餐批 阅读全文
posted @ 2019-05-10 20:58 修电缆的建筑工 阅读(165) 评论(0) 推荐(0)
摘要:题目描述 约翰遭受了重大的损失:蟑螂吃掉了他所有的干草,留下一群饥饿的牛.他乘着容量为C(1≤C≤50000)个单位的马车,去顿因家买一些干草. 顿因有H(1≤H≤5000)包干草,每一包都有它的体积Vi(l≤Vi≤C).约翰只能整包购买, 他最多可以运回多少体积的干草呢? 输入格式 第1行输入C和 阅读全文
posted @ 2019-05-10 20:35 修电缆的建筑工 阅读(196) 评论(0) 推荐(0)
摘要:题目描述 Farmer John最近发明了一个游戏,来考验自命不凡的贝茜。游戏开始的时 候,FJ会给贝茜一块画着N (2 include include include define maxn 201 using namespace std; inline int read(){ register 阅读全文
posted @ 2019-05-10 19:54 修电缆的建筑工 阅读(202) 评论(0) 推荐(0)
摘要:题目描述 今天是贝茜的生日,为了庆祝自己的生日,贝茜邀你来玩一个游戏.贝茜让N(1≤N≤100000)头奶牛坐成一个圈. 除了1号与N号奶牛外,i号奶牛与i l号和i+l号奶牛相邻.N号奶牛与1号奶牛相邻.农夫约翰用很纸条装满了一个桶,每一张包含了一个独一无二的1到1,000,000的数字.接着每一 阅读全文
posted @ 2019-05-10 19:46 修电缆的建筑工 阅读(180) 评论(0) 推荐(0)
摘要:当我在准备做基环树的题时,经常有了正解的思路确发现不会找环,,,,,,因为我实在太蒻了。 所以我准备梳理一下找环的方法: 有向图 先维护一个栈,把遍历到的节点一个个地入栈。当我们从一个节点x回溯时无非两种情况: 1.从x延伸出去的环已经被找完; 2.从x延伸出去的地方并没有环; 也就是说从x延伸出去 阅读全文
posted @ 2019-05-09 15:15 修电缆的建筑工 阅读(1307) 评论(0) 推荐(0)
摘要:题目描述 Imakf是一个小蒟蒻,他最近刚学了LCA,他在手机APP里看到一个游戏也叫做LCA就下载了下来。 这个游戏会给出你一棵树,这棵树有N个节点,根结点是R,系统会选中M个点P1,P2...PM,要Imakf回答有多少组点对(ui,vi)的最近公共祖先是Pi。Imakf是个小蒟蒻,他就算学了L 阅读全文
posted @ 2019-05-09 11:36 修电缆的建筑工 阅读(190) 评论(0) 推荐(0)
摘要:题目描述 master 对树上的求和非常感兴趣。他生成了一棵有根树,并且希望多次询问这棵树上一段路径上所有节点深度的k 次方和,而且每次的k可能是不同的。此处节点深度的定义是这个节点到根的路径上的边数。他把这个问题交给了pupil,但pupil 并不会这么复杂的操作,你能帮他解决吗? 输入格式 第一 阅读全文
posted @ 2019-05-09 10:14 修电缆的建筑工 阅读(109) 评论(0) 推荐(0)
摘要:题目描述 S城现有两座监狱,一共关押着N名罪犯,编号分别为1-N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为c 的罪犯被关押在同一 阅读全文
posted @ 2019-05-06 21:23 修电缆的建筑工 阅读(152) 评论(0) 推荐(0)
摘要:题目描述 或许你并不知道,你的某个朋友是你的亲戚。他可能是你的曾祖父的外公的女婿的外甥女的表姐的孙子。如果能得到完整的家谱,判断两个人是否亲戚应该是可行的,但如果两个人的最近公共祖先与他们相隔好几代,使得家谱十分庞大,那么检验亲戚关系实非人力所能及。在这种情况下,最好的帮手就是计算机。为了将问题简化 阅读全文
posted @ 2019-05-05 20:03 修电缆的建筑工 阅读(227) 评论(0) 推荐(0)
摘要:题目描述: 农夫约翰的奶牛住在N (2 <= N <= 200,000)片不同的草地上,标号为1到N。恰好有N-1条单位长度的双向道路,用各种各样的方法连接这些草地。而且从每片草地出发都可以抵达其他所有草地。也就是说,这些草地和道路构成了一种叫做树的图。输入包含一个详细的草地的集合,详细说明了每个草 阅读全文
posted @ 2019-05-04 20:18 修电缆的建筑工 阅读(242) 评论(0) 推荐(0)
摘要:题目描述 给出N个点,及你的出发点K. 接下来N-1行描述有关边的开始点,结束点,边长.保证图中不会有环 接下来给出数字J,代表你要走多少个点. 接下来J个数字,代表你要走过的点的编号.当然你可以自己选择行进的路线 不一定按给定编号顺序前行,求走过的最短距离。 输入格式 第一行给出N,K。2 <= 阅读全文
posted @ 2019-05-04 19:56 修电缆的建筑工 阅读(230) 评论(0) 推荐(0)
摘要:什么是LCA? 祖先链 对于一棵树T,若它的根节点是r,对于任意一个树上的节点x,从r走到x的路径是唯一的(显然),那么这条路径上的点都是并且只有这些点是x的祖先。这些点组成的链(或者说路径)就是x的祖先链。 LCA 根据名字来说,最近公共祖先就是两个点最近的相同祖先。实际上也可以理解为:两个点的祖 阅读全文
posted @ 2019-05-04 16:09 修电缆的建筑工 阅读(225) 评论(0) 推荐(0)
摘要:题目描述 小Q最近学习了一些图论知识。根据课本,有如下定义。树:无回路且连通的无向图,每条边都有正整数的权值来 表示其长度。如果一棵树有N个节点,可以证明其有且仅有N-1 条边。 路径:一棵树上,任意两个节点之间最多有一条简单路径。我们用 dis(a,b)表示点a和点b的路径上各边长度之和。称dis 阅读全文
posted @ 2019-05-03 13:00 修电缆的建筑工 阅读(158) 评论(0) 推荐(0)
摘要:Sgu149 Computer Network 题目描述 给你一棵N(N<=10000)个节点的树,求每个点到其他点的最大距离。 不难想到一个节点到其他点的最大距离为:max(以它为根的子树的最大深度,根节点到它的距离+根节点的另外所有的子树(没有这个点的子树)的最大深度)。 我们不妨分两次求解出上 阅读全文
posted @ 2019-05-03 09:33 修电缆的建筑工 阅读(323) 评论(0) 推荐(0)
摘要:扫雪1 题目描述 大雪履盖了整个城市,市政府要求冬季服务部门尽快将一些街道(列在一份清单中)的积雪清除掉以恢复交通,整个城市由许多交叉路口和街道构成,当然任意两个交叉路口都是直接或间接连通的,清单给出了最少的街道,使得这些街道的积雪清除后任意两个交叉路口之间有且仅有一条通路,冬季服务部门只有一辆铲雪 阅读全文
posted @ 2019-05-03 09:15 修电缆的建筑工 阅读(234) 评论(0) 推荐(0)