自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二叉树基础——六个重要性质(国内考试常考)

性质1:二叉树第i层上的结点数目最多为2i-1(i>=1)性质2:深度为i的二叉树至多有2i-1个结点(i>=1)性质3:包含n个结点的二叉树的高度至少为(log2log_2log2​n)+1性质4:在任意一棵二叉树中,若终端结点的个数为n0,度为2的结点数为n2,则n0=n2+1证明:n为总结点数,n1为度为1的结点总数,n0,n2同理;由(1)(2)n=n0+n1+n2 (1)n=n00+n11+n22+1即n=n1+2n2+1 (2)*得:n0=n2+1性质5:具有n个

2021-04-14 17:42:51 1016

原创 SDUT---数据结构---链表部分题目

数据结构实验之链表一:顺序建立链表#include <bits/stdc++.h>using namespace std;struct yyh{ int data; struct yyh* next;}*head,*p,*tail;int main(){ int n; scanf("%d",&n); head=new struct yyh(); head->next=NULL; tail=head; f

2021-04-01 19:42:38 175

原创 SDUTOJ 数据结构-顺序表部分题目

#include <bits/stdc++.h>using namespace std;const int manx=1e5+10;class yyh{public: int data[manx]; int len; void create(class yyh*); void change(class yyh*); void print(class yyh*);};void create(struct yyh* head){ fo

2021-03-19 15:39:33 250

原创 C盘清理小技巧

我个人认为,windows C盘清理最简单又比较有效的方式,就是清除windows旧版本的备份和清除windows升级日志文件,因为极少情况下能用到这些备份和日志文件,但是却占据了很大的内存。计算机 -> C盘,右键,属性 -> 磁盘清理 -> 清理系统文件 -> 勾选以前的windows安装和升级日志文件,清除;...

2021-03-04 20:48:26 177 1

原创 山东理工大学2020年全国天梯赛赛前个人专题强化赛---D(搜索1)

这个题就别让题目唬住了,他就是想让你求图的相邻两个联通点是不是有一样的数字标志,就是所谓的颜色(他用不同的数字来区分)只要写出图来,用一个数组给每个点写上数字,遍历所有出现的边,看颜色是否相同即可;#include <bits/stdc++.h>using namespace std;const int manx=1e6+10;int V,E,K;int OS;set<int>wuhu;int b[600];struct yyh{ int a; ..

2020-12-31 01:38:58 361

原创 山东理工大学2020年全国天梯赛赛前个人专题强化赛---C(最短路)

旅游规划这个题,其实用floyd也可以做,而且代码看起来更舒服,先给一个floyd的代码(非全原创,侵删),但要注意,由于floyd确实多算了很多无用的数据,如果卡你时间,floyd是过不了的。#include <bits/stdc++.h>using namespace std;#define INF 0x3f3f3f3fint node [505][505];int dis[505][505];int main(){ int n,m,s,d,i,j,k,x,y,q,w

2020-12-31 01:37:33 199

原创 2020-9-26 中国计量大学程序设计竞赛同步赛 B

在牛客网上打的,我还蛮喜欢这些大学的比赛的,比打VJ,CF和CCPC,ICPC的往年题目有趣多了,可能是外国人的脑洞我不习惯吧,中国人出的题还是舒服。这里记录一下B,因为做这个题的过程对我很有启发。一开始是这样的代码:#include <bits/stdc++.h>using namespace std;const int manx=1e5+10;int t;int s[manx],s2[manx];char a[manx],b[manx],c[manx];int main(

2020-09-26 21:12:30 271

原创 山东理工大学2020年全国天梯赛赛前个人专题强化赛---B(排序2)

这题的n<m这个测试点可以说坑了一大波人,其他没什么就是个水题#include <bits/stdc++.h>using namespace std;const int manx=1e6+10;int n,m;long long a[manx];bool cmp(long long x,long long y){ return x>y;}int main(){ scanf("%d %d",&n,&m); for(int .

2020-09-21 20:52:51 403

原创 山东理工大学 2020年全国天梯赛赛前个人专题强化赛---A(排序1)

本题目难点在于以字典序的大小来排序拓展:假定字典序一定会不同,那么按字典序升序排序,应该是这样写:bool cmp2(struct yyh x,struct yyh y){ return strcmp(x.name,y.name)<0;}同样的,如果按降序排序,应该是:bool cmp2(struct yyh x,struct yyh y){ return strcmp(x.name,y.name)>0;}总代码如下:#include .

