
数据结构进阶
满地都是六便士他却抬头看向了月亮
一个喜欢写代码的小菜鸟
展开
-
5396. 棋盘
小蓝拥有 n×n大小的棋盘,一开始棋盘上全都是白子。小蓝进行了 m 次操作,每次操作会将棋盘上某个范围内的所有棋子的颜色取反(也就是白色棋子变为黑色,黑色棋子变为白色)。请输出所有操作做完后棋盘上每个棋子的颜色。原创 2024-04-20 15:29:43 · 308 阅读 · 0 评论 -
4481. 方格探索
给定一个 n 行 m 列的方格矩阵。行坐标从上到下为 1∼n,列坐标从左到右为 1∼m。其中的每个方格,要么是空格(用 表示),要么包含障碍物(用 表示)。初始时,一个人位于第 r 行第 c 列的空格之中。他可以沿上下左右四个方向进行移动,每次移动一格距离。对于他的移动,有如下限制:请问,一共有多少个空格是此人可以抵达的?注意,初始空格视为此人可达。输入格式第一行包含两个整数 n,m。第二行包含两个整数 r,c。第三行包含两个整数 x,y。接下来 n 行,每行包含一个长度为 m 的由 和 组成的字符原创 2022-06-11 20:47:33 · 703 阅读 · 0 评论 -
242. 一个简单的整数问题
给定长度为 N 的数列 A,然后输入 M 行操作指令。第一类指令形如 C l r d,表示把数列中第 l∼r 个数都加 d。第二类指令形如 Q x,表示询问数列中第 x 个数的值。对于每个询问,输出一个整数表示答案。输入格式第一行包含两个整数 N 和 M。第二行包含 N 个整数 A[i]。接下来 M 行表示 M 条指令,每条指令的格式如题目描述所示。输出格式对于每个询问,输出一个整数表示答案。每个答案占一行。数据范围1≤N,M≤105,|d|≤10000,原创 2022-05-27 15:42:58 · 113 阅读 · 0 评论 -
244. 谜一样的牛
有 n 头奶牛,已知它们的身高为 1∼n 且各不相同,但不知道每头奶牛的具体身高。现在这 n 头奶牛站成一列,已知第 i 头牛前面有 Ai 头牛比它低,求每头奶牛的身高。输入格式第 1 行:输入整数 n。第2..n行:每行输入一个整数Ai,第i行表示第i头牛前面有Ai头牛比它低。(注意:因为第1头牛前面没有牛,所以并没有将它列出)输出格式输出包含 n 行,每行输出一个整数表示牛的身高。第 i 行输出第 i 头牛的身高。数据范围1≤n≤105输入样...原创 2022-05-27 15:39:00 · 127 阅读 · 0 评论 -
241. 楼兰图腾
在完成了分配任务之后,西部314 来到了楼兰古城的西部。相传很久以前这片土地上(比楼兰古城还早)生活着两个部落,一个部落崇拜尖刀(V),一个部落崇拜铁锹(∧),他们分别用V和∧的形状来代表各自部落的图腾。西部314314在楼兰古城的下面发现了一幅巨大的壁画,壁画上被标记出了n个点,经测量发现这nn个点的水平位置和竖直位置是两两不同的。西部314314认为这幅壁画所包含的信息与这n个点的相对位置有关,因此不妨设坐标分别为(1,y1),(2,y2),…,(n,yn),...原创 2022-05-27 14:41:22 · 145 阅读 · 0 评论 -
352. 闇の連鎖
传说中的暗之连锁被人们称为 Dark。Dark 是人类内心的黑暗的产物,古今中外的勇者们都试图打倒它。经过研究,你发现 Dark 呈现无向图的结构,图中有N个节点和两类边,一类边被称为主要边,而另一类被称为附加边。Dark 有N–1 条主要边,并且 Dark 的任意两个节点之间都存在一条只由主要边构成的路径。另外,Dark 还有M条附加边。你的任务是把 Dark 斩为不连通的两部分。一开始 Dark 的附加边都处于无敌状态,你只能选择一条主要边切断。一旦你切断了一条主要...原创 2022-05-27 14:16:11 · 94 阅读 · 0 评论 -
361. 观光奶牛
给定一张 L 个点、P 条边的有向图,每个点都有一个权值 f[i],每条边都有一个权值 t[i]。求图中的一个环,使“环上各点的权值之和”除以“环上各边的权值之和”最大。输出这个最大值。注意:数据保证至少存在一个环。输入格式第一行包含两个整数 L 和 P。接下来 L 行每行一个整数,表示 f[i]。再接下来 P 行,每行三个整数 a,b,t[i],表示点 a 和 b 之间存在一条边,边的权值为 t[i]。输出格式输出一个数表示结果,保留两位小数。数据范围2≤L≤1原创 2022-05-25 14:28:41 · 138 阅读 · 0 评论 -
377. 泥泞的区域
在一块 N×M 的网格状地面上,有一些格子是泥泞的,其他格子是干净的。现在需要用一些宽度为 1、长度任意的木板把泥地盖住,同时不能盖住干净的地面。每块木板必须覆盖若干个完整的格子,木板可以重叠。求最少需要多少木板。输入格式第一行包含两个整数 N 和 M。接下来 N 行,每行 M 个字符,用来描述地面,* 表示泥泞格子,. 表示干净格子,字符之间没有空格。输出格式输出一个整数,表示结果。数据范围1≤N,M≤50输入样例:4 4*.*..******..原创 2022-05-24 16:24:02 · 106 阅读 · 0 评论 -
378. 骑士放置
给定一个 N×M 的棋盘,有一些格子禁止放棋子。问棋盘上最多能放多少个不能互相攻击的骑士(国际象棋的“骑士”,类似于中国象棋的“马”,按照“日”字攻击,但没有中国象棋“别马腿”的规则)。输入格式第一行包含三个整数 N,M,T,其中 T 表示禁止放置的格子的数量。接下来 T 行每行包含两个整数 x 和 y,表示位于第 x 行第 y 列的格子禁止放置,行列数从 1 开始。输出格式输出一个整数表示结果。数据范围1≤N,M≤100输入样例:2 3 0输出样例:4原创 2022-05-24 15:30:31 · 107 阅读 · 0 评论 -
376. 机器任务
有两台机器 A,B以及 K 个任务。机器 A有 N 种不同的模式(模式 0∼N−1),机器 B 有 M 种不同的模式(模式 0∼M−1)。两台机器最开始都处于模式 0。每个任务既可以在 A上执行,也可以在 B 上执行。对于每个任务 i,给定两个整数 a[i] 和 b[i],表示如果该任务在 A 上执行,需要设置模式为 a[i],如果在 B 上执行,需要模式为 b[i]。任务可以以任意顺序被执行,但每台机器转换一次模式就要重启一次。求怎样分配任务并合理安排顺序,能使机器重启次数最少。原创 2022-05-24 14:57:00 · 110 阅读 · 0 评论 -
374. 导弹防御塔
Freda 的城堡遭受了 M 个入侵者的攻击!Freda 控制着 N 座导弹防御塔,每座塔都有足够数量的导弹,但是每次只能发射一枚。在发射导弹时,导弹需要 T1 秒才能从防御塔中射出,而在发射导弹后,发射这枚导弹的防御塔需要 T2 分钟来冷却。所有导弹都有相同的匀速飞行速度 V,并且会沿着距离最短的路径去打击目标。计算防御塔到目标的距离Distance 时,你只需要计算水平距离,而忽略导弹飞行的高度。导弹在空中飞行的时间就是 (Distance/V) 分钟,导弹到达目标后可以立即将它击.原创 2022-05-24 13:48:30 · 339 阅读 · 0 评论 -
350. 巡逻
在一个地区有 n 个村庄,编号为 1,2,…,n。有 n−1条道路连接着这些村庄,每条道路刚好连接两个村庄,从任何一个村庄,都可以通过这些道路到达其他任一个村庄。每条道路的长度均为 1 个单位。为保证该地区的安全,巡警车每天都要到所有的道路上巡逻。警察局设在编号为 1 的村庄里,每天巡警车总是从警局出发,最终又回到警局。为了减少总的巡逻距离,该地区准备在这些村庄之间建立 KK 条新的道路,每条新道路可以连接任意两个村庄。两条新道路可以在同一个村庄会合或结束,甚至新道路可以是一个环。原创 2022-05-22 15:43:40 · 175 阅读 · 0 评论 -
239. 奇偶游戏
小A和小B在玩一个游戏。首先,小A写了一个由0和1组成的序列S,长度为N。然后,小B向小A 提出了M个问题。在每个问题中,小B指定两个数l和r,小A回答S[l∼r] 中有奇数个1还是偶数个1。机智的小B发现小A有可能在撒谎。例如,小A曾经回答过S[1∼3] 中有奇数个1,S[4∼6]中有偶数个1,现在又回答 S[1∼6]中有偶数个1,显然这是自相矛盾的。请你帮助小B检查这M个答案,并指出在至少多少...原创 2022-05-17 12:09:38 · 135 阅读 · 0 评论 -
238. 银河英雄传说
有一个划分为N列的星际战场,各列依次编号为1,2,…,N。有N艘战舰,也依次编号为1,2,…,N,其中第i号战舰处于第i列。有T条指令,每条指令格式为以下两种之一:M i j,表示让第i号战舰所在列的全部战舰保持原有顺序,接在第j号战舰所在列的尾部。 C i j,表示询问第i号战舰与第j号战舰当前是否处于同一列中,如果在同一列中,它们之间间隔了多少艘战舰。现在需要你编写一个程序,处理一系列的指令。输入格式第一行包含整数T,表示共有T条指令。...原创 2022-05-16 21:54:56 · 97 阅读 · 0 评论 -
240. 食物链
动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B,B吃C,C吃A。现有N个动物,以1∼N 编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述:第一种说法是1 X Y,表示X和Y是同类。第二种说法是2 X Y,表示X吃Y。此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话有的是真的,有的是假的。当一句话满足下列...原创 2022-05-16 20:51:35 · 82 阅读 · 0 评论 -
4316. 合适数对
给定一个长度为 n 的整数数列 a1,a2,…,an 和一个整数 t。请你判断共有多少个数对 (l,r) 同时满足:1≤l≤r≤n al+al+1+…+ar−1+ar<t输入格式第一行包含两个整数 n 和 t。第二行包含 n 个整数 a1,a2,…,an。输出格式一个整数,表示满足条件的数对的数量。数据范围前三个测试点满足1≤n≤5。所有测试点满足1≤n≤2×105,|t|≤2×1014,|ai|≤109。输入样例1:5 45 -1 3 4 -1..原创 2022-05-16 20:22:58 · 173 阅读 · 0 评论 -
237. 程序自动分析
在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足。考虑一个约束满足问题的简化版本:假设x1,x2,x3,… 代表程序中出现的变量,给定n个形如xi=xj或xi≠xj 的变量相等/不等的约束条件,请判定是否可以分别为每一个变量赋予恰当的值,使得上述所有约束条件同时被满足。例如,一个问题中的约束条件为:x1=x2,x2=x3,x3=x4,x1≠x4,这些约束条件显然是不可能同时被满足的,因此这个问题应判定为不可被满足。现在给出一些约束满足问题,请分别对它们进行判定。...原创 2022-05-16 20:06:29 · 346 阅读 · 0 评论