自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 VSCode配置Go语言开发环境

go module 是Go语言从 1.11 版本之后官方推出的版本管理工具。下载安装过后测试go version命令是否可以使用。国内很多包的下载效果都不好,需要配置镜像代理。ctrl+shift+p调出命令面板。或者打开一个go文件,会自动提示安装。选择自己系统对应的版本下载。

2023-01-11 21:52:53 543 1

原创 Bresenham直线算法

Bresenham的直线算法是一种算法,它确定应该选择的n维光栅的点,以便形成两点之间的直线的近似近似。 它通常用于在位图图像中(例如在计算机屏幕上)绘制线基元,因为它仅使用整数加法,减法和位移,所有这些都是标准计算机体系结构中非常便宜的操作。 它是一种增量错误算法。 它是计算机图形学领域最早开发的算法之一。 原始算法的扩展可用于绘制圆圈。

2022-11-07 20:42:40 1864

原创 GIS开发作业4—获取工作空间所有图层记录值及字段信息

【代码】GIS开发作业4—获取工作空间所有图层记录值及字段信息。

2022-09-26 12:52:46 461

原创 GIS原理与技术-平时作业

几何变换是指从具有几何结构之集合至其自身或其他此类集合的一种对射。几何变换是一种数学解题的方法思路。在几何的解题中,当题目给出的条件显得不够或者不明显时,我们可以将图形作一定的变换,这样将有利于发现问题的隐含条件,使问题得以突破。具体来说,“几何变换是一个函数,其定义域与值域为点集合。几何变换最常见的定义域与值域为同时为R2,或同时为R3。其他的几何变换则要求须为一对一函数,使之有反函数。”可透过研究这些变换的方法来研究几何。

2022-09-24 21:08:30 1786 2

原创 1161 Merging Linked Lists

给了两个链表,找到最短的,然后插入长的那个里面,长的每隔两个插一个短的,长的长度肯定是短的二倍以上。

2022-06-22 21:45:02 263

原创 1157 Anniversary

给出一位校友的身份证号给出前来参加校庆的所有人士的信息在第一行输出参加校庆的校友的人数。然后在第二行输出最年长的校友的身份证号如果没有校友来,则在第二行输出最年长的来宾的身份证号。题目保证这样的校友或来宾必是唯一的。...

2022-06-21 17:43:38 124

原创 1156 Sexy Primes

定义了个概念就是(p, p + 6)这样的一对素数叫做,给你一个数判断下这个数是不是,是的话输出然后输出另一个数,否则输出和比这个数大的最小的一个

2022-06-21 17:39:27 261

原创 ENVI-Classic-Annotation-object添加的元素图例比例尺如何撤回修改删除

ENVI Classic 的Annotation一般用来添加各种地图控件来使用,配合QuickMap可以快速生成一个看着很高端的专题地图。在添加控件的时候,可以左键按着空间左上角的菱形来进行拖动,但是当我们右键之后,控件就会固定住,就不能修改了,这时我们有可能手滑多生成一个控件。这就很恶心了,找不到撤回按钮,并且按也不行。这时就需要找到操作固定的控件的方法了。方法很简单,只需要在栏找到,选中该选项,然后在地图界面拖动范围选中要修改的控件即可。如果想要删除,那么选中之后在菜单栏找到栏,点击之后会有选项,即可删

2022-06-20 21:59:24 2228

转载 5.2_多态的作用

C语言中文网这里讲的非常清楚,就直接引用了在面向对象的程序设计中,使用多态能够增强程序的可扩充性,即程序需要修改或增加功能时,只需改动或增加较少的代码。此外,使用多态也能起到精简代码的作用。本节通过两个实例来说明多态的作用。游戏程序实例游戏软件的开发最能体现面向对象设计方法的优势。游戏中的人物、道具、建筑物、场景等都是很直观的对象,游戏运行的过程就是这些对象相互作用的过程。每个对象都有自己的属性和方法,不同对象也可能有共同的属性和方法,特别适合使用继承、多态等面向对象的机制。下面就以“魔法门...

2022-05-26 22:46:28 1520

原创 5.1_多态的基本概念