2020-09-14 19:17:42 208

原创 CCCC训练补题

我其实不喜欢写博客补题,我认为这不如看别人写好的,学方法,有效率。这次破例是因为这套题考出了有史以来最低排名,我在最后10分钟看排名的时候,心里真是入夜渐微凉,桃花落地成霜,亦或是,一场肝肠断,天涯何处是故乡的悲伤。反思了很多,但明显就一个原因:前段时间很松懈,真不知道自己哪来的勇气松懈!应急方案:用两周,抽时间刷完天梯赛2019年120题.就这一个,因为多了也完不成!好了,说题!这个题一看就知道不会,因为确实有点难搞;试着做了下,发现是老毛病:遇到字符串,有多个空格时不会处理,我一般

2020-09-14 15:23:14 173

原创 getline(cin,s)与cin.getline(s,n)的分辨

cin.getline(s,n)用法:接收一个字符串,可以接收空格并输出#include <iostream>using namespace std;main (){char m[20];cin.getline(m,5);cout<<m<<endl;}输入:jkljkljkl输出:jklj如果把5改成20:输入:jkljkljkl输出:jkljkljkl接收5个字符到m中,其中最后一个为’\0’,所以只看到4个字符输出;1、cin.get

2020-09-14 14:46:19 1044

原创 SDUT 2020 Autumn Team Contest-题目总结

这题说:给你n个数,能否找到三个数组成三角形。本题难点在卡时间,如果是从小到大排序后从第一个到第n-2个,找i,i+1一个一个试,成功了就break的话,就会超时。所以我们要掌握斐波那契数列,...

2020-09-10 16:58:10 186

原创 c++ <<和>>的意思

<<<<<<是左移运算符的意思,左移运算符是用来将一个数的各二进制位全部左移若干位,右补0。高位左移后溢出,舍弃。例如:将a的二进制数左移2位,右补0。若a=15,即二进制数00001111,左移2位得00111100,即十进制数60。语法格式:需要移位的数字 << 移位的次数例如: 3 << 2,则是将数字3左移2位。即00000011----->00001100(12);>>>>>>右移运算符

2020-08-24 17:38:08 33338

原创 2020/7/30—组队赛总结+补题

首先总结:1.总体配合非常良好,感觉有1+1+1>3的效果.2.在时间分配上,我觉得一开始分开各做各的是不错的,但是把签到题和简单题做完后,我 们比较缺少题目上的交流和沟通,以后会多讨论.3.遇到一些问题还是急躁,不知所措,因为多与队友交流.补题:这个题我们AC六题后,我们三个人都在搞这个题,但是一方面英语题面,对题目理解有些问题,另一方面,在最后我们思路已经很接近了,但是实现又成了问题,代码写的有问题,时间也不够了,遗憾吧.题目大意:给出一个数字n,让我们构造出不超过1

2020-07-30 21:38:56 473

原创 VJ-LightOJ 1341 - Aladdin and the Flying Carpet(唯一分解定理(算术基本定理))

题目分析:根据唯一分解定理,先将a唯一分解,则a的所有正约数的个数为num = (1 + a1) * (1 + a2) *…(1 + ai),这里的ai是素因子的指数,见唯一分解定理,因为题目说了不会存在c==d的情况,因此num要除2,去掉重复情况,然后枚举小于b的a的约数,拿num减掉就可以了这题好难…整了好长时间代码如下:#include <bits/stdc++.h&gt...

2020-07-27 12:31:09 98

原创 java实践2-Final fixture list(最终赛程单)

