自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 枚举笔记

如果不是很确定枚举优化细节,可以先把最暴力的也就是最简单的写出来,然后再一步一步优化 Easy Equation错误思路对k从0-d的每个数枚举有对少个x,y,z可以满足x+y+z == k,虽然当a=b=c=d时可以推出求和公式,但当a,b,c,d任意一对不相等时,就很难求了。因为k取0-d,所以只要x+y+z在0-d内就有k可以满足,所以只要和在0-d内此时,x,y,z就有效,再嵌套3层循环分别对,x,y,z进行分别从0-a,0-b,0-c遍历,就可以得到排序不重复。初步代码#inclu

2020-10-31 23:35:03 4

原创 二分答案 Pie

PieMy birthday is coming up and traditionally I’m serving pie. Not just one pie, no, I have a number N of them, of various tastes and of various sizes. F of my friends are coming to my party and each of them gets a piece of pie. This should be one piece o

2020-10-22 23:04:43 14

原创 A - Shoemaker‘s Problem贪心

A - Shoemaker’s ProblemShoemaker has N jobs (orders from customers) which he must make. Shoemaker can work on onlyone job in each day. For each i-th job, it is known the integer Ti (1 ≤ Ti ≤ 1000), the time in days ittakes the shoemaker to finish the jo

2020-10-22 02:26:55 12

原创 &引用上的骚操作

1,&与运算2,取地址3,引用引用相当于给变量起个小名#include<iostream>using namespace std;void change_num1(int &n);void change_num2(int *&p);/*说白了引用&就是别名(你的小名,指的是同一个你), 如果程序对引用做出改动,其实就是对目标的改动。 */void change_num3(int *n);int

2020-10-19 23:47:56 219

原创 用&取模

为什么&取模比%更快因为&是直接对内存中的二进制码进行操作,因此也不需要转换为10进制,所以更快。用&来代替%原理不是什么情况下都可以用&来代替%例如 n %8 = n&7;也就是 n%a = n7(a-1);原理7的二进制码为:0 0 0 0 0 1 1 1假设n = 10 ,对应的二进制码为:0 0 0 0 1 0 1 0当10&7时,相当于保留了10的1-7范围的二进制码,所以也达到了取模的效果如果还是不太习惯,转不过弯,那就多

2020-10-18 00:14:10 20

原创 堆的建立的时间复杂度

1. 自顶向下一个结点一个结点的插入数据到堆的底部,每次插入最多要进行h(树的已有高度)次调整,每一层结点数为2^h,那么没层总共时间复杂度通项为k*2^k,k取0到h,又h = logn(底数为2),所以每层求和为logn * n也就是nlogn.2.自下向上直接在数组里排序,从底部开始排序,从最高层非叶节点开始,比较它的子树是否满足堆,不满足就交换,并且递归判断其子树。然后一层结点判断完后就判断,上一层。假设共h层,则第k层最多经历(h - k)次调整好,每层2^k个结点,所以每层总共时间通项为

2020-09-24 11:59:01 38

原创 图——最短路径问题

1.单源点有权图最短路径2.多源点最短路径 (有向)1.单源点有权图最短路径Dijkstra#include <stdio.h>#include<stdlib.h>#define WeightType int/*权重*/#define DataType int/*顶点数据类型*/#define MaxVertexNum 10/*最大顶点数*/ #define INFINITY 1000/*无穷大,具体要看程序更改*/#define ERROR -1/**/typ

2020-09-13 16:27:57 25

原创 六度空间

六度空间7-7 六度空间 (30分)“六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”如图1所示。图1 六度空间示意图“六度空间”理论虽然得到广泛的认同,并且正在得到越来越多的应用。但是数十年来,试图验证这个理论始终是许多社会学家努力追求的目标。然而由于历史的原因,这样的研究具有太大的局限性和困难。随着当代人的联络主要依赖于电话

2020-09-07 11:21:50 143

原创 数组未赋值的元素值

未初始化如果是全局变量,自动赋0;如果是局部变量,随机值,所以未初始化字符数组,最后要赋个’\0’;已经初始化局部变量和全局变量,未赋值元素都为0;

2020-08-05 23:46:52 222

原创 c位运算等符号

百度回答~按位取反&且^或<<数据向小数点左方移动具体运算看符号优先级

2020-08-03 23:20:25 42

原创 链表基本操作

**1,struct ListNode *readlist()//创建链表struct ListNode *readlist(){ struct ListNode *head,*last,*p; head = (struct ListNode*)malloc(sizeof(struct ListNode)); head->next = NULL; last = head; p = (struct ListNode*)malloc(sizeof(struct ListNode)); p

2020-08-03 12:57:35 51

原创 数据结构 第六天 树(下)

树下堆:在完成二叉树的前提下任意节点是它左右子树的最大值(最大堆)或最小值(最小堆)判别方法:从根节点到任意节点路径上的结点均保持相同的右序性

2020-07-20 23:02:35 36

