自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

被一个OIER遗弃的一堆烂代码

拾黑书,取一些算法,随意点染,铺成八则……

  • 博客(569)
  • 资源 (9)
  • 问答 (1)
  • 收藏
  • 关注

原创 C++入门教程:大白话讲解,新手基础篇(附源码及详解、视频课程资料推荐)

C++ TutorialC++教程前言视频教程文字教程集成开发环境(IDE)编译器工作原理学习指南入门书籍进阶书籍算法、竞赛书籍教程标准构建程序解释第一个C++程序——“hello world”编译C++基础语法输入与输出C++风格C风格变量全局变量局部变量常量注释C++关键字、保留字C++数据类型数字类型整形浮点型布尔类型字符类型小测试运算符算术运算符实例实例关系运算符实例实例逻辑运算符实例实例数组声明数组初始化数组访问数组元素实例字符串控制语句循环 2021.2.7补for 2021.2.7补while

2021-06-05 09:23:12 6781

原创 物理科普读物推荐:《物理精神》——人类文明创新的原动力

我最近读了一本方礼勇老师的书《物理精神》,很受启发,才理解为什么马斯克总说,他工作上的创新都是遵循了物理的第一性原理。立个flag????????????,学习更多物理知识。前言摘抄从历史事实来看,第二次世界大战之前三百年的科学发展只依赖于同期数百位科学家的努力,却诞生了牛顿力学、热力学、电磁学、相对论、量子力学以及近代化学、医学等。同时,几乎所有伟大科学家都年纪轻轻就做出了伟大发现,不依赖个人的长期经验。在发明实验设备方面,伽利略的望远镜、法拉第的电磁设备、迈克尔逊.莫雷的实验设备、威尔逊的云室、加州

2021-02-06 22:04:10 11290 1

原创 整数的大小端序

f

2022-12-19 10:55:18 822 1

原创 并查集操作