package First;import javax.swing.JOptionPane;public class Main{ public static void main(String[] args) { int numberOfTeams, totalNumberOfRounds, numberOfMatchesPerRound; // 队伍数,总轮数,每轮回合数 int homeTeamNumber, awayTeamNumber, even, odd; // 主队,客队,偶数

2020-07-22 01:03:58 129

原创 SDUTOJ-第12届校赛-H-憨憨的锤子

题解思路:分析可得,为了在少次数内达到要求,对于这个排列中的数我们多移动一次。然后对于移动 完成得数列可以将其分为三部分,前面得部分是某些被选择的数放到前端,后得部分是某些 被选择的数放到后端,而中间的部分是没有移动过的。对于中间部分我们可以知道肯定是递增 的,并且相邻的两个数差值唯一。所以我们只要求出中间部分长为多长,就可以求出答案。所 以要求这个序列得长递增子序列,且差值为1。这个题当时差点就做出来了,我的思路和题解思路完全一致,但是不知道是哪里出了问题,想想是挺可惜的。题解代码:#inclu.

2020-07-15 02:06:27 176

原创 SDUTOJ-第12届校赛-C-Binary number

当时做的时候是发现是:奇数很简单,只要加1,就能使二进制数中的1不多于原数因为奇数的最后一位一定是1,所以加1就相当于把最后一位的1变成0,然后前面那一位变成1,如果前面那位已经是1,那就再往前1位变成1,以此类推,反正早晚有那一位是0的情况,比如7,二进制是0111,加1就成了1000(8),再比如11,二进制是1011,加1为1100(12)。而偶数费了我很多很多时间,最后发现:从后往前数,最早出现1的那一位的位数-1,设为p,则+2^p即可。比如10,二进制1010,倒数第二位最先出现1,..

2020-07-15 00:43:48 131

原创 Java-Files and Streams 部分的笔记,欢迎斧正!

最近外教讲了File,所以写个笔记记录一下,大多数内容都是以链接的形式水过,不喜勿喷,毕竟咱是出了名的懒.首先,框架如下:1.Files and Stream①package java.io.*;②Types of InputStreamAn array of bytesA String objectA file1.1 Bytes Streams首先网上都有的知识,给个传送门:https://blog.csdn.net/Regino/article/details/104

2020-06-01 02:37:57 125

原创 某高校同步赛- Archmage

这个题当时没做出来,当时是用分散的眼光来看这个题的,没有想到x>y时,前m-1秒内恢复的魔法值都会被利用上,如果用这种整体的观念来看这个题的话,就会迎刃而解。

2020-06-01 00:44:44 214

原创 某高校同步赛-三角形

这题当时没做出来,主要不知道怎么处理这么大的数,用字符串吧太麻烦,用java又没自信,所以用c++搞了半天不对,看下官方给的代码吧。#include <bits/stdc++.h>using namespace std;unsigned long long a[105]; //通过unsigned写法让long long存储范围再大一倍;unsigned long long b[105];int main(){ a[1] = 1; a[2] = 2; un.

2020-06-01 00:26:09 177

原创 某高校同步赛-赛马(水,就硬水)

#include<bits/stdc++.h>using namespace std;const int maxn = 1e6 + 5;int t,n;int a[maxn],b[maxn];int main(){ scanf("%d",&t); while(t--) { scanf("%d",&n); for(int i = 0; i < n; i ++) scanf("%d".

2020-06-01 00:07:35 239

原创 洛谷-P5019 铺设道路+某高校同步赛-减成一

传送门:P5019 铺设道路#include<bits/stdc++.h>#define N 100005using namespace std;int a[N]; //全局可以保证a[0]=0,否则循环和if语句会错int main(){ int n,i,ans=0; scanf("%d",&n); for(i=1;i<=n;++i) { scanf("%d",&a[i]); if(a[i]>a[i-1]) ans+=

2020-05-31 23:53:18 133

原创 无穷大无穷小的写法总结(持续补充~~~)

1.我们可以使用系统提供的常量:   如果是int型,可以用INT_MAX表示正无穷,INT_MIN表示负无穷,需要包含头文件limits.h;  如果是double型,可以用DBL_MAX表示正无穷,-DBL_MAX表示负无穷(注意不是DBL_MIN),需要包含头文件float.h。2.我们也可以自己设置一个很大的值作为无穷大:①.0x7fffffff但是这个值在相加时会溢出,这样两个无穷大数相加会变成负数。②.0x3f3f3f3f为了尽量避免以上的错误,我们可以将0x3f3f3f3f设为无

2020-05-29 21:20:11 2924

原创 JAVA-Multi-dimensional ArrayLists笔记

这个知识点我只找到外国人讲解的,不知道为什么中国人都不用,也不给个介绍,可能是Vector类用的多吧,这都上了大学了,英文听力这块我还是很菜,听不太懂,而且还有不少专业术语。正好老师讲了这个内容,就记个小笔记。如果有这个内容的好的讲解,麻烦评论区分享下,谢谢.首先是个声明:ArrayList <ArrayList> List = new ArrayList <ArrayList> ();然后是个示意图:我觉得这个应该很好懂,跟二维数组差不多,就是他可以动态开数组大小。之前

2020-05-24 22:31:06 202

原创 排序算法总结(适合初学者)

闲来无事,想总结一下,以后持续补充(我就是个大学生,拿CSDN上的文章拼拼凑凑,就是想自己做个笔记,如果不合适,请私信我,侵删。不过应该没人会看一个学生写的笔记吧…哈哈)算法一:插入排序(Insertsort)插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。算法稳定。插入排序的时间复杂度为O(n*n). 空...

2020-05-23 01:33:08 303

原创 数据结构优质博客

二叉树https://www.jianshu.com/p/bf73c8d50dc2

2020-05-21 20:16:53 362

原创 java实践1——poker游戏

大一下的实践之一,保存一下代码。package First;import java.text.*;import javax.swing.JOptionPane;public class AY2016PokerProject{ static String userMessage = ""; static final int handSize = 5; static double totalWinnings = 0.0; public static void main(String[].

2020-05-19 15:10:17 400

原创 java中Arraylist类用法

https://www.cnblogs.com/kungfupanda/p/7357142.html

2020-05-13 14:37:55 137

原创 java-关于String类整理的补充

原文:https://blog.csdn.net/w464960660/article/details/105233704/?ops_request_misc=&request_id=&biz_id=102&utm_source=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-5#5%E3...

2020-05-02 00:55:30 243

原创 普通冒泡+改进版冒泡(SDUT1196-排序问题)+从1开始的冒泡循环(SDUT1569-选夫婿1)(这个相对最重要)

#include <stdio.h>#include <stdlib.h>struct yyh{char a[25];int b;int c;}a[100000],t;int main(){int i,n,j,e,f,c,d;scanf("%d",&n);for(i=1; i<=n; i++){scanf("%s %d %d",a[...

2020-05-01 17:57:18 212

原创 switch case 嵌套(禁止套娃接手动滑稽)

import java.util.*;public class Main{ public static void main(String[] args) { int a=Integer.parseInt(args[0]); int b=Integer.parseInt(args[1]); if((a!=1&&a!=2&&am...

2020-04-26 21:35:42 1174

原创 java中循环输入的方法,类似于C++中while( ~scanf() )

举几种例子,其实方法都是一样的,就是因为输入的内容的类型不同,我们用不同类型的变量存储,但是hasNext()方法是不变的;1.输入为字符串:import java.util.*;public class Main{ public static void main(String[] args){ Scanner s = new Scanner(System.in); Str...

2020-04-13 09:43:30 3081 1

原创 java字符串分割函数split()的功能和注意事项

1.split 方法将一个字符串分割为子字符串,然后将结果作为字符串数组返回。基本格式 :str1.split(“符号”,limit)(1)str1必选项。要被分解的对象,即你想要进行操作的字符串,该对象不会被split方法修改。(2)符号可选项。以此符号为标志对字符串进行分割。如果忽略该选项,返回包含整个字符串的单一元素数组。(3)limit可选项。该值用来限制返回数组中的元素个...

2020-04-08 16:15:51 1428

原创 JAVA-Math类吐血大整理

1.常量e和PI.e.g.System.out.println(Math.E); //2.718281828459045System.out.println(Math.PI); //3.1415926535897932.Math.abs(); 计算绝对值e.g.System.out.println(Math.abs(-3)); //33.三角函数与反三角函数:(变量均为弧度制...

2020-03-28 17:33:52 227

原创 SDUT 1197 约瑟夫问题

#include <stdio.h>#include <stdlib.h>struct yyh{ int data; struct yyh *next;};int main(){ struct yyh *p,*head,*tail,*q; head=malloc(sizeof(struct yyh)); head-&gt...

2020-03-24 16:51:21 132

原创 2119-数据结构实验之链表四:有序链表的归并

#include <stdio.h>#include <stdlib.h>struct node{ int data; struct node*next;};struct node *create(int m){ struct node *tail,*head,*p; head=malloc(sizeof(struct nod...

2020-03-19 01:57:46 272

原创 SDUT 2118-数据结构实验之链表三:链表的逆置

#include <bits/stdc++.h>using namespace std;struct node{ int data; struct node *next;};int main(){ struct node *head,*p; head=(struct node *)malloc(sizeof(struct node));...

2020-03-18 23:55:32 125

原创 char (字符)的发音

今天听留学归来的老师说char在国内喜欢读作差(四声),但char是由character演变的,所以应该读作卡(四声),涨姿势了

2020-03-18 10:32:03 1031

空空如也

空空如也

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

TA关注的人

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