抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

引言

东南大学有生存指南,二工大也不能落下。在这里,我会从里到外,从外到里,从里到里,从外到外,从浅到深,从深到浅,从浅到浅,从深到深地写一份。

某学校有 N 个学生,形成 M 个俱乐部。每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈。一个学生可以同时属于若干个不同的俱乐部。根据 “我的朋友的朋友也是我的朋友” 这个推论可以得出,如果 A 和 B 是朋友,且 B 和 C 是朋友,则 A 和 C 也是朋友。请编写程序计算最大朋友圈中有多少人。

输入格式

输入的第一行包含两个正整数 N(≤30000)和 M(≤1000),分别代表学校的学生总数和俱乐部的个数。后面的 M 行每行按以下格式给出 1 个俱乐部的信息,其中学生从 1~N 编号:

第 i 个俱乐部的人数 Mi(空格)学生 1(空格)学生 2 … 学生 Mi

输出格式

输出给出一个整数,表示在最大朋友圈中有多少人。

输入样例

1
2
3
4
5
7 4
3 1 2 3
2 1 4
3 5 6 7
1 6

输出样例

前因

由于我需要使用远程桌面,好吧,其实 ToDesk 也没什么不好,只是因为用了 Zerotier 组网以后,就不想用 ToDesk 了。

操作

  1. 首先,你要在相关的专业版帖子、知乎文章搜索一个可用的激活码。这里有一篇文章点击进入
  2. 然后输入激活码,等待计算机更新完成。
  3. 等待重启完成
  4. 输入指令 irm massgrave.dev/get | iex
  5. 选择 [1]
  6. 激活成功

成果

在这里插入图片描述

后记

  1. 更新速度或许会慢一些,耐心等待即可。
  2. 从家庭版走向专业版不会重装计算机,只是安装一些新的软件而已。

总时间限制: 1000ms 内存限制: 65536kB
描述
给定初始整数顺串,以及大小固定并且初始元素已知的二叉最小堆(为完全二叉树或类似完全二叉树,且父元素键值总小于等于任何一个子结点的键值),要求利用堆实现置换选择排序,并输出第一个顺串。例如给定初始顺串 29,14,35,13, 以及堆(记为 16 19 31 25 21 56 40), 置换选择排序得到的第一个顺串为 16 19 21 25。

在这里插入图片描述

输入

第一行包含两个整数,m 为初始顺串的数的个数,n 为二叉最小堆的大小
第二行包含 m 个整数,即初始顺串
第三行包含 n 个整数,即已经建好的堆的元素(有序,按照从堆顶到堆底,从左到右的顺序)

输出

输出包含一行,即第一个顺串。

样例输入

1
2
3
4 7
29 14 35 13
16 19 31 25 21 56 40

样例输出

总时间限制: 10000ms 内存限制: 1000kB

描述

给出一个图的结构,输出其拓扑排序序列,要求在同等条件下,编号小的顶点在前

输入

若干行整数,第一行有 2 个数,分别为顶点数 v 和弧数 a,接下来有 a 行,每一行有 2 个数,分别是该条弧所关联的两个顶点编号

输出

若干个空格隔开的顶点构成的序列 (用小写字母)

样例输入

1
2
3
4
5
6
7
8
9
6 8
1 2
1 3
1 4
3 2
3 5
4 5
6 4
6 5

总时间限制: 1000ms 内存限制: 10000kB

描述

很久很久以前,森林里住着一群兔子。兔子们无聊的时候就喜欢研究星座。如图所示,天空中已经有了 n 颗星星,其中有些星星有边相连。兔子们希望删除掉一些边,然后使得保留下的边仍能是 n 颗星星连通。他们希望计算,保留的边的权值之和最小是多少?

输入

