南昌理工学院acm集训队
kspccc
这个作者很懒,什么都没留下…
展开
-
AcWing 798. 差分矩阵
原题入口 题目描述 输入一个 n 行 m 列的整数矩阵,再输入 q 个操作,每个操作包含五个整数 x1,y1,x2,y2,c,其中 (x1,y1) 和 (x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标。每个操作都要将选中的子矩阵中的每个元素的值加上 c。请你将进行完所有操作后的矩阵输出。 输入格式 第一行包含整数 n,m,q。 接下来 n 行,每行包含 m 个整数,表示整数矩阵。 接下来 q 行,每行包含 5 个整数 x1,y1,x2,y2,c,表示一个操作。 输出格式 共 n 行,每行 m 个整数,原创 2021-07-07 11:21:46 · 99 阅读 · 0 评论 -
两个链表的一个公共结点
此题 题目描述 输入两个链表,找出它们的第一个公共结点。 当不存在公共节点时,返回空节点。 样例 思路 代码实现 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode原创 2021-07-31 11:13:54 · 76 阅读 · 0 评论 -
贪心问题经典例题
贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。 也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 来看一道例题入口 题意 就是给定一个线段区间[st,ed]以及n个闭区间,选择最少的区间把那个线段区间给覆盖 分析 先将所有区间按左端点从小到大排序 然后遍历一遍在覆盖st的区间中选择右端点最大的区间,再把st更新成该右端点 注意 结构体排序可以重载也可以再写个cmp函数 重载 bool operator < (const Range &w)const {原创 2021-07-21 17:28:24 · 100 阅读 · 0 评论 -
离散化及其例题
离散化 离散化就是把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。例如: 原数据:1,999,100000,15;处理后:1,3,4,2; 原数据:{100,200},{20,50000},{1,400}; 处理后:{3,4},{2,6},{1,5}; 离散化的本质,是映射,就比如说下标的数据范围很大又很稀疏时,可能存不下,或者会浪费好多空间,将间隔很大的点,映射到相邻的数组元素中。减少对空间的需求,也减少计算量。 话原创 2021-07-15 11:32:28 · 486 阅读 · 0 评论