摘要:
洛谷 1047 校门外的树 这是一道非常适合线段树初学者练代码的题目。 我也希望能写一篇初学线段树的同学们(比如我)能看懂的题解。 这道题的思路并不复杂,与维护线段树上的区间和差不多,在更新线段树时将目标范围内的线段值赋为0,并打上lazytag(与线段树上的区间和略有不同),查询时下推标记并更新叶 阅读全文
摘要:
洛谷 2239 螺旋矩阵 翻了翻题解,发现我的这个方法好像并没有被写过,也许是这个方法太菜了,但是还是可以AC的。 首先呢:1 ≤ n ≤ 30,000.....暴力就别想了,最多50分 于是就开始在暴力的基础上找方法,无意发现,如果我们开始先将矩阵一层一层的剥开,直到目标位置在新矩阵的最外层是停止 阅读全文
摘要:
数组 数组(array) 声明通用格式为: typeName arrayName[arraySize]. arrayName指定元素数目,必须为整型常量或const值。(不能是变量) 只有在定义数组时才能使用初始化,此后不能使用。 如果只对数组的一部分进行初始化,编译器会将其他元素设置为0. 其中前 阅读全文
摘要:
整型 计算机的内存的基本单位是位(bit),可以将其看作电子开关,可以开,表示1;也可以关表示0。 字节(byte)通常指八位的内存单元。 如果在考场上忘记了数据类型的范围或字节数,莫着急,C++的特技<climits>就是为了解决此问题的。 输出结果也是一目了然: 既然是数据类型的最大值,intm 阅读全文
摘要:
洛谷 1378 油滴扩展 这道题目的方法并不难想,但能做到一遍AC的也一定是真dalao. 首先,需要注意一下此题的要求,油滴是圆形的,各个油滴只能相离或相切。其次,油滴不能覆盖在已有的油滴上,需要进行特判。 #include<bits/stdc++.h> using namespace std; 阅读全文
摘要:
浅谈排序 排序 桶排序 基本思想:每读入的数据x,桶a[x]就加一,输出时按桶的顺序,桶里有几个数就输出几次。 缺点:桶的数量取决于数据的大小,那就面临着MLE的问题,比如x在int范围内时,我们就要开2^16个桶,这非常的浪费空间,而且当带排序数据的类型为浮点数是,那就呵呵了,因为桶的标号只能是整 阅读全文
摘要:
洛谷 P1147 连续自然数和 看到dalao们的各种高深方法,本蒟蒻一个都没看懂。。。 于是,我来发一篇蒟蒻友好型的简单题解 #include<bits/stdc++.h> using namespace std; int n,sum=0,ans=0; int main() { cin>>n; i 阅读全文
摘要:
洛谷 1571 眼红的Medusa 虽说这道题标签里写明了二分,然而我还是首先想到了map......毕竟map真的是简单好写。 map做法 #include<bits/stdc++.h> using namespace std; int n,m; map<int,bool> v; int a[10 阅读全文
摘要:
洛谷 取余运算||快速幂 1226 其实比起楼下的大佬们,我主要是多了些位运算和讲解。 想法一: 直接输出 pow(b,q)%k 嗯~~勇气可嘉,但是看一眼数据范围(长整型)就会意识到,这个方法也许一个点都过不了。 想法二: while(q2--) ans=ans*b%k; 用代码说话吧(简单、粗暴 阅读全文
摘要:
洛谷 1002 过河卒 虽然这道题目的标签上有高精,但是用long long int就能AC 看到普及-的难度,本蒟蒻二话不说写了DFS,结果...只拿了40分,只好改变思路写了递推(个人认为DP!=递推)。 (DFS代码未AC,无注释) #include<bits/stdc++.h> using 阅读全文
摘要:
洛谷 1379 八数码难题 八数码难题,一道经典的BFS题目(反正我也不会什么康托展开...)写完后,发现众多题解中并没有几篇双向BFS,于是就来发一波题解(尽管单向的BFS也能AC,但双向BFS明显要高效许多)。 思路如下: 首先我们可以将这个3x3的矩阵转化为一个九位数字,存入队列时也会方便很多 阅读全文
摘要:
Floyd-Warshall Floyd算法,是一种著名的多源最短路算法。 核心思想: 用邻接矩阵存储图,核心代码为三重循环,第一层枚举中间点k,二三层分别枚举起始点i与目标点j。然后判断经过中间点k后,i与j间的路程是否会减小。如果是,就更新i,j之间的最短路。 需要注意的是,为了保证更新成功,需 阅读全文