6月10日两练来了!

 今天是2023年6月10日,每日两练来了!

 一。围城

题目

编程星球上有一片100*100的空地,啊哈沃德在此处建立了N座发电站,每座发电站占地位置1*1格。
为了防止源码巨人的攻击,啊哈沃德需要在所有发电站外围修建电网,电网需要紧贴着发电站外缘建造,将所有发电站区域围绕进去。不过,由于建筑摆放问题,发电厂区域中可能有部分未被占满的“空洞”,这些空洞在发电站区域的内部,不用建造电网。
请帮啊哈沃德计算需要建造的电网长度是多少?

6月10日两练来了!_第1张图片

输入格式:

第一行给出一个正整数N,(1<=N<=10000),表示有N座发电站。
接下来N行每行包含两个正整数x,y,(1<=x,y,<=100),对应每一座发电站的坐标。

输出格式:

一个整数,表示需要建造的电网的长度。

样例 1 :

输入:
9
7 3
5 3
5 5
8 4
6 3
3 3
7 4
6 5
5 4
输出:
18

说明: 

根据题意,发电厂的分布如下。可计算出其外围的长度为18,注意其中有1格空洞,但这个空洞在发电站的内部,不用建造电网。

二。Ahatube(MooTube)

题目

啊哈沃德正在大力发展动漫周边,他架设了一家经营动漫直播的网站,取名为AhaTube。经过一段时间发展,网站上已经有了N个动漫资源(1<=N<=5000)。啊哈沃德发现当动漫资源太多的时候,搜索会变得麻烦。因此他决定开发一个“相似内容推荐”的功能。
首先,他根据现有的N个动漫内容,给相似的动漫两两之间设定了它们相似度。然后,他开始设置推荐的规则,当某个动漫被观看时,与它(和它的相似动漫)相似度大于等于K的动漫都会被推荐给观看者。
现在,已知N部动漫间的相似关系,求在设置不同K值的情况下,观看某一部动漫时,被推荐的其他动漫数量是多少?

输入格式:

第一行有两个整数N,Q(1<=N,Q<=5000)
接下来N-1行有 N-1对关系,每行包括三个整数pi, qi和ri,(1<=pi,qi<=N, 1<=ri<=1000000000),表明动漫pi和qi之间的相似度为ri。
接下来Q行有Q个问题,每行包括两个整数ki和vi,(1<=ki<=1000000000, 1<=vi<=N),问当设置K=ki时,观看动漫vi时,有多少部动漫会被同时推荐给观看者

输出格式:

输出包括Q行,每行对应输入中的一问,即当设置K=ki时,观看动漫vi时,有多少部动漫会被同时推荐给观看者。

提示:

本题改编自USACO 2018 Mootube

样例 1 :

输入:
4 3
1 2 3
2 3 2
2 4 4
1 2
4 1
3 1
输出:
3
0
2

说明: 

条件给出动漫1与2之间的相关度为3,2与3之间的相关度为2,2与4之间的相关度为4。基于此可推算,1与3之间最小的相关度为2,1与4之间的最小相关度为3,3与4之间的最小相关度为2.
然后开始回答问题,对于动漫2,当K=1时,1,3,4都会被推荐,故答案为3
对于动漫1,当K=4时,没有动漫会被推荐,故答案为0
对于动漫1,当K=3时,2,4会被推荐,故答案为2

你可能感兴趣的:(算法,c++)