awcing
文章平均质量分 57
diviner_s
数据科学与大数据技术专业,大三本科在读
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Flood Fill算法|图论|连通块
Flood Fill Flood Fill算法(中文名字:洪水灌溉算法),主要针对网格图算,求连通块。 我们采取两种方法:BFS(宽搜)和DFS(深搜),BFS往往用来求最短路径,DFS更方便解决floodfill问题。 acwing 1113. 红与黑 有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。 你站在其中一块黑色的瓷砖上,只能向相邻(上下左右四个方向)的黑色瓷砖移动。 请写一个程序,计算你总共能够到达多少块黑色的瓷砖。 输入格式 输入包括多个数据集合。 每个数据集合的第一行是两个整数原创 2021-01-13 22:00:12 · 892 阅读 · 0 评论 -
运用数学思想解释前缀和的逆运算——差分、差分矩阵
运用数学思想解释差分与前缀和的关系 学习差分前先需要回顾下前缀和的概念及其定义: 点这里看前缀和概念 我们已知前缀和的代码的实现:s[ i ] = s[ i - 1] + a[ i ];(式子1) 即数组S存的是数组a的前 i 项和;这个相信很好理解,但是说到差分的定义则容易混淆; 为什么说差分是前缀和的逆运算呢? 我们看下差分定义:差分即相邻两个数的差。 我们直接按照其定义字面意思能写下:s[ i ] = a[i] - a[i-1];(式子2) 即用数组S记录下数组a的每个相邻的数之间的差。 我们观察这原创 2020-07-15 00:37:57 · 769 阅读 · 0 评论 -
一维前缀和求区间和、二维前缀和求子矩阵之和
一维前缀和 前缀和即是将一个数组a前每项 i 的前 i 项和分别对应存放在数组s中,即:s[i] = s[i - 1] + a[ i ]; 根据定义我们能够更容易地求出区间和 ,例求数组a的[ l , r ]之间的和,若按正常情况下我们需要一次遍历for(int i = l; i <= r; i++)sum += a[i] 这种时间复杂度为O(n),若题中的给出的区间范围很大,时间效率较低。若用前缀和去求区间和,sum[l , r] = s[r] - s[l - 1] 能够达到 预处理为O(n),询问原创 2020-07-14 22:51:15 · 1060 阅读 · 0 评论 -
归并排序解决逆序对数问题
给定一个长度为n的整数数列,请你计算数列中的逆序对的数量。 逆序对的定义如下:对于数列的第 i 个和第 j 个元素,如果满足 i < j 且 a[i] > a[j],则其为一个逆序对;否则不是。 输入格式 第一行包含整数n,表示数列的长度。 第二行包含 n 个整数,表示整个数列。 输出格式 输出一个整数,表示逆序对的个数。 数据范围 1≤n≤100000 输入样例: 6 2 3 4 5 6 1 输出样例: 5 C++代码如下: #include<iostream> using n原创 2020-07-13 15:00:45 · 394 阅读 · 0 评论
分享