
关于
关于为道
烈焰火豹
不一样的烟火,不一样的自我
展开
-
关于排序
简单排序通常我们在获取了一些数据之后会对这些数据进行处理,常用的操作有排序,查找,插入,删除等等,本节给大家介绍两种基本的排序方法:冒泡排序,插入排序、选择排序、桶排序。冒泡排序:输入n个数,将这n个数从小到大输出。冒泡排序的思想:以n个人站队为例,从第1个开始,依次比较相邻的两个是否逆序(高在前,矮在后),若逆序就交换这两人,即第1个和第2个比,若逆序就交换两人,接着第2个和第3个比,若逆序就交换两人,接着第3个和第4个比,若逆序就交换两人,……,直到n-1和n比较,经过一轮比较原创 2020-08-13 20:37:52 · 228 阅读 · 0 评论 -
关于o1,o2,o3
有人可能问了o1,o2,o3是什么,他们有什么用,其实,o1,o2,o3就是针对c++的一系列优化系统,鉴于这是一篇附属文章,我就不做过多的介绍了,下面,吧o1,o2,o3打给大家:o1:#pragma GCC optimize(1)o2:#pragma GCC optimize(2)o3:#pragma GCC optimize(3)当然,也可以开G++。原文链接(正文链接):https://blog.youkuaiyun.com/Liston_YDQ/article/details/107822998原创 2020-08-06 10:00:51 · 1264 阅读 · 4 评论 -
关于优化(c++)
下面是我给的一个终极优化代码(c++):#pragma GCC optimize(1)#pragma GCC optimize(2)#pragma GCC optimize(3)#pragma GCC optimize("Ofast")#pragma GCC optimize("inline")#pragma GCC optimize("-fgcse")#pragma GCC optimize("-fgcse-lm")#pragma GCC optimize("-fipa-sra")#p原创 2020-08-05 19:43:58 · 3322 阅读 · 9 评论 -
关于动态规划(dp)
**动态规划(DP)一.基本概念动态规划(英语:Dynamic programming,简称DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。它针对满足特定条件的一类问题,对各维度进行分阶段、有顺序、无重复、决策性的遍历求解。动态规划算法将原问题视作若干个重叠子问题的逐层递进,每个子问题的求解过程都构成一个阶段。在完成前一个阶段的计算之后,动态规划才会进入到下一个阶段的计算。子问题重叠性质:子问题重叠性质是指在用递归原创 2020-07-26 14:07:23 · 983 阅读 · 0 评论 -
关于枚举(blablablabla)
1.什么是枚举呵呵这个问题有点zz,我选择跳过2.为什么用枚举?因为计算机运行速度贼快当我们遇到一些无脑但需要反复运算的题目时考虑枚举eg1.求2333内三个数之和为666的可能情况?eg2.鸡兔同笼4.枚举优化首先,我们知道,计算机平均1s可以执行10^9次基本判断这个数据看起来大其实,4个范围在0-1000的枚举对象,枚举就会超时(103)4>10^9所以我们需要优化枚举主要是从两个方面:减少枚举对象:找到枚举对象之间的内在关系减少枚举范围:寻找额外约束性条件考虑原创 2020-07-25 12:52:55 · 214 阅读 · 0 评论 -
关于分制(也就那些事儿)
1.什么是分治?所谓分治,运用拆词法,就是分而治之就是将一个复杂的大问题分成 几个规模较小 且 可以用同样方法处理 且 可以通过对小问题的求解得到大问题答案 的若干小问题然后通过解决 容易解决的小问题得到大问题答案上面是分治的思想可能有点云里雾里,其实这个分治有二分的思想:二分:通过把有序区间平分更快找到答案分治:通过把区间分成多份让题面更简单因为把题目分成2^n个小问题的分治比较常见所以人们定义二分法:把问题分解成两个较小问题求解的分治注意二分是一种思想,二分法是对于这种思想的运用—原创 2020-07-24 23:05:32 · 1041 阅读 · 0 评论 -
关于递归(递归那些事儿)
1.什么是递归函数自己直接或间接调用自己就是递归2.递归的作用把一个大型复杂的问题逐步转化为一个与原问题相似的小问题以求解这样只需要少量的程序就可以描述出解题过程所需要的反复计算在减小代码量的同时一定地优化了时间复杂度这种编程技巧一般用于这几种问题:(1)下一个数据和上一个数据有关联(eg.辗转相除法)(2)搜索(3)好像树也要递归3.什么条件下可以用递归(1)有递归终止条件,即当问题足够小时可以轻松解决(2)把问题规模缩小的之后小问题的解决方法和原问题相同(3)问题可以缩小到容易原创 2020-07-24 22:34:28 · 250 阅读 · 0 评论 -
关于打表
所谓打表,就是将答案全都输出出来,试(pian)输(shu)入(ju),还不懂?举个例子吧:举个例子:题目描述给定N(小于等于8)个点的地图,以及地图上各点的相邻关系,请输出用4种颜色将地图涂色的所有方案数(要求相邻两点不能涂成相同的颜色)数据中0代表不相邻,1代表相邻输入第一行一个整数n,代表地图上有n个点接下来n行,每行n个整数,每个整数是0或者1。第i行第j列的值代表了第i个点和第j个点之间是相邻的还是不相邻,相邻就是1,不相邻就是0.我们保证a[i][j] = a[j][i] (a[原创 2020-07-23 15:56:50 · 5699 阅读 · 4 评论