历年南京大学计算机考研复试机试真题 - PGCode考研平台

最后更新:2025-12-08

历年南京大学计算机考研复试机试真题

本文整理南京大学计算机考研机试真题,并提供详细解析与代码实现,帮助同学们了解保研机试的难度与题型分布

字符串区间翻转

题目描述

小诺有一个由 0 和 1 组成的字符串。现在小诺有一次机会,可以选择一个任意的区间 [L,R],将该区间内的所有字符串进行翻转(即 0→1,1→0)。

请问小诺经过一次翻转之后字符串中最多会有多少个 1?

输入格式

第一行输入一个正整数 ${n}$,表示字符串长度,${n \leq 10^7}$。接下来一行输入一个 01 字符串。可能有多组测试数据输入。

输出格式

输出题目要求的答案。

输入样例

4
1001

输出样例

4

完全背包问题

题目描述

有 ${n}$ 种(每一种有无数个)重量和价值分别为 ${W_i}$, ${V_i}$ 的物品,现从这些物品中挑选出总量不超过 ${W}$ 的物品,求所有方案中价值总和的最大值。

输入格式

输入包含多组测试用例,每一例的开头为两位整数 ${n}$、${W}$(${1 \leq n \leq 10000}$, ${1 \leq W \leq 1000}$),接下来有 ${n}$ 行,每一行有两位整数 ${W_i}$、${V_i}$(${1 \leq W_i \leq 10000}$, ${1 \leq V_i \leq 100}$)。

输出格式

输出为一行,即所有方案中价值总和的最大值。

输入样例

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

输出样例

10
7

最长连续公共子序列

题目描述

输入两个字符串 ${s1}$, ${s2}$。输出最长连续公共子串长度和最长连续公共子串。

输入格式

多组数据输入。输入两个字符串 ${s1}$, ${s2}$,长度不大于 100,以空格隔开。

输出格式

输出最长连续公共子串长度和最长连续公共子串。

输入样例

abcdefg qwercdefiok

输出样例

4
cdef

子序列

题目描述

一个串的“子序列”是将这个串中的一些字符提取出来得到一个新串,并且不改变它们的相对位置关系。

我们说串 ${t}$ 是串 ${s1}$ 和 ${s2}$ 的公共子序列,当且仅当 ${t}$ 是 ${s1}$ 的子序列且 ${t}$ 是 ${s2}$ 的子序列。定义串 ${s1}$ 和 ${s2}$ 的相似度为它们最长公共子序列的长度。

现在给定一个文本串 ${S}$ 和一组模式串 ${T[1], T[2], \dots, T[n]}$。求 ${T[i]}$ 中和 ${S}$ 具有最高相似度的那个,然后输出最高的相似度。

${S}$ 和所有的 ${T[i]}$ 都只含有小写字母。

输入规则:

先是一行字符串 ${S}$。

第二行是 ${n}$(${1 \leq n \leq 100}$)。

第三行以降的 ${n}$ 行是 ${n}$ 个模式串 ${T[1] \dots T[n]}$。

${S}$ 和所有的 ${T[i]}$ 的长度都不超过 2000。

输入格式

如题

输出格式

如题

输入样例

abcdef
4
acfaff
appont
emmm
bdxeuf

输出样例

bdxeuf
4

二叉树遍历

题目描述

编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。

例如如下的先序遍历字符串:ABC##DE#G##F###,其中 # 表示的是空格,空格字符代表空树。

建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。

输入格式

输入包括 1 行字符串,长度不超过 100。

输出格式

可能有多组测试数据,对于每组数据,输出将输入字符串建立二叉树后中序遍历的序列,每个字符后面都有一个空格。每个输出结果占一行。

输入样例

abc##de#g##f###

输出样例

c b e g d f a 

完整题目及在线评测:https://www.pgcode.cn/