第一行只包含一个表示星星个数的数 n,n 不大于 26,并且这 n 个星星是由大写字母表里的前 n 个字母表示。接下来的 n-1 行是由字母表的前 n-1 个字母开头。最后一个星星表示的字母不用输入。对于每一行,以每个星星表示的字母开头,然后后面跟着一个数字,表示有多少条边可以从这个星星到后面字母表中的星星。如果 k 是大于 0,表示该行后面会表示 k 条边的 k 个数据。每条边的数据是由表示连接到另一端星星的字母和该边的权值组成。权值是正整数的并且小于 100。该行的所有数据字段分隔单一空白。该星星网络将始终连接所有的星星。该星星网络将永远不会超过 75 条边。没有任何一个星星会有超过 15 条的边连接到其他星星(之前或之后的字母)。在下面的示例输入,数据是与上面的图相一致的。

输出

输出是一个整数,表示最小的权值和。

样例输入

1
2
3
4
5
6
7
8
9
9
A 2 B 12 I 25
B 3 C 10 H 40 I 8
C 2 D 18 G 55
D 1 E 44
E 2 F 60 G 38
F 0
G 1 H 35
H 1 I 35

总时间限制: 1000ms 内存限制: 65536kB

描述

Background
Binary trees are a common data structure in computer science. In this problem we will look at an infinite binary tree where the nodes contain a pair of integers. The tree is constructed like this:
The root contains the pair (1, 1).
If a node contains (a, b) then its left child contains (a + b, b) and its right child (a, a + b)

Problem

Given the contents (a, b) of some node of the binary tree described above, suppose you are walking from the root of the tree to the given node along the shortest possible path. Can you find out how often you have to go to a left child and how often to a right child?

输入

The first line contains the number of scenarios.
Every scenario consists of a single line containing two integers i and j (1 <= i, j <= 2*109) that represent
a node (i, j). You can assume that this is a valid node in the binary tree described above.

输出

The output for every scenario begins with a line containing “Scenario #i:”, where i is the number of the scenario starting at 1. Then print a single line containing two numbers l and r separated by a single space, where l is how often you have to go left and r is how often you have to go right when traversing the tree from the root to the node given in the input. Print an empty line after every scenario.

总时间限制: 1000ms 内存限制: 262144kB

描述

Freda 报名参加了学校的越野跑。越野跑共有 N 人参加,在一条笔直的道路上进行。这 N 个人在起点处站成一列,相邻两个人之间保持一定的间距。比赛开始后,这 N 个人同时沿着道路向相同的方向跑去。换句话说,这 N 个人可以看作 x 轴上的 N 个点,在比赛开始后,它们同时向 x 轴正方向移动。
假设越野跑的距离足够远,这 N 个人的速度各不相同且保持匀速运动,那么会有多少对参赛者之间发生 “赶超” 的事件呢?

输入

第一行 1 个整数 N。
第二行为 N 个非负整数,按从前到后的顺序给出每个人的跑步速度。
对于 50% 的数据,2<=N<=1000。
对于 100% 的数据,2<=N<=100000。

输出

一个整数,表示有多少对参赛者之间发生赶超事件。

样例输入

1
2
5
1 3 10 8 5

总时间限制: 1000ms 内存限制: 65535kB

描述

给定一棵二叉树,在二叉树上执行两个操作:

  1. 节点交换
    把二叉树的两个节点交换。
  2. 前驱询问
    询问二叉树的一个节点对应的子树最左边的节点。

输入

第一行输出一个整数 t (t <= 100),代表测试数据的组数。

对于每组测试数据,第一行输入两个整数 n m,n 代表二叉树节点的个数,m 代表操作的次数。

随后输入 n 行,每行包含 3 个整数 X Y Z,对应二叉树一个节点的信息。X 表示节点的标识,Y 表示其左孩子的标识,Z 表示其右孩子的标识。

再输入 m 行,每行对应一次操作。每次操作首先输入一个整数 type。

总时间限制: 2000ms 内存限制: 65536kB

描述

农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点 N (0<=N<=100000),牛位于点 K (0<=K<=100000)。农夫有两种移动方式:

1、从 X 移动到 X-1 或 X+1,每次移动花费一分钟
2、从 X 移动到 2*X,每次移动花费一分钟

假设牛没有意识到农夫的行动,站在原地不动。农夫最少要花多少时间才能抓住牛?

输入

两个整数,N 和 K

输出

一个整数,农夫抓到牛所要花费的最小分钟数