摘要:
把数字翻译成字符串 题目描述:给定一个数字,我们按照如下规则把它翻译为字符串: 0 翻译成 a,1 翻译成 b,……,11 翻译成 l,……,25 翻译成 z。 一个数字可能有多个翻译。 例如 12258 有 5 种不同的翻译,它们分别是 bccfi、bwfi、bczi、mcfi 和 mzi。 请编 阅读全文
摘要:
拓扑排序 典例1:有向图的拓扑序列 问题描述:给定一个 n 个点 m 条边的有向图,点的编号是 1 到 n,图中可能存在重边和自环。 请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出 −1。 若一个由图中所有点构成的序列 A 满足:对于图中的每条边 (x,y),x 在 A 中都出现在 y 阅读全文
摘要:
最小生成树核心Algorithm 问题描述:给定一个 n 个点 m 条边的无向图,图中可能存在重边和自环,边权可能为负数。 求最小生成树的树边权重之和,如果最小生成树不存在则输出 impossible。 给定一张边带权的无向图 G=(V,E),其中 V 表示图中点的集合,E 表示图中边的集合,n=| 阅读全文
摘要:
dijkstra算法及其优化 题目描述:给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环,所有边权均为正值。 请你求出 1 号点到 n 号点的最短距离,如果无法从 1 号点走到 n 号点,则输出 −1。 输入格式 第一行包含整数 n 和 m。 接下来 m 行每行包含三个整数 x,y,z表 阅读全文
摘要:
数的重心 题目描述:给定一颗树,树中包含 nn 个结点(编号 1∼n1∼n)和 n−1n−1 条无向边。 请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。 重心定义:重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点被称为树的重心。 输入格 阅读全文
摘要:
数组模拟单双链表 数组模拟单链表 题目描述:实现一个单链表,链表初始为空,支持三种操作: 向链表头插入一个数; 删除第 k 个插入的数后面的数; 在第 k 个插入的数后插入一个数。 现在要对该链表进行 M 次操作,进行完所有操作后,从头到尾输出整个链表。 注意:题目中第 k 个插入的数并不是指当前链 阅读全文
摘要:
离散化及区间合并 离散化 典例 题目描述:假定有一个无限长的数轴,数轴上每个坐标上的数都是 0。 现在,我们首先进行 n 次操作,每次操作将某一位置 x 上的数加 c。 接下来,进行 m 次询问,每个询问包含两个整数 l 和 r,你需要求出在区间 l,r 之间的所有数的和。 输入格式 第一行包含两个 阅读全文
摘要:
简单的二进制操作lowbit运算 lowbit运算是一种常用的二进制运算操作,它的作用是返回某个数的二进制表示中最末一个1及其后边的0构成的十进制数大小。 如: 假设x = 1000100010 -- lowbit(x) = 10(2进制)=2(10进制) 那么具体lowbit操作要怎么实现呢,其实 阅读全文
摘要:
双指针模板 典例1: 给定一个长度为 n 的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。 输入格式 第一行包含整数 n。 第二行包含 n 个整数(均在 0∼10^5 范围内),表示整数序列。 输出格式 共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。 数据范围 1≤ 阅读全文