
c++全套流水账
acwing_cht
闫学灿的粉丝,acwing的忠实网友。
(偷偷告诉大家在acwing的好处
随便CSP省一,蓝桥国一,acm金牌银牌!!!
acwing,我梦想的起源点。
acwing空间:https://www.acwing.com/user/myspace/index/8041/
展开
-
c++全套流水账——写点游戏?!
c++——写点游戏肯定有些同学想用c++写点游戏,今天,cht就来说说这个(必须有Windows处理器或电脑,Linux不支持)。关于acwing一、准备1、必备算法(1)高精度(2)DFS(或BFS)(3)递推与递归(4)字符串运算(5)位运算(6)部分STL(sort,swap……)2、头文件(1)#include<bits/stdc++.h>//万能头文件(2)#include<conio.h>//getch()(3)#include<stdl原创 2020-07-26 17:32:15 · 854 阅读 · 0 评论 -
c++全套流水账——染色法判断二分图,DFS的实践与应用
最近刷题比较多所以分享比较短也很少有视频了大家谅解一下。染色法判断二分图什么是二分图二分图就是只你可以把一个图的点拉到左右两边。这样它们就会变成两个集合。那我们把原来图的边保留进这两个集合中。最后如果我们可以使得这两个集合内部没有任何边,所有边都是两边互相连通的,我们称这个图为二分图。否则不是二分图。具体图片:这个图是二分图吗?是的。那这个呢?不是。好了我们一会就证明为啥第二个一定不是。二分图的特性其实很简单,不能有奇数环。啥是奇数环?就是环上的点的数量是奇数。很原创 2020-07-26 17:23:50 · 442 阅读 · 0 评论 -
c++全套流水账——prim算法求最小生成树!!!
prim算法提前说一句,prim能生成迷宫,效果很不错,比Astar强多了。(这应该是ta唯一能赢过克鲁斯卡尔算法的地方。最小生成树的概念。这里先给大家推荐一篇好文。最小生成树理论基础我这里再讲一下什么是最小生成树。我们这里举一个y总举过的栗子。y总:最小生成树问题有很多实际应用。比如我们修公路,有n条可以修的,要求必须连接所有点,但我们不能花太多钱,这就是一个最小生成树问题。prim算法的步骤其实这个算法挺抄袭的。抄袭的是DIJkstra。为啥呢?大家对比一下算法步骤。原创 2020-07-26 17:22:25 · 247 阅读 · 0 评论 -
cht讲算法——数论——欧几里得算法与拓展欧几里得算法(1)
欧几里得算法与拓展欧几里得算法(1)——数论中的beatsaber哈罗大家好我是cht。今天正式开死数论部分的讲解!一、欧几里得算法的思路众所周知,beatsaber是一个yxc巨佬喜爱的VR游戏。(大佬:烂人你怎么又开始扯游戏了好了好了一会大家就知道了。1-1欧几里得算法用来解决什么东西其实朴素欧几里得算法最大的用途就是:求最大公因最小公倍数。这里要先介绍一点点小东西:a×b(a,b)=[a,b]\displaystyle \frac {a \times b} {(a, b)} =原创 2020-07-26 13:44:22 · 452 阅读 · 0 评论 -
cht讲算法——Floyd算法
Floyd算法与数论简介因为Floyd算法太简单了,所以和数轮简介放在一起。Flody算法的思路与实现Floyd算法是求多元最短路的利器。就是时间复杂度吗……emm,O(n3)O({n} ^ 3)O(n3)……先说一下什么是多元最短路:(划重点了!!!多元最短路是指,可以求出任意两点之间最短距离的算法(这不就是DP嘛?的确,Floyd算法就是基于动态规划动态规划动态规划实现滴!既然是DP,那么我们就需要搬出思考DP最nb的思考方式:闫式DP分析法。关于下图,要特地感谢垫底抽风大佬的分原创 2020-07-26 13:26:11 · 360 阅读 · 2 评论 -
cht讲算法——数论——因倍质合
因倍质合(1)小学奥数的噩梦我觉得这篇分享配得上大佬们的赞。因倍质合,相信都是大家小学中学时的阴影……各种公式定理证明模型……如果你觉得它很简单,请看下面的列表。关于acwing自闭内容自闭程度代码长短讲课时间试除法判定质数1星中等本节课埃氏筛质数2星中等本节课xxs筛质数4星较长下节课暴力求因(约)数1星较短本节课试除法求因(约)数2星中等下节课暴力算倍数0.5星极简下节课用类似于埃氏筛质数的方法求原创 2020-07-26 11:54:19 · 1735 阅读 · 3 评论 -
二分——头疼的边界
关于acwing二分哈罗,大家好,我是cht。二分的思路从前有这么一道题,说:如何用10个砝码撑出1-1023的重量?大家仔细考虑下这题,相信大家都已经有答案了。1,2,4,8,16,32,64,128,256,512这十个砝码。再来一题:有一栋高楼,怎么用最少的次数知道它最多在几层被抛下是不会碎?答案就是是二分。好,接下来我们步入正轨,到底什么是二分?请看图:这就是二分,一次可以排除几乎一半的答案。所以我个人觉得二分就是枚举的一种优化。先让大家看看二分有多nb。假设共原创 2020-07-14 11:26:49 · 200 阅读 · 0 评论 -
树与图的DFS
树与图的DFS原创 2020-07-14 09:14:35 · 227 阅读 · 0 评论 -
并查集速讲
窝学习算法的OJ是:Acwing这里有很多功能关键是课程都是白菜价!!!!超多分享!算法竞赛进阶指南免费讲解!白菜价的ACWING四件套!语法基础课算法基础课算法提高课算法进阶课学会这些秒杀全国%99的程序员!授课老师:闫学灿巨佬。这里有这位巨佬的试听课。...原创 2020-07-14 09:07:52 · 216 阅读 · 0 评论 -
c++算法全套流水账——排序
排序大家好,cht又来唠叨算法了今天我们说说排序!咳咳,我们先说说最简单的三种排序:快速排序归并排序冒泡排序cht在这里提示大家,模板不能死记硬背哦1、冒泡排序作为如此老套的算法,大家应该并不陌生冒泡排序的思路是什么呢?就是把数列中所有不成顺序的数交换。(其实就是暴力算法)时间复杂度 O(n²)没有听懂的同学们再来看看图吧。注意!这里的排序是倒向的(a > b > c)。接下来给大家看看动态图现在大家应该都明白什么是冒泡排序了吧。接下来我们来看看c++代原创 2020-07-11 21:26:07 · 784 阅读 · 0 评论