自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 高级文件处理(XML)

一、XML基本概念1.XML是可扩展标记语言:意义+数据标签可自行定义,具有自我描述性。纯文本表示,跨平台/平台/语言。2.XML结构:常规语法:a.任何的起始标签都必须有一个结束标签。b.简化写法,例如,< name> < /name>可以写为< name/>c.大小写敏感。d.每个文件都要有一个根元素。e.标签必须按合适的顺序进行嵌套,不可错位。f.所有的特性都必须有值,且在值的周围加上引号。g.需要转义字符,如“<”需要用&lt

2022-04-28 22:00:14 292

原创 Java反射常用方法

package cs;public class Animal { //属性 public double height; //方法 public void h1(){ } public Animal(double height) { this.height = height; } public Animal() { } }package cs;interface IA{ }interface IB{}@Deprecated//此方法已作废,暂时可用,以后可能会

2022-03-28 22:21:44 977

原创 设计模式几个细节

1.依赖和关联关系的区别:参考来源依赖关系:依赖关系表示的是类之间的调用关系,即用一个类去调用另外一个类。被调用的类表现为调用类的局部变量,方法的参数,调用类调用被调用类的静态方法。关联关系表示两个类之间的联系,通过这种联系,一个类可以访问到另外一个类的属性和方法。这两个类是互相独立的,这两个类可以单独存在。常用的关联关系:一对一关联,多对一关联,多对多关联2.简单工厂模式与策略模式的区别:参考来源简单工厂模式:创建型模式,关注对象的创建,即根据客户选择的条件帮助客户创建对

2022-03-19 20:23:50 263 2

原创 简单工厂模式(一)

一、简单工厂模式简单工厂模式是属于创建型模式,又叫做静态工厂方法模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式的优点:工厂类含有必要的判断逻辑,可以决定在什么时候创建哪一个产品类的实例,客户端可以免除直接创建产品对象的责任,而仅仅“消费”产品。简单工厂模式通过这种做法实现了对责任的分割,它提供了专门的工厂类用于创建对象。客户端无须知道所创建的具体产品类的类名,只需要知道具体产品类所对应的参数即可,对于一些复杂的类名,通过简单工厂模式可以减少使用者的记忆量。通过引入

2022-03-19 20:10:02 90

原创 苹果分盘问题

题目1:m个相同苹果放n个相同盘,可空盘#include<iostream>using namespace std;int f(int m, int n){ if(m<0) return 0; if(n==1||m==0) return 1; return f(m-n,n)+f(m,n-1);}int main () { int m,n;

2022-03-15 20:14:53 229

原创 C++、Java、C# 多态知识总结

一、多态1.多态是同一个行为具有多个不同表现形式或形态的能力。多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。2.多态存在的三个必要条件:继承:要有继承关系,子类继承父类;重写:子类要重写父类的方法;父类引用指向子类对象。3.当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。show(new Cat()); // 以 Cat 对象

2022-03-06 10:29:50 411

原创 Anagrams by Stack(STL)

Anagrams by Stack题意:i是进栈,o是出栈,给你两个字符串判断从串1到串2的进栈出栈情况。比如:输入:madamadamm输出:[i i i i o o o i o o i i i i o o o o i o i i o i o i o i o o i i o i o i o o i o ]回溯算法,DFS#include<iostream>#include<stack>#include<vector>using name

2022-03-02 23:33:26 99

原创 求细胞数量 - 洛谷

求细胞数量 - 洛谷#include<iostream>#include<cstdio>using namespace std;int dx[4]= {-1,0,1,0};int dy[4]= {0,1,0,-1}; //左、右、上、下int bz[100][100],num=0,n,m;void doit (int p,int q){ int x,y,t,w,i; int h[1000][2];//相当于申请了一个队列 num++;

2022-03-01 21:44:22 342

原创 洛谷提高组P1004+1006

[NOIP2000 提高组] 方格取数 - 洛谷

2022-01-20 14:46:08 192

原创 数据结构复习总结

数据结构树和二叉树树和二叉树1.前中后序遍历二叉树void PreOrder(BiNode *root){ if(root!=NULL) { cout<<root->data; PreOrder(root->lchild); PreOrder(root->rchild); }}void InOrder(BiNode *root){ if(root!=NULL) {

2021-12-26 19:28:08 792

原创 数据结构之计算要点

数据结构一、常规时空复杂度二、线性表三、栈和队列四、数组和字符串1.模式匹配2.矩阵压缩3.数组存储五、树和二叉树六、图七、查找技术八、排序技术一、常规时空复杂度二、线性表三、栈和队列四、数组和字符串1.模式匹配1.1 BF算法:设串S长度为n,串T长度为m,在匹配成功的情况下,考虑两种极端情况:最好:不成功的匹配都发生在串T的第一个字符。∑i=1n−m+1Pi(i−1+m)\sum_{i=1}^{n-m+1} P_i(i-1+m)∑i=1n−m+1​Pi​(i−1+m)=(n+m)2\

2021-12-26 09:28:40 515

原创 查找技术(21.12)

.

2021-12-23 21:15:22 302

原创 排序算法(21.12)

排序一、基于比较的排序1.插入排序直接插入排序希尔排序2.交换排序冒泡排序快速排序3.选择排序简单选择排序堆排序4.归并排序二路归并排序的递归实现二路归并排序的非递归实现二、不基于比较的排序1.桶式排序2.基数排序一、基于比较的排序1.插入排序无序记录-插入->有序序列直接插入排序希尔排序2.交换排序冒泡排序快速排序3.选择排序简单选择排序堆排序4.归并排序二路归并排序的递归实现二路归并排序的非递归实现二、不基于比较的排序1.桶式排序2.基数排序...

2021-12-19 20:02:55 171

原创 JAVA程序设计(复习题)

JAVA第10章 输入输出流与文件读写第9章 java集合类及其应用第7章 java常用类及其使用第10章 输入输出流与文件读写例1:package T1;import java.io.File;import java.io.FileNotFoundException;import java.io.PrintWriter;import java.util.Scanner;public class tm1 { public static void a() throws FileNotFo

2021-12-14 19:52:22 140

原创 洛谷训练题(21.12.5)

删数问题 - 洛谷题意:键盘输入一个高精度的正整数N,去掉其中任意k个数字后剩下的数字按原左右次序将组成一个新的非负整数。编程对给定的N和k,寻找一种方案使得剩下的数字组成的新数最小。思路:题意隐含条件:新数是数,不带前导0。题目要求只删k个数,那就能反过来想,直接找长度为:(N的长度减k)的数,每次在一定范围内找最小的数,用递归就好了。因为忘删前导0改了好几遍,还以为自己看错题意应该把同一个数都删掉(测试样例误导我)。#include<iostream>using name

2021-12-03 20:32:34 220

原创 D. Weights Assignment For Tree Edges(11.27)

Problem - D - Codeforces题意:给你数组a表示i的父结点是a[i],给你数组b表示结点b[i]到根结点的距离在所有结点里排第i(每个结点到根结点的距离是不同的),让你找符合条件的数组w(表示结点i到i的父结点的距离为w[i]),且w[i]>w[a[i]]。分析:不妨让b[i]的值为结点i到根结点的距离,(b[i]表示距离排名,且b数组每个值都不一样,变相的告诉你到结点到根结点的距离,不用白不用),所以每个结点到父结点的距离就是该结点到根的距离-父结点到根的距离...

2021-11-28 21:24:06 487

原创 图 学习笔记(二)(11.25)

图一、有向无环图及其应用

2021-11-25 16:05:57 418

原创 图 学习笔记(一)(11.21)

2021-11-16 16:39:56 221

原创 周末总结(21.11.14)

学习总结:本周做了点并查集和线段树,学习了kruskal算法、拓扑排序还有欧拉路。因为做的大部分都是模板题就没写题解 ,Kruskal算法还有拓扑排序博客就不分开发了,想放到图论博客里下周 一起发。本周收获:kruskal算法结合了并查集思想适合于稀疏图,应用于寻找最短连通路径,最短路径总长度,最短生成树等问题。拓扑排序结合了搜索算法,必须有入度为0或出度为0的结点,当采用BFS算法时,队空时所有点必须都进过队列。若考虑把点按优先级分成不同层次,每层次拓扑排序时必须采用BFS实现拓扑排序,若处理上下

2021-11-14 20:19:06 240

原创 图的相关概念

.

2021-11-11 19:47:14 263

原创 周末总结(21.11.7)

本周主攻二叉树,做的题不多,主要因为很多知识点没学,不会做题。我做到的几个二叉树题建树都不是我学的数据结构里正儿八经的二叉链表建树,都需要用到图论里的知识,比如链式前向星。查阅资料学了两天,看别人的代码画图加推算也费了一些时间,网上的代码有很多,有的看得懂,有的看不懂,好在经过几天的努力,总结出来一点规律(上一篇博客),也算有点收获吧。下周还是继续练习二叉树,希望做题能快一点吧。...

2021-11-07 20:33:05 75

原创 最近公共祖先:LAC

一、概念1.LAC问题:最近公共祖先问题,指给你一棵有根树和结点u、v,在树上找一个结点是u和v的共同祖先,并且深度尽可能大,也就是这个点尽可能远离树根,接近u、v。2.方法:暴力枚举,二进制拆分,tarjan解法,RMQ等。二、暴力枚举因为树的每一个结点只有一个父结点,先对u进行回溯,就是一直向上找父结点,直到回溯到根结点,把回溯到的结点都标记上,再对v进行回溯,直到找到第一个共同标记点,即u和v的最近公共祖先。...

2021-11-06 19:58:28 156

原创 P1122最大子树和

.

2021-11-03 10:32:25 210

原创 P3613 【深基15.例2】寄包柜

.

2021-11-01 23:13:14 234

原创 树和二叉树学习笔记

.

2021-10-26 17:31:14 301

原创 周末学习总结(21.10.23)

.

2021-10-23 22:27:54 805 1

原创 P1434 [SHOI2002]滑雪(21.10.21)

.

2021-10-19 23:09:22 531 1

原创 字符串和多维数组学习笔记(21.10.20)

.

2021-10-19 16:06:21 135

原创 子序列问题:LIS与LCS (21.10.19)

参考来源

2021-10-19 01:38:56 222

原创 P1020导弹拦截(超详细)(21.10.18)

P1020 (NOIP1999 普及组 )导弹拦截

2021-10-18 23:43:11 1472

原创 洛谷训练(21.10.17)

.

2021-10-17 09:25:20 1461

原创 N皇后问题(21.10.12)

2021-10-13 16:14:31 66

原创 栈和队列学习笔记(21.10.12)

2021-10-12 16:49:28 357

原创 周末总结(21.10.10)

本周打了两场div2比赛,前几次比赛打的不好,掉分严重,本周虽然分数回加了,但整体上依然不好,不如以前出的题多。先说最近打的那场,第一题简单题,还算比较快的解决了,第二题算是一种题型吧,关于二进制转换的,以前做的少,不太上心,所以比赛中不能一眼看出方法,想的复杂还不会写,赛后想明白了为什么要用二进制方式解决问题,希望以后出题快一点吧,第三题考虑不全面,赛后也对照测试样例把代码改正确了,怎么说呢,做题技巧不够还是不够聪明呢。。。,(=_=),然后再看E1,据说很简单,看别人的代码也挺短,但是我看不懂题目,翻

2021-10-10 19:38:02 69

原创 Codeforces Round #747 (Div. 2) (21.10.9)

.

2021-10-10 09:16:15 100

原创 线性表练习(21.10.6)

1.设计一个递归算法,删除不带头结点的单链表L中所有值为x的结点。以下构建了无头结点的单链表:#include<iostream>#include<cstdio>using namespace std;typedef struct Node{ int data; Node *next;}*Linklist,Node;Linklist InitList(Linklist &p)//单链表初始化{ p=NULL; retur

2021-10-06 23:34:10 200

原创 POJ1061青蛙的约会

1061 -- 青蛙的约会题意:规定纬度线上东经0度处为原点,由东往西为正方向,单位长度1米,这样我们就得到了一条首尾相接的数轴。设青蛙A的出发点坐标是x,青蛙B的出发点坐标是y。青蛙A一次能跳m米,青蛙B一次能跳n米,两只青蛙跳一次所花费的时间相同。纬度线总长L米。现在要你求出它们跳了几次以后才会碰面。分析:根据题意可列出如下方程题目转化为ax+by=n(这里的x为t,y为k),用扩展欧几里得算法求解二元一次方程,注意数据范围。扩展欧几里得算法#include<iost..

2021-10-06 17:26:28 129

原创 B. Hemose Shopping (Div. 2)

B. Hemose Shopping (思维题)

2021-10-04 19:33:16 529

原创 数学ACM学习笔记(21.10.2)

每天进步一点点

2021-09-29 23:42:37 144

原创 线性表学习笔记

一、顺序表

2021-09-28 17:47:28 184

空空如也

空空如也

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

TA关注的人

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