多态可以分为编译时的多态和运行时的多态。编译时的多态主要指的是函数的重载(包括运算符的重载)、对重载函数的调用,在编译时就能根据实参确定调用哪个函数,所以叫做编译时的多态。而运行时的多态和继承、虚函数等概念有关。通过基类指针实现多态派生类对象的地址可以赋值给基类指针。(把派生类当成基类来用也不是不行,因为不会缺少东西)对于通过基类指针调用基类和派生类中都有的同名,同参数表的虚函数的语句,编译时并不确定要执行的是基类还是派生类的虚函数。而当程序运行到该语句时,如果基类指针指向的是一个基类对象,则基

2022-05-26 22:46:02 143

原创 4.5_私有派生和保护派生

除了公有派生,C++也支持私有派生和保护派生。class B: private A {};class C: protected A {}; 基类成员 派生方式 公有派生 私有派生 保护派生 私有成员 不可访问 不可访问

2022-05-26 22:34:18 470

原创 4.4_其他派生和公有派生的赋值兼容规则

多层次的派生C++中派生是可以多层次的。例如学生类派生出中学生类,中学生类派生出初中类和高中类。在定义派生类时,只写直接基类,不写间接基类。派生类的成员包括派生类自己定义的成员、直接基类中定义的成员,以及所有间接基类的全部成员派生类的对象生成时,会先执行最基层的基类,然后逐层往下。消亡时先执行自身的析构函数,然后逐层执行各个基类的析构函数。包含成员对象的派生类在派生类也是封闭类的情况下,构造函数的初始化列表不仅要指明积累对象的初始化方式,还要指明成员对象的初始化方式。派生类对象生成时:先从上至

2022-05-26 22:31:41 488

原创 4.2_protected访问范围说明符 4.3_派生类的构造函数和析构函数

protected访问范围说明符类的成员可以是私有成员,公有成员,保护成员。私有成员只能类中的成员函数可以访问,公有成员就跟全局变量一样,什么地方都可以访问到。那么保护成员呢?保护成员和私有成员的区别就在于继承的类的访问问题上。一个派生类中父类继承过来的私有成员是不能访问到的,因为私有成员只有定义它的类可以用,继承过来的不能用,放在派生类里面,但是只有基类的成员函数能访问到,,如果想要继承下去的能用上,又不想让其他类访问,就可以定义成保护成员。基类的保护成员可以在派生类的成员函数中被访问派生类

2022-05-26 22:31:07 144

原创 4.1_继承和派生的概念

继承和派生当创建一个类时,不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。这个已有的类称为基类,新建的类称为派生类。派生类的成员函数不能访问基类的成员函数。C++中从一个类派生出另一个类的写法如下class 派生类名:继承方式说明符 基类名{ ...};继承方式说明符可以是public(公有继承)、private(私有继承)或protected(保护继承)。一般都使用public。protected或private方式很少用到。对齐由于计算机内

2022-05-19 09:58:30 196

原创 3.6_重载类型强制转换运算符 3.7_运算符重载的注意事项