原创 数据结构 打卡第5天 树(中)

二叉树层序遍历二维结构的线性化遍历:怎么样把一个二维结构变为一维结构的过程。保存暂时不访问的结点:堆栈,队列

2020-07-13 20:50:59 47

原创 数据结构 打卡第四天 树(上)+ 最大子列和

堆栈实现后序的非递归遍历void InorderTraversal(BinTree BT){ BinTree T = BT,P = NULL; Stack S = creatStack(Maxsize);/*创建并初始化堆栈S*/ Stack S1 = creatStack(Maxsize);/*创建并初始化堆栈S1*/ while(T || !IsEmpty) { while(T)/*沿着左子树压栈*/ { push(S,T);/*压栈*/ T = T->L

2020-07-07 22:32:20 43

原创 数据结构 打卡第三天 树(上)

二叉树的堆栈方法遍历中序递归遍历中的堆栈原理图中的递归方法,一直访问其左子树,而右子树,须等到InorderTraversal函数的左子树递归完后,才结束该函数,而每个传入 BT->left的函数,执行过程也要执行BT->right,所以越小的子孙,越快处理,当left结束后,才回过头来继续执行被调用前的right.相当于将每次的right保存起来,等left结束才进行right,而每次递归中的right要优先处理,所以也就有了,先堆先出,即是堆栈。中序遍历的堆栈方法。void In

2020-07-06 00:25:05 55

原创 数据结构 打卡第二天 树(上)

二分查找要求在数组中使用,且数据要连续有序的储存在数组内。left = mid + 1;和right = mid - 1;而不是left = mid;①mid已被确定不是要找的数,所以可以多移动一位,减少时间。②用left = mid;时,(left + right) < right,永远移动不到right,而用left = mid + 1 ;可有效规避这一点。typedef struct List{int Element[30]int length}List;从二分查找的到的树树

2020-07-03 22:44:08 68

原创 数据结构打卡第一天(再不学,我就没了)线性结构

1,线性结构重温,节约代码while(N--){}插入 Rear 为polynomial型指针,传送它的的地址,用来在Attach()函数中改变它的值,传送的是指针的地址,故用二级指针(指针的指针)来接收。2,树(上)静态查找哨兵在数组的边界位置存储为所需查找的数据如:s[10] = k;将遍历条件设置为s[i] != k;即可,不用写成了i<10 && s[i] != k;减少判断次数,在程序结束后再对i判断即可。今天不太行,加油咯!我可以的。...

2020-07-02 22:50:03 48

原创 C学生信息管理系统

包含功能1、账号的登录和注册,密码加密。2、登录退出的日志记录。3、创建学生信息。可通过键盘输入或文件导入来创建初始学生信息。4、增加学生信息。可通过键盘输入或文件导入将学生信息按学号升序插入学生信息。5、浏览学生信息,将磁盘内所有学生信息打印在屏幕上。6、修改学生信息。1)根据提供的学号查找并修改学生信息,可以只修改部分信息,由运行界面的交互信息来进行提示;2)找不到时给出提示;7、查找学生信息,1)通过学号或姓名来查找学生信息可多次查找;2)找不到时给出提示;8、删除学生信息。1)通过学

2020-06-16 10:37:19 246

原创 c语言 做一个学生信息管理程序遇到的问题总结(代码一周后发)

1.文件原有信息覆盖问题(1是基础可以直接看2和3)文件读写模式:引自菜鸟教程主要注意 r+,w+的区别以w+方式打开,原文件内容一打开就被删除,#include <stdio.h>int main(){ FILE *f1; f1 = fopen("try.txt","w+") ;//追加,w+,r+,输入会覆盖 fprintf(f1,"nice\n"); fclose(f1); return 0;}原文件内容程序执行后即使没有进行写操作#include

2020-05-31 19:27:54 1225 1

原创 scanf 异常分析 和 解决办法

标题scanf(“%d\n”,d);标题scanf(“%d”,(char)d);标题scanf(“%d”,d);对scanf(“%c”,char);的影响。

2020-05-19 23:53:08 321 2

原创 dev c++图形库安装教程

试了网上那么多回答 还是官网靠谱(大多是文件移动路径错了)官网教程 https://xege.org/beginner-lesson-1.html//安装后用以下代码直接复制到main.cpp试一下#include <graphics.h>int main(){initgraph(640, 480); //设置画图颜色,GREEN是颜色常数,详细可以查graph...

2020-05-07 21:42:19 441

原创 Visual c++ c程序创建及链接执行失败处理(笔记)

新建一个c程序(如果已会直接看后面)点击右上角“文件”,点击“新建”。点击“工程”,并选择"win32 Console Application"。命名并确定。选择“一个空工程”。3.点击新建,建立一个“C++ Source File"。对文件命名。3.编写一个简单的代码编译链接执行可能出现的错误1编译成功 但链接错误解决方法:1可能程序正在运行,编译器...

2020-04-29 22:41:52 142

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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