初始化void init_set(int n){ // Disjoint Set init for (int i = 0; i <= n ;i++) f[i] = i;}查找int search_fa(int x){ // path compress if (f[x] != x) { f[x] = search_fa(f[x]); } return f[x];}合并(路径压缩)void mer

2021-11-25 22:22:06 509

原创 《关于sort这个狗东西,它死了……》(要用stable_sort)

这次csp用快速排序的不稳定性,在T2卡掉我好几十分排序要用stable_sort()!!!排序要用stable_sort()!!!排序要用stable_sort()!!!排序要用stable_sort()!!!排序要用stable_sort()!!!

2021-11-25 22:21:16 545

原创 CSP-J复赛游记——2021-10-23

今天带着被吊打、有可能爆零的心态参加了复赛,感觉不错,从来我都是初赛水平较差的。到场先看了T1,模拟加优化,签到但花了半小时,还不知道对不对……看T2,没看懂题……想不出来(一小时)抛弃直接看T4,因为看着T3的题目很长,所以不敢看,发现有一定思路。试着做了做,用结构体存线段,把每块的左右端点记录下来,合并有点困难,然后就抛弃了。(半小时)2个半小时了!!慌了!!!于是看T3,耐心读题之后发现并不难,用一个数组判重,半个小时搞定,if写了一大堆,但是写完有一种很潇洒的感觉。心里有底了!!至少是个

2021-10-23 15:55:20 736 3

原创 抽屉原理……

第一抽屉原理原理1: 把多于n个的物体放到n个抽屉里,则至少有一个抽屉里的东西不少于两件。抽屉原理抽屉原理证明(反证法):如果每个抽屉至多只能放进一个物体,那么物体的总数至多是n×1,而不是题设的n+k(k≥1),故不可能。原理2:把多于mn(m乘n)+1(n不为0)个的物体放到n个抽屉里,则至少有一个抽屉里有不少于(m+1)的物体。证明(反证法):若每个抽屉至多放进m个物体,那么n个抽屉至多放进mn个物体,与题设不符,故不可能。原理3:把无数还多件物体放入n个抽屉,则至少有一个抽屉里有无数个

2021-09-10 18:20:02 445

原创 【动态规划】0-1背包与完全背包之“采药“与“疯狂的采药“

基础背包问题(0-1、完全)请见:背包问题教程P1048 [NOIP2005 普及组] 采药 https://www.luogu.com.cn/problem/P1048 0-1背包辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个

2021-08-16 23:36:31 232

原创 排序算法,最全的10大排序算法详解(Sort Algorithm)

文章目录排序算法,最全的10大排序算法详解(Sort Algorithm)排序算法分类排序算法稳定性时间复杂度(time complexity)1#时间复杂度的意义2#基本操作执行次数如何推导出时间复杂度呢?有如下几个原则:3#让我们回头看看刚才的四个场景。对数(log、logarithm)对数数轴与天文数字1# 基数排序(radix sort)2# 冒泡排序(Bubble Sort)3# 希尔排序(shellSort)4# 快速排序(quickSort)5# 堆排序(heapSort)6# 归并排序(me

2021-08-16 15:03:14 748

原创 报错[Error] invalid types ‘int[int]‘ for array subscript原因及解决方案

这通常是数组的问题,我目前总结出3种可能:数组变量名不一致,或者没定义,比如你定义了一个ans数组,但是你在用的时候误写成了a数组(oj应该爆CE)数组空间不够,比如你要访问a[6],可是你只定义了int a[6]数组,所以下标最多到5,定义改成7就行了。(oj应该爆RE)变量名和数组名重复定义,比如定义了一个int a;然后又定义了一个int a[6];数组,(oj应该爆CE吧)...

2021-08-10 22:06:13 69862 11

原创 划分数问题——盘子与小球——排列组合——递推式思维转化

0#引入考试时遇到同球同盘的问题,一开始想用插板法,终究失败,只拿了20分,回家问了老师,老师告了我方法并让我自己研究剩下三种。1#同球同盘——递推或递归(+记忆化改进优化)这个我有真题http://www.kencoding.net/problem.php?id=1369,大家可以去做一下我先把递推公式列在这里:(n是球数,m是盘子数){f(0,0)=1f(n,1)=1f(n,m)=f(n,n)   if(n<m)f(n,m)=f(n−m,m)+f(n,m−

2021-08-02 09:08:14 2145

原创 C++中int(整形)向上取整的方法

比如5/4,整形会向下取整,为1,而向上取整为2.所以我们将:result = m / k;改为:result = (m + k-1) / k;但是此方法有一个问题,可能在数字精度过大的时候溢出

2021-07-28 19:13:38 3733

原创 windows无法格式化的解决办法

今天我再重装系统的时候,我想格式化掉mac系统的e盘,但是机器显示无法格式化,解决方法是去掉快速格式化选项,这是个小问题,可能对于大家还有别的问题,希望对大家有帮助

2021-07-27 13:08:20 1002

原创 欧几里得算法——线性同余

#include<cstdio>typedef long long ll;void exgcd(ll a, ll b, ll &x, ll &y){ if(b == 0) x = 1, y = 0; else { exgcd(b, a%b, y, x); y -= (a/b)*x; }}int main(){ ll a, b, ans, tmp; scanf("%lld%lld", &a, &b); exgcd(a, b, ans

2021-07-20 16:05:33 204

原创 快速幂算法笔记

快速幂是一个logn时间复杂度的算法,其目的是计算an。在此基础上可以加入快速幂模,以便于存储数字。让我们先来思考一个问题:7的10次方,怎样算比较快?方法1:最朴素的想法,7*7=49,49*7=343,… 一步一步算,共进行了9次乘法,也就是O(n)的复杂度。这样算无疑太慢了。这时我们想到,也许可以拆分问题。方法2:先算75,即7*7*7*7*7,再算它的平方,共进行了5次乘法。但这并不是最优解,因为对于“7的5次方”,我们仍然可以拆分问题。方法3:先算7*7得49,则7的5次方为49*49

2021-07-20 14:47:30 281

原创 动态规划:0-1背包 与 完全背包问题摘编

动态规划我推荐在这里学习,https://oi-wiki.org/dp/0-1背包首先我们看一道题在上述例题中,由于每个物体只有两种可能的状态(取与不取),对应二进制中的 和 ,这类问题便被称为「0-1 背包问题」。一直条件有第iii个物品的重量wiw_iwi​,价值ViV_iVi​,以及背包的总容量W我们用二维数组存储每一种情况。设dp状态fi,jf_{i,j}fi,j​为只能放前i 个物品的情况下,容量为j 的背包所能达到的最大总价值。考虑状态转移方程。假设当前已经陈富华里后了前i-1

2021-07-18 22:27:16 225

原创 动态规划的最优原理与无后效性解析

什么样的“多阶段决策问题”才可以采用动态规划的方法求解一般来说,能够采用动态规划方法求解的问题,必须满足最优化原理和无后效性原则:1、动态规划的最优化原理。作为整个过程的最优策略具有:无论过去的状态和决策如何,对前面的决策所形成的状态而言,余下的诸决策必须构成最优策略的性质。也可以通俗地理解为子问题的局部最优将导致整个问题的全局最优,即问题具有最优子结构的性质,也就是说一个问题的最优解只取决于其子问题的最优解,而非最优解对问题的求解没有影响。在最短路径问题中,A到E的最优路径上的任一点到终点E的路径,

2021-07-18 08:46:26 5282 1

原创 最长不下降自序列(最长递增子序列)C++动态规划

题目:http://www.kencoding.net/problem.php?id=1112最长递增子序列(Longest Increasing Subsequence , LIS)问题:给定一个长度为N的数组,找出一个最长的单调递增子序列。例如一个长度为7的序列A=5,6,7,4,2,8,3A={5,6,7,4,2,8,3}A=5,6,7,4,2,8,3,它最长的单调递增子序列为5,6,7,8{5,6,7,8}5,6,7,8,长度为4.此题答案,也是最长不下降自序列的固定模板:#include

2021-07-17 12:15:55 1798

原创 P2440 木材加工

题目背景要保护环境题目描述木材厂有一些原木,现在想把这些木头切割成一些长度相同的小段木头(木头有可能有剩余),需要得到的小段的数目是给定的。当然,我们希望得到的小段木头越长越好,你的任务是计算能够得到的小段木头的最大长度。木头长度的单位是cm。原木的长度都是正整数,我们要求切割得到的小段木头的长度也是正整数。例如有两根原木长度分别为11和21,要求切割成到等长的6段,很明显能切割出来的小段木头长度最长为5.输入格式第一行是两个正整数N和K(1 ≤ N ≤ 100000,1 ≤ K ≤ 10000

2021-07-07 21:20:14 380

原创 三分查找--

我们都知道 二分查找 适用于单调函数中逼近求解某点的值。如果遇到凸性或凹形函数时(非单调),可以用三分查找求那个凸点或凹点。下面的方法应该是三分查找的一个变形。如图所示,已知左右端点L、R,要求找到白点的位置。思路:通过不断缩小 [L,R] 的范围,无限逼近白点。做法:先取 [L,R] 的中点 mid,再取 [mid,R] 的中点 mmid,通过比较 f(mid) 与 f(mmid) 的大小来缩小范围。 当最后 L=R-1 时,再比较下这两个点的值,我们就找到了答案。1、当 f

2021-06-19 16:34:46 252

原创 【6月挑战算法入门级挑战赛】修炼

试题描述修仙小说实在是太吸引人了。在修仙的世界中一般都需要修炼升级。不过据说修仙应该有十一个等级:旋照、开光、融合、心动、灵寂、元婴、出窍、分神、合体、渡劫、大乘。也不知道是不是真的能够修仙,有的时候感觉编程就像在修仙啊。那么假设,每练一个等级需要x年,那么整个修炼完成要多少年呢?输入输入只有一个正整数x(0 < 0 < 10 ^ 10000)输出输出11级总共需要的年数。输入示例1000000输出示例11000000啊这……乍一看到,想的是这么简单,但是转瞬一想要用高精度

2021-06-13 20:15:52 239

原创 【6月挑战算法入门级挑战赛】组织活动

试题描述旅行社计划组织一个独木舟旅行。租用的独木舟都是一样的,最多乘两人,而且承重有一个限度。现在要节约费用,所以要尽可能的租用最少的舟。本题的任务是读入独木舟的载重量,参加旅行的人数以及每个人的体重,计算出所需要的独木舟数目。输入第1行是w(80<=w<=200),表示每条独木舟最大的载重量。第2行是正整数n(1<=n<=30000),表示参加旅行的人数。接下来的n行,每行是一个正整数ti(5<=ti<=w),表示每个人的重量。输出输出一行一个数,表示最少

2021-06-13 13:55:38 289

原创 1342:【例4-1】最短路径问题——用Dijkstra算法、坐标系两点之间直线距离作为权值情况

【题目描述】平面上有n个点(n<=100),每个点的坐标均在-10000~10000之间。其中的一些点之间有连线。若有连线,则表示可从一个点到达另一个点,即两点间有通路,通路的距离为两点间的直线距离。现在的任务是找出从一点到另一点之间的最短路径。【输入】共n+m+3行,其中:第一行为整数n。第2行到第n+1行(共n行) ,每行两个整数x和y,描述了一个点的坐标。第n+2行为一个整数m,表示图中连线的个数。此后的m 行,每行描述一条连线,由两个整数i和j组成,表示第i个点和第j个点之间有

2021-06-05 21:23:59 2352

原创 2021年6月5日算法总结笔记

算法总结:1.枚举算法for + if 经常需要优化2.模拟算法不重复不遗漏的根据规则 高精度3.贪心算法九成以上先排序 结构体排序 排队接水 安排活动 陶陶摘苹果升级版4.二分算法(分治算法)非常非常非常非常重要 mid=(l+r)/2;最大值最小 砍树最小值最大递归和递推搜索:万能的 代码很长,有模板动态规划树 VS 图 ...

2021-06-05 19:31:57 1922

原创 获取一个数字的所有约数并存储进数组的算法,Getdivisor,O(sqrt(n))

Getdivisor();O(n)O(\sqrt{n})O(n​)It’s very similar to, or even the same code as, the algorithm for determining prime numbersvoid getDivisor(){ len = 0; for (int i = 1; i * i <= n; i++) // or sqrt(n), but should add "cmath" or "maht.h" { if (n %

2021-05-24 22:50:24 4038

原创 同时找最大最小值⌈3N/2⌉−2算法

同时找最大最小值题目定义:给定一个大小为n的数组,无序,找到其中的最大值和最小值,要求元素间的比较次数尽可能少。以下摘自《算法导论》:事实上,我们只需要最多3⌊n/2⌋次比较就可以同时找到最小值和最大值。具体的方法是记录已知的最大值和最小值,然后对输入元素成对地进行处理。首先,我们将一对输入元素相互进行比较,然后把较小的与当前最小值进行比较,把较大的与当前最大值进行比较。这样,对每两个元素共需3次比较。如何设定已知的最小值和最大值的初始值依赖于n是奇数还是偶数。如果n是奇数,我们就将最小值和最

2021-05-24 22:36:47 6574 1

原创 P1036 [NOIP2002 普及组] 选数

原题:https://www.luogu.com.cn/problem/P1036深度优先搜索找到排列,然后用一个求质数函数返回1和0,用一个sum在循环中累加,搜索结束返回sum,正好就是结果。#include <iostream>#include <algorithm>#include <cstring>using namespace std;int *a = new int[50];bool isprime(int aNum){ i

2021-05-19 22:30:28 1861

原创 CF601A The Two Routes——Floyd题解

【原题目链接:[CF601A The Two Routes](Remote Judge in luogu)】题目描述In Absurdistan, there are nn towns (numbered 1 through n ) and m bidirectional railways. There is also an absurdly simple road network — for each pair of different towns x and y , there is a bidir

2021-05-19 22:01:29 1773

原创 C++中的链表结构

【存储方式的分类】:顺序存储结构和链式存储结构;【顺序存储结构】:在(子)程序的说明部分就必须加以说明,以便分配固定大小的存储单元,直到(子)程序结束,才释放空间。因此,这种存储方式又称为静态存储。所定义的变量相应的称为静态变量。它的优缺点如下:1、优点:可以通过一个简单的公式随机存取表中的任一元素,逻辑关系上相邻的两个元素在物理位置上也是相邻的,且很容易找到前趋与后继元素;2、缺点:在线性表的长度不确定时,必须分配最大存储空间,使存储空间得不到充分利用,浪费了宝贵的存储资源;线性表的容量一经

2021-05-16 20:43:18 3589 10

原创 P1061 [NOIP2006 普及组] Jam 的计数法——模拟,想复杂了

https://www.luogu.com.cn/problem/P1061orhttp://www.kencoding.net/problem.php?cid=1026&pid=2题目描述Jam是个喜欢标新立异的科学怪人。他不使用阿拉伯数字计数,而是使用小写英文字母计数,他觉得这样做,会使世界更加丰富多彩。在他的计数法中,每个数字的位数都是相同的(使用相同个数的字母),英文字母按原先的顺序,排在前面的字母小于排在它后面的字母。我们把这样的“数字”称为Jam数字。在Jam数字中,每个字母互

2021-05-16 20:17:51 3692

原创 最小生成树略——Prim

Prim算法采用与Dijkstra、Bellman-Ford算法一样的“蓝白点”思想:白点代表已经进入最小生成树的点,蓝点代表未进入最小生成树的点。算法描述:以1为起点生成最小生成树,min[v]表示蓝点v与白点相连的最小边权。MST表示最小生成树的权值之和。a)初始化:min[v]= ∞(v≠1); min[1]=0;MST=0;b)for (i = 1; i<= n; i++)1.寻找min[u]最小的蓝点u。2.将u标记为白点3.MST+=min[u]4.for 与白点u相连的

2021-05-16 17:30:01 2963

原创 C++指针及其应用

引:指针是 C++语言中广泛使用的一种数据类型,运用指针编程是 C++语言最主要风格之一。利用指针变量可以表示各种数据结构,能很方便地使用数组和字符串,并能像汇编语言一样处理内存地址,从而编出精炼而高效的程序,指针极大地丰富了 C++语言的功能。学习指针是学习 C++语言最重要的一环,能否正确理解和使用指针是我们是否掌握 C++语言的一个标志。同时,指针也是 C++语言中最为困难的一部分,在学习中除了要正确理解基本概念,还必须要多编程、多上机调试,只要做到这些,指针也是不难掌握的。第一节 指针变

2021-05-16 17:02:46 701 1

原创 P2910 [USACO08OPEN]Clear And Present Danger S——FLoyd-Warshell算法N^3解题

题目链接https://www.luogu.com.cn/problem/P2910题目描述Farmer John is on a boat seeking fabled treasure on one of the N (1 <= N <= 100) islands conveniently labeled 1…N in the Cowribbean Sea.The treasure map tells him that he must travel through a certain

2021-05-15 20:29:49 575

原创 数据结构之图笔记:图论基础术语以及基础知识略

基本概念:一、顶点(vertex)上图中黑色的带数字的点就是顶点,表示某个事物或对象。由于图的术语没有标准化,因此,称顶点为点、节点、结点、端点等都是可以的。叫什么无所谓,理解是什么才是关键。二、边(edge)上图中顶点之间蓝色的线条就是边,表示事物与事物之间的关系。需要注意的是边表示的是顶点之间的逻辑关系,粗细长短都无所谓的。包括上面的顶点也一样,表示逻辑事物或对象,画的时候大小形状都无所谓。三、路径/最短路径(path/shortest path)在图上任取两顶点,分别作为起点(start

2021-05-07 22:35:57 6546 3

原创 关闭cin、cout同步——ios::sync_with_stdio(false)

关闭cin、cout同步之后,cin、cout的速度几乎和scanf、printf一样。否则scanf、printf明显快一点**ios::sync_with_stdio(false)**;

2021-05-07 17:14:49 1097

原创 二叉树笔记:二叉树建立、输出(使用括号)、三种遍历、层序遍历等小功能代码记录

数据结构与算法学习网站:http://data.biancheng.net/其实二叉树并不适合用数组存储,因为并不是每个二叉树都是完全二叉树,普通二叉树使用顺序表存储或多或多会存在空间浪费的现象。最让我感觉难的地方并不是这些函数的递归,而是建立链式存储结构时的指针,老是让人摸不着头脑,还是地址没学好????。结构体——链式存储:typedef struct BiTNode{ TElemType data;//数据域 struct BiTNode *lchild,*rchild;//左右

2021-05-07 17:00:49 1418

原创 HTML引用左右类

<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>Bootstrap 实例 - 引用</title> <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css"> <script src="h

2021-05-05 19:42:49 142

原创 Vim保存与退出

在一般模式中按下 :wq 储存后离开 vi从插入模式点Esc就可以进入一般模式

2021-05-05 18:22:15 182

原创 Java中print、println和printf的区别

初学Java,做一记录:print和println没有太大的区别,println是要结尾换行,print不换行。printf继承了c语言的特性,可以格式化输出。(喜欢)println(“test”)相当于print(“test\n”)就是一般的输出字符串print\println\printf的区别print将它的参数显示在命令窗口,并将输出光标定位在所显示的最后一个字符之后。println 将它的参数显示在命令窗口,并在结尾加上换行符,将输出光标定位在下一行的开始。printf

2021-05-05 17:38:27 289

原创 NOIP-J-2016完善程序第一题

我的填空和标准答案不一样,但是我觉得考官肯定会通过的,因为答案是对的:#include <iostream>using namespace std;int readint(){ int num = 0; // 存储读取到的整数 int negative = 0; // 负数标识 char c; // 存储当前读取到的字符 c = cin.get(); while ((c < '0' || c > '9') &&a

2021-05-04 20:55:49 225

Jetbrains代码颜色one-dark-theme-5.1.5.zip

Jetbrains代码颜色one-dark-theme-5.1.5.zip

2021-05-04

魔方桥式复原实例演示视频——C语言编写桥式复原资料

魔方桥式复原实例演示视频

2021-05-04

gvim安装程序,vim82

vim最新安装程序

2021-05-04

C#新手项目 必看-必点-超值!

本人自学C Sharp的新手项目,所以分享上来,从hello world开始,一个个练手项目和答案 ©此文档由本人精心制作,未经允许进制转载

2020-03-27

Python全面教程 从安装解释器到面向对象编程

Python全面教程 本人自学Python的手写笔记,Markdown版本,可以自己转PDF 此文档从安装Python软件到学习面向对象 ©此文档是本人精心制作的,未经允许不许转载!

2020-03-27

Dev-Cpp.zip

我的博客:https://blog.csdn.net/cool99781 这个文件为了论坛发布的 也可以用来配置c++编译器

2020-02-22

BMI体质测试c++文件,源代码、2个文件、exe

我的博客写了一篇BMI测试的程序,在这里附加代码、文件、和.exe运行程序 我的博客:blog.csdn.net/cool99781 身体质量指数(BMI,Body Mass Index)是国际上常用的衡量人体肥胖程度和是否健康的重要标准,主要用于统计分析。

2020-02-11

地图文件(.map文件)程序配套

这是我的程序配套的文件,需要下载,这个.map文件是一个地图,可以用记事本打开修改。 可以到我的博客去看源代码。 我的博客:blog.csdn.net/cool99781

2020-01-28

rpg.exe名叫rpg的c++小游戏

一个小游戏的cpp源代码,不是很完善,请多多指教,不知道为什么无法上传多个文件,我只能发送一个最终的游戏界面。 游戏主菜单叫[九州风云],里面有一些简单的npc,你是一个英雄,你要去消灭丛林中的野兽,打怪升级,最终打死boss,夺得胜利

2020-01-19

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除