重载类型强制转换运算符C++中类型的名字(包括类的名字)本身也是一种运算符,即类型强制转换运算符。类型强制转换运算符是单目运算符,只能重载为成员函数。经过重载后,(类型名)对象这个表达式等价于对象。operator类型名()。class Complex{ double real, imag;public: Complex (double r = 0, double i = 0): real(r), imag(i){}; operator double() {return r

2022-05-19 09:58:12 254

原创 3.5_重载流插入运算符和流提取运算符

重载后面的内容应该不常用了吧,应该前面的也不常用(重载流插入运算符和流提取运算符差不多就了解下他的本质就是位运算运算符就行,输出数据的时候注意优先级就行。如果自己定义了一个类,想要直接输入输出的话,就要重载下>>和<<。下面我们以全局函数的形式重载>>,使它能够读入两个 double 类型的数据,并分别赋值给复数的实部和虚部:istream & operator>>(istream &in, complex &A){ i

2022-05-19 09:56:55 249

原创 3.4_运算符重载为友元函数

运算符重载为友元主要内容其实还是友元,友元理解了其实是一样的。如果需要同时对一个变量和私有变量操作时,想让他们互换顺序仍能达到同样效果的话,需要重载运算符使其能访问私有成员。看例子吧,单讲讲不清楚class Complex{ double real, imag;public: Complex(double r, double i) : real(r), imag(i){}; Complex operator+(double r); friend Complex operator+(doub

2022-05-18 23:24:35 155

原创 3.3_浅拷贝和深拷贝

浅拷贝: 将原对象或原数组的引用直接赋给新对象,新数组,新对象/数组只是原对象的一个引用深拷贝: 创建一个新的对象和数组,将原对象的各项属性的“值”(数组的所有元素)拷贝过来,是“值”而不是“引用”如果没有进行重载,那么"="的作用就是把左边对象的每个成员变量都和右边相等,这时执行的是浅拷贝。#include <iostream>using namespace std;class copys{public: char *s; copys() { s = new ch

2022-05-18 23:24:02 77

原创 3.2_重载运算符‘‘=‘‘

C++规定,"="只能重载为成员函数。赋值运算符"=“要求左右两个操作数的类型是匹配的,或者至少是兼容的,如果希望”=“两边的操作数的类型即使不兼容也能够成立,就需要对”="进行重载。#include <iostream>#include <string>#include <cstring>using namespace std;class String{private: char *str;public: String() : str(NULL)

2022-05-18 23:23:28 142

原创 3.1_运算符重载

运算符重载的实质是编写以运算符作为名称的函数。运算符函数的格式如下:返回值类型 operator 运算符(形参表){ ...}包含被重载的运算符的表达式会被编译成对运算符函数的调用,运算符的操作数成为函数调用时的实参,运算符的结果就是函数的返回值。#include <iostream>using namespace std;class Complex{public: double real, imag; Complex(double r = 0.0, doubl

2022-05-18 23:22:52 63

原创 2.5_友元

友元分为两种:友元函数和友元类在理解友元的时候可以不认为是朋友,而是理解为“上级,主人”,因为friend后面跟的函数或者类都是可以访问自己这个类的私有成员的。友元函数在定义一个类的时候,可以把一些函数(包括全局函数和其他类的成员函数)声明为“友元”,这样那些函数就成为该类的友元函数,在友元函数内部就能访问该类的私有成员了。将全局函数声明为友元函数的写法如下:friend 返回值类型 函数名(参数表);将其他类的成员函数声明为友元的写法如下:friend 返回值类型 其他类的类名::成员函数名

2022-05-18 20:55:10 148

原创 2.4_成员对象和封闭类

一个类的成员变量如果是另一个类的对象,就被称之为"成员对象"。包含成员对象的类叫封闭类(enclosed class)。一个类成员变量封闭类成员对象汽车轮胎为了使封闭类对象生成并初始化的时候让编译器知道成员对象时用哪个构造函数初始化的,可以通过在定义封闭类的构造函数时,添加初始化列表的方式解决。构造函数中添加初始化列表写法类名::构造函数名(参数表):成员变量1(参数表), 成员变量2(参数表),...{ ...}#include <iostream

2022-05-18 20:54:36 178

原创 2.3_常量对象和常量成员函数

如果希望某个对象的值初始化后就再也不被改变,则定义该对象时可以在前面加上const关键字,使之成为常量对象。class CDemo{public: void setValue() {}};const CDemo Obj; // Obj是常量对象在Obj被定义为常量对象的情况下,下面这条语句是错误的。Obj.SetValue();错误的原因是常量对象一旦初始化后,其值就再也不能改变。因此,不能通过常量对象调用普通成员函数,因为普通成员函数在执行过程中有可能修改对象的值。但可以通过

2022-05-18 20:54:16 234

原创 2.2_静态变量和静态成员函数

静态成员变量本质上是全局变量。一个类,哪怕一个对象都不存在,其静态成员变量也存在。设置静态成员变量的目的,是为了将和某些类紧密相关的全局变量和全局函数写到类里面,形式上成为一个整体。static 成员变量的内存既不是在声明类时分配,也不是在创建对象时分配,而是在(类外)初始化时分配。反过来说,没有在类外初始化的 static 成员变量不能使用。//通过类类访问 static 成员变量Student::m_total = 10;//通过对象来访问 static 成员变量Student stu("小

2022-05-18 20:53:08 69

原创 2.1_构造函数与析构函数

构造函数构造函数就是对象生成的时候调用的用来初始化的函数。复制构造函数复制构造函数是构造函数的一种,它只有一个参数,参数类型是本类的引用。复制构造函数被调用的三种情况用一个对象去初始化同类的另一个对象Complex c2(c1);Complex c2 = c1;这两条语句是等价的,第二条语句是初始化语句,不是赋值语句。作为形参的对象,是用复制构造函数初始化的,而且调用复制构造函数时的参数,就是调用函数时所给的实参。#include <iostream>using

2022-05-18 20:52:33 133

原创 1.1_内联函数

C++定义函数时,可以加上inline关键字inline int Max(int a, int b){ if (a > b) { return a; } return b;}增加了inline关键字的函数成为“内联函数”。与普通函数的区别是编译器处理调用内联函数的语句时会将内联函数代码体插入到调用的地方。调用内联函数可以省去因为调用函数时产生的时间消耗。加快程序运行速度。但是编译过后会使代码体积变大。当函数内有循环时,调用函数产生的时间消耗

2022-05-18 20:52:09 92

原创 windows命令行cmd批量修改文件修改日期,遍历文件夹下所有文件

随便说说起因是Java的一个大实验,其实是一个很离谱的东西,老师发了一堆代码,这是一个大系统的代码,在书上印了30多页,是按书上的代码实践一下的一个实验,要把书上的代码复刻一下,但是有个很大的问题是这些代码根本不全,一个大系统,书上代码也就能弄5个文件,差的太多了。。。根本弄不出来,而且没给素材,但是毕竟是书上的代码,网上可以找到这个项目,还带素材嘿嘿,自己弄下数据库就可以跑了,但是要交上这个项目,打开项目一看,里面的素材都是15年的,这怎么能行,一看就知道不对,所以就需要改下素材时间,但是太多了,就要自

2022-05-13 19:48:54 11499 2

原创 1014 Waiting in Line

随便说说:这题写吐了,一开始题没读明白,后来又一直段错误,找了好久发现有个地方队列没判空,改的时候也优化了许多地方,弄了一上午终于过了555思路:记录每个人开始办业务的时间,上一个人走的时间加上他的开始时间就是下一个人的开始的时间,然后就是用队列模拟每一条队,输出的时候先判断他排上队的时间,然后加上他办理的时间,就是他走的时间。Code:#include <iostream>#include <vector>#include <string>#includ

2022-05-12 13:34:46 114

原创 VSCode Competitive Programming Helper (cph)插件和Code Runner的C++17设置

首先在插件中心找到cph插件然后找到小齿轮点击后打开扩展设置找到这一条,设置编译选项写入编译时的条件-std=c++17cph运行就是c++17版本的了

2022-05-11 14:20:12 4619 1

原创 Codeforces Round #786 (Div. 3)(A—E题解)

A. Number Transformation题意:给你一个x一个y,求出x乘a次b得到y。输出a和b,无解的话输出0 0#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include <string>#include <vector>#define endl '\n'using namespace std;

2022-05-03 09:11:06 842

原创 Codeforces Round #785 (Div. 2) (A—C题解)

A. Subtle Substring Subtraction题意:就是Alice先选字符串的一段,选完得分就是这一段字符每个字符序号之和,a是1,b是2,ab和ba都是3,以此类推。Alice可以选偶数个字符,Bob选奇数个。输出谁的分数更大,然后输出他们的分数差思路:Alice肯定选完或者剩一个,Bob只能选一个或者一个都没C++#include <iostream>#include <algorithm>#include <cstdio>#includ

2022-05-01 11:13:32 201 1

原创 Codeforces Round #784 (Div. 4) (A - H)题解

难得的一次Div4,从头写到尾A. Division?#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include <string>#include <vector>#define endl '\n'using namespace std;const int N = 1e5 + 10;void mian(

2022-04-22 00:35:03 681 4

原创 Codeforces Round #782 (Div. 2) A-D题解

A. Red Versus Blue每一次循环都计算R和B的比例,然后输出t个R,一个B,每次输出都判断是否结束#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include <string>#include <vector>#define endl '\n'using namespace std;const

2022-04-18 12:48:58 771

原创 KMP字符串匹配

KMP算法是用来快速进行字符串匹配的,可以找出一个字符串在另一个字符串中出现的位置和次数等有关问题。基本思想就是先对其中要找的那个子串进行匹配—记录每一个位置当在这个位置匹配的时候出现了问题应该从哪个地方重新开始匹配。举个栗子吧如下两个字符串字符串从下标1开始s1 = abcabcabcabcds2 = abcabcd当我们要进行暴力匹配的时候,s2字符串匹配到d时,s1为a,此时匹配出现了问题,要重新从上次匹配s1的位置的下一个位置来进行匹配,这时会非常浪费时间,效率太低了。而我们观察可

2022-04-05 19:52:08 259

原创 矩阵快速幂

本文只做基础入门,了解矩阵快速幂的基础应用。进阶内容可以去看其他dalao的~~矩阵乘法矩阵乘法设A=(aij)是一个m×x矩阵,B=(bij)是一个s×n矩阵,那么规定矩阵A和矩阵B的乘积是一个m×n矩阵C=(cij)设A=(a_{ij})是一个m×x矩阵,B=(b_{ij})是一个s×n矩阵,那么规定矩阵A和矩阵B的乘积是一个m×n矩阵C=(c_{ij})设A=(aij​)是一个m×x矩阵,B=(bij​)是一个s×n矩阵,那么规定矩阵A和矩阵B的乘积是一个m×n矩阵C=(cij​)(a11

2022-04-05 09:13:58 147

原创 快速幂简单理解和模板

快速幂的主要思想就是将指数看做二进制的形式,从低位到高位进行判断,如果这一位是1,那么就要乘上指数的X次方。例如3103101021∗32∗383^{10} \\3^{1010_2} \\1 * 3^2 * 3^8310310102​1∗32∗38C++int ksm(int a, int b, int mod){ int res = 1; while (b) { if (b & 1) res = (res * a) % mod;

2022-04-05 09:03:06 840

原创 面向对象程序设计C#-平时作业

问题1. 简述面向对象程序设计的基本思想。2. 什么是装箱、拆箱?3. 简述C#语言的异常处理机制,分析常见的异常类。4. 简述重载(Overload)、重写(Override)的思想及实现方法。5. 什么是事件、消息?分析其在C# Windows程序设计中的角色。1. 简述面向对象程序设计的基本思想。答:面向对象程序设计的基本思想是将编程时的许多细小功能进行封装处理,对编程中的事物进行模块化处理,更加接近人类认识世界,解决问题的方法与过程。以对象为基本单位,在进行编程的时候更加合理规范,并且便于之后对

2022-04-03 21:07:24 1200 1

原创 P2261 [CQOI2007]余数求和

P2261 [CQOI2007]余数求和题目链接首先这是一道整除分块的题关于整除分块可以参考整除分块(数论分块)。这道题给了n和k两个整数,但是我们要求的是k%i。由于没有给出n与k的相对大小,我们需要分情况来进行判断。首先,如果n>=k我们要先计算i∈[1, n]的情况,这时要采用数论分块,并由他们的整除的值相同来推出这一个区间的公式。k%i=k−⌊ki⌋ires=(r−l+1)k−⌊ki⌋(∑i=lri)res=(r−l+1)k−(r+l)(r−l+1)⌊kl⌋/2k \% i =

2022-04-03 11:57:15 750

原创 整除分块(数论分块)

整除分块众所周知,在int的世界中,除法都是下取整的,那么当一个数除以其他的数的时候,会出现结果相同的情况,在计算有关一个数被一个区间处理的问题中,就可以利用这个性质。例如,求数n分别除以1-n中所有数的和。C++#include <iostream>using namespace std;typedef long long ll;ll n, ans;int main(){ cin >> n; for (int l = 1, r; l <= n; l

2022-04-03 10:59:51 487

原创 费马定理与欧拉定理

费马定理在数论中推理其他结论还是会经常用到了,欧拉定理可以单独出题。欧拉定理其实也算是包含了费马定理,或者说费马定理是欧拉定理中的一种特殊情况。费马小定理设p是素数,a是任意整数且a≡0(mod  p),  则ap−1≡1(mod  p)设p是素数,a是任意整数且a\equiv0(mod\ \ p),\ \ 则\\a^{p-1}\equiv 1 (mod\ \ p)设p是素数,a是任意整数且a≡0(mod  p),&

2022-04-02 21:23:02 1239

卫星导航定位实验二卫星位置计算C++ QT程序

空信卫星导航定位实验二卫星位置计算程序,QT开发,QT版本:6.2.4 可填充默认数据以及错误提示

2022-06-09

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

TA关注的人

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