自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 问答 (1)
  • 收藏
  • 关注

原创 C++各种数值字符串转换

CString 转 intint CStringToInt(CString CStr){ int res = 0; #ifdef _UNICODE res = _wtoi(CStr); #else res = atoi(CStr); #endif return res;}CString转Doubledouble CStringToDouble(CString CStr){ double res = 0; res = _ttof(CStr); return res;

2021-06-18 10:38:56 178

原创 Go之时间

Go中将字符串转换为时间package mainimport ( "fmt" "time")func main() { loc, _ := time.LoadLocation("Local") //设定时区 const layout = "2006-01-02" //设定模板 str := "2012-05-27" //需要转换的日期 t, _ := time.Pars.

2021-05-27 10:30:34 72

原创 Go语言六之Map

前言:众所周知,在C++中我们有map,用来存储键值对那么在Go中同样也有类似的结构map其应用基本一致如何定义map?var 集合名 map[键类型]值类型 = make(map[键类型]值类型)Example:package mainimport "fmt"func main() { var Map map[string]string = make(map[string]string) Map["小明"] = "Blue" Map["小红"] = "Red" for

2021-05-20 17:57:16 93

原创 Go语言五之切片

Go语言的slice有点类似于C++的vector都是动态数组slice的定义例子:package mainimport "fmt"func main() { //定义切片不初始化 //slice1 = [] var slice1 []int fmt.Println(slice1) //用make函数 初始化切片 //长度为3 最大容量为10(一般不指定因为没必要) //slice2 = [0,0,0] var slice2 = make([]int, 3, 10) fmt

2021-05-20 13:52:31 58

原创 Go语言四之结构体

结构体定义:type 结构体名 struct{变量名1 变量类型1变量名2 变量类型2…}结构体初始化结构体名{值1,值2,…}结构体名{变量名1:值1,变量名2:值2,…}package mainimport "fmt"type Student struct { name string id int sex bool}func main() { a := Student{"小明", 123, true} fmt.Println(a) fmt.

2021-05-20 11:07:47 65

原创 Go语言三之数组

数组定义:var 数组名 [数组大小] 元素类型package mainimport "fmt"func main() { var a [10]int for i := 0; i < 10; i++ { a[i] = i } for i := 0; i < 10; i++ { fmt.Println("a[", i, "]=", a[i]) }}数组初始化:package mainimport "fmt"func main() { //数组初

2021-05-20 10:51:53 83

原创 Go语言二之常用数据类型及变量定义

Go语言数据类型:布尔型 bool数字型 int、float32、float64字符串型 string派生类型 指针 *intGo语言变量声明格式:指定变量的类型var 变量名 数据类型var(变量名1 数据类型1变量名2 数据类型2…)//1. 包声明package main//2. 引入包import "fmt"//3. 全局变量var ( bo bool n int a float32 b float64 str string

2021-05-20 10:29:05 118

原创 Go语言一之Hello World

Go语言的基本结构是:包声明引入包全局变量(可选)函数(主函数 + 自定义函数)Hello.go//1. 包声明package main//2. 引入包import "fmt"//3. 主函数 + 自定义函数func main() { fmt.Println("hello world")}...

2021-05-20 10:11:06 51

原创 MFC之CString的使用

#include <iostream>#include <string>#include <cstring>#include <atlstr.h>using namespace std;int main(){ CString cstr(_T("WWW.Baidu.com")); //常量字符串初始化 CString cstr1(cstr); //用CString对象初始化 CString cstr2(_T("www.asd.com"),7);

2021-05-13 14:04:27 200

原创 C++知识三之Web编程

配置本地Web服务器(Win10)

2021-05-12 17:45:44 505 1

原创 C++知识二之时间&日期

首先需要知道几个函数,这几个函数的头文件是<ctime> <ctime><ctime>time_t time(time_t *time);该函数返回系统的当前日历时间,自 1970 年 1 月 1 日以来经过的秒数。如果系统没有时间,则返回 -1。char *ctime(const time_t *time);该返回一个表示当地时间的字符串指针,字符串形式 day month year hours:minutes:seconds year\n\0

2021-04-22 10:11:05 154

原创 C++知识一之try-throw-catch异常处理

了解C++异常处理我们需要思考以下问题:为什么需要异常处理?不进行异常处理可能会导致代码出现异常但是难以调试难以察觉,严重的可能会造成程序无法运行或者出现崩溃的情况。常见的异常有哪些?数组越界除0数据溢出无效参数…如何进行异常处理?使用C++提供的异常处理机制,涉及到三个关键字:try、catch、throw。关键字try:放置可能出现异常的代码throw:抛出一个异常catch:捕获抛出的异常,中止执行出现异常的代码,转而执行catch中的代码(一般是

2021-04-21 11:43:49 248

原创 C#语言基础六之正则表达式

正则表达式的语法和概念:正则表达式教程C#中有封装好的方法直接使用举例:待匹配字符串:“1851 1234 1950 1911 1922 00123”正则表达式:"(?<=19)\d{2}\b"预期功能:匹配跟随在”19“后面的两位数字代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;us

2021-04-16 16:58:22 70

原创 C#语言基础五之try-catch-finally处理异常

try:尝试执行try中的代码,如果出现异常会停止执行跳转到catch中catch:处理异常 反馈异常的问题 可以自行定义反馈’finally:无论是否出现异常都会执行finally的代码举例:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Test{ class Program.

2021-04-16 16:00:39 294

原创 C#语言基础四之函数

C#中的函数声明和实现一般是在类中主函数外举例说明:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Test{ class Program { //用public static 关键字修饰 //无返回值无参数 public static void Show() { Cons

2021-04-16 15:46:13 94

原创 C#语言基础三之数组

C#中定义数组的方法:一维数组int[] d = new int[] {1,2,3,4,5,6};int[] d = {1,2,3,4,5,6};string[] s = new string[] {"Mike", "Linda"};string[] s = {"Mike", "Linda"};二维数组int[,] a = new int[3,3]; //3行3列string[,] b = new string[2,2]; //2行2列交叉数组//数组第一行有三列,第二

2021-04-16 14:51:23 79

原创 C#语言基础二之循环

C#中定义数组的方法:一维数组int[] d = new int[] {1,2,3,4,5,6};int[] d = {1,2,3,4,5,6};string[] s = new string[] {"Mike", "Linda"};string[] s = {"Mike", "Linda"};二维数组int[,] a = new int[3,3]; //3行3列string[,] b = new string[2,2]; //2行2列交叉数组//数组第一行有三列,第二

2021-04-16 14:49:36 64

原创 C#语言基础一之Hello World

C# —— Csharp背景:微软专为.NET(.dotnet)推出的高级编程语言Unity借助Mono实现跨平台,核心是.NET Framework框架,底层还是C++C#第一个程序打印Hello World过程:.cs文件 => 编译生成.exe文件using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;

2021-04-16 13:57:47 144

原创 C++ namespace 名字空间

C++和C的一大重要区别就是,C++允许出现同名函数、类、变量,原因在于C++有namespace,即名字空间,在不同的名字空间下可以存在同名的函数、类、变量,它们互不影响。而C却不允许。举例说明:#include <iostream>#include <tchar.h>#include <algorithm>namespace name_1{ const char* name = "小明"; int a = 1;}namespace name_2

2021-04-16 10:49:23 150

原创 MFC常见基础概念

MFC全称Microsoft Foundation Classes,也就是微软基础类库Windows SDK(Software Development Kit,软件开发工具包)MSDN是帮助文档MFC程序的三种类型:MFC ActiveX Control用来生成MFC ActiveX控件程序MFC Application用来生成MFC应用程序MFC DLL用来生成MFC动态链接库程序...

2021-04-16 09:46:18 136

原创 #pragma once的作用

在用vs新建一个项目时,经常会发现在初始的头文件的代码中有这么一行(一般是第一行)#pragma once它的作用是避免接下来出现的include的头文件被包含多次,提高了编译的效率

2021-03-26 17:52:00 204

原创 ACM笔记之搜索

数独问题AcWing 166. 数独#include<bits/stdc++.h>using namespace std;char s[100];char str[10][10];int r[10],c[10],g[10]; //每一行每一列每个九宫格的状态int cnt[512],num[512]; //数的二进制有多少个1,数的log值是多少int tot; //统计'.'的数目inline int change(int x,int y,int p) //将第x行y列的数

2020-10-21 14:07:38 82

原创 ACM笔记之贪心

区间最大点覆盖问题Q:给定n个区间和m个点,一个点最多只能使用一次,询问最多有多少个区间可以被点覆盖到?A:首先按照区间左端点从小到大排序,点也按照从小到大排序,反向枚举每个区间,在此基础上再反向枚举点,如果这个点在区间中,那么答案加1,统计完就是最终答案。例如:Acwing 110#include<bits/stdc++.h>using namespace std;const int N = 2505;typedef pair<int,int> PII;PII

2020-10-20 20:51:23 81

原创 ACM笔记之高精度

高精度加法const int N = 1e5 + 5;int a[N],b[N],c[N]; ///数组是按照低位在前的原则存,如123数组存的是321void add(int *a,int *b){ memset(c,0,sizeof c); int i,j; for(j = N-1; j > 0; --j) if(a[j] || b[j]) break; for(i = 0; i <= j ; ++ i) { c[i] += a

2020-10-07 20:50:44 308

原创 ACM笔记之数据结构

数据结构线段树扫描线线段树区间修改,区间查询的线段树模板(查询区间最值)#include<bits/stdc++.h>using namespace std;const int N = 1e5 + 5;#define int long longint n,m;int a[N];struct Node{ int l,r; int sum,add;}tr[N*4];void pushup(int u){ tr[u].sum = tr[u <&

2020-10-07 20:05:53 68

原创 ACM笔记之字符串

朝花夕拾KMP(单个模式串匹配)KMP(单个模式串匹配)Q:什么是KMP?A:KMP算法是一种改进的字符串匹配算法,具体实现就是通过一个前缀数组next()函数实现,函数本身包含了模式串的局部匹配信息。KMP算法的时间复杂度O(m+n)。对于一个字符串s1s2s3...sns1s2s3...sns1s2s3...sn设 next[i]=jnext[i] = jnext[i]=j,那么有 [s1−−>sj]=[si−j+1−−>si](i−j+1>1)[s1-->sj]

2020-10-06 11:30:06 106

原创 某大学生的 Qt 入门之路

Qt学习Qt是一个跨平台的GUI应用程序框架Qt窗口类主要有三个基类:QMainWindow 带菜单栏的窗口QWidget 不带菜单栏的窗口QDialog 对话框常用的是窗口类QWidget常用操作:指定父对象对于创建出来的两个窗口,如果不指定父对象,那么这两个窗口是互相独立存在的,指定后子窗口就包含于父窗口中比如指定 a 为 b 的父对象,即a为父窗口,b为子窗口,那么在显示的时候只要a.show()就可以显示主窗口和它的所有儿子窗口有两种方式实现:在定义的时候通过构造函

2020-10-01 20:38:12 442

原创 均分纸牌和环形均分纸牌问题

均分纸牌条形均分纸牌环形均分纸牌条形均分纸牌题目大意:给定n堆纸牌,每一堆的纸牌个数为ai,你可以从一堆中取出一张纸牌放到其前一堆(ai = ai-1 , ai-1 = ai-1+1)或者放到其后一堆(ai = ai-1, ai+1 = ai+1 +1),询问最少的操作次数使得纸牌均分?思路:设 sum = a数组的总和1.首先判断无解的情况,sum不能被n整除,即sum%n != 02.有解的情况,即sum%n == 0,设m = sum/n那么我们的目标就是a1,a2,a3 ... a

2020-09-10 19:31:18 528

原创 Educational Codeforces Round 93 (Rated for Div. 2)

这里写目录标题C. Good Subarrays二级目录三级目录C. Good Subarrays题意:给定一个长度为n的数组a,定义good subarray:一个子数组的元素之和等于这个子数组的长度,求数组a的所有子数组中good subarray的个数思路:1.首先考虑暴力枚举子数组,先求出数组的前缀和f,而一个子数组ai,ai+1,…aj的数组元素之和为f[j] - f[i-1],即∑ija=f[j]−f[i−1]\sum_i^ja = f[j] -f[i-1]i∑j​a=f[j]−f[i

2020-08-15 10:07:33 160

原创 AC自动机专题总结

AC自动机专题总结(2020.8.6~2020.8.13)个人对AC自动机的理解:利用字典树构建fail指针,并维护一些字符串的末尾节点的标记的一种字符串方面的算法,题目经常和dp结合。题目AC自动机专题总结(2020.8.6~2020.8.13)ac自动机(模板题)ac自动机(和搜索,矩阵快速幂结合的)ac自动机(和dp结合的)ac自动机(模板题)HDU2222题目大意:给定N个模式串和一个文本串,询问在文本串中有多少模式串出现。思路:模板题细节及注释见代码#include<bits/

2020-08-13 16:52:28 233

空空如也

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

TA关注的人

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