- 博客(22)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 学习清单
每当我找不到方向的时候我就会来这里看看。真的什么都不会啊!不知道半年能不能完成目标 。动态规划专题 线性DP 背包 计数DP 区间DP 概率DP 期望DP 树形DP 换根DP 凸优化 数位DP 轮廓线DP 斜率优化计算几何 凸包 扫描线 旋转卡壳 半平面交 圆的反演 最小覆盖圆数学 数论 类欧几里得 二次剩余 唯一分解定律 广义欧...
2020-10-27 23:34:05
442
2
原创 外部排序【java 实现】
外部排序是一种把大量无序的数据,按一定的顺序排序的算法。它是一种非常适合处理海量数据的算法,其原理主要有以下几点:首先,将所有要排序的数据分割成若干个较小的子文件,每个子文件只有少量的内存可以容纳,然后分别在每个子文件中进行内部排序,最后再把每个排好序的子文件合并起来即可完成排序。将每个子文件中的数据以某种顺序读取到内存缓冲区中,这个缓冲区的大小要比每个子文件的大小要小,但又大到可以容纳所有数据。
2023-02-19 20:37:42
555
4
原创 java设计模式
设计模式创建型模式创建型模式这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。工厂模式(Factory Pattern)步骤 1创建一个接口:Shape.javapublic interface Shape { void draw();}步骤 2创建实现接口的实体类。Rectangle.javapublic class Rectangle implements
2022-03-22 12:02:48
164
原创 【Day 8】Golang语法学习 ---2022年1月5日
Readerio 包指定了 io.Reader 接口,它表示从数据流的末尾进行读取。Go 标准库包含了该接口的许多实现,包括文件、网络连接、压缩和加密等等。io.Reader 接口有一个 Read 方法:func (T) Read(b []byte) (n int, err error)Read 用数据填充给定的字节切片并返回填充的字节数和错误值。在遇到数据流的结尾时,它会返回一个 io.EOF 错误。示例代码创建了一个 strings.Reader 并以每次 8 字节的速度读取它的输出。r
2022-01-05 14:34:54
352
原创 【Day 7】Golang语法学习 ---2022年1月4日
Stringerfmt 包中定义的 Stringer 是最普遍的接口之一。type Stringer interface { String() string}Stringer 是一个可以用字符串描述自己的类型。fmt 包(还有很多包)都通过此接口来打印值。stringer.gopackage mainimport "fmt"type Person struct { Name string Age int}func (p Person) String() string
2022-01-05 09:43:35
211
原创 【Day 6】Golang语法学习 ---2022年1月1日
接口值接口也是值。它们可以像其它值一样传递。接口值可以用作函数的参数或返回值。在内部,接口值可以看做包含值和具体类型的元组:(value, type)接口值保存了一个具体底层类型的具体值。接口值调用方法时会执行其底层类型的同名方法。interface-value.gopackage mainimport ( "fmt" "math")type I interface { M()}type T struct { S string}func (t *T) M()
2022-01-05 09:41:53
152
原创 【Day 5】Golang语法学习 ---2021/12/31
选择值或指针作为接收者使用指针接收者的原因有二:首先,方法能够修改其接收者指向的值。其次,这样可以避免在每次调用方法时复制该值。若值的类型为大型结构体时,这样做会更加高效。在本例中,Scale 和 Abs 接收者的类型为 *Vertex,即便 Abs 并不需要修改其接收者。通常来说,所有给定类型的方法都应该有值或指针接收者,但并不应该二者混用。(我们会在接下来几页中明白为什么。)methods-with-pointer-receivers.gopackage mainimport ( "
2022-01-01 10:26:32
83
原创 【Day 4】Golang语法学习 ---2021/12/30
range(续)可以将下标或值赋予 _ 来忽略它。for i, _ := range powfor _, value := range pow若你只需要索引,忽略第二个变量即可。for i := range powrange-continued.gopackage mainimport "fmt"func main() { pow := make([]int, 10) for i := range pow { pow[i] = 1 << uint(i) // =
2021-12-30 20:57:59
207
原创 【Day 3】Golang语法学习 ---2021/12/29
切片文法切片文法类似于没有长度的数组文法。这是一个数组文法:[3]bool{true, true, false}下面这样则会创建一个和上面相同的数组,然后构建一个引用了它的切片:[]bool{true, true, false}slice-literals.gopackage mainimport "fmt"func main() { q := []int{2, 3, 5, 7, 11, 13} fmt.Println(q) r := []bool{true, false,
2021-12-29 22:58:44
87
原创 【Day 2】 Golang语法学习 ---2021/12/28
变量var 语句用于声明一个变量列表,跟函数的参数列表一样,类型在最后。就像在这个例子中看到的一样,var 语句可以出现在包或函数级别。variables.gopackage mainimport "fmt"var c, python, java boolfunc main() { var i int fmt.Println(i, c, python, java)}程序结果:0 false false false变量的初始化变量声明可以包含初始值,每个变量对应一个。
2021-12-28 21:03:28
178
原创 【Day 1】TOFEL词汇---2021/12/28
chihuahuan. 吉娃娃nonethelessadv. 尽管如此inconclusiveadj.非决定性的commonplaceadj. 平凡的事 n.常见的事brieflyadv.简要地affluentadv.富裕的concertinan. 六角手风琴predatoryadj. 捕食性的harnessv. 控制,利用sproutv.发芽 n.苗inedibleadj. 不能吃的lizardn. ...
2021-12-28 18:58:35
106
原创 【Day 1】Golang语法学习 ---2021/12/27
程序是在Go 语言指南网站跑的hello,world基本输出hello.gopackage mainimport "fmt"func main(){ fmt.Println("Hello , world!")}程序结果:Hello , world!sandboxsandbox.gopackage mainimport ( "fmt" "time")func main() { fmt.Println("Welcome to the playground!.
2021-12-27 22:39:07
115
原创 第二场周赛赛后题解
不提供代码,赛后自己好好想哈。T1一个一个匹配也行,看能不能匹配到末尾。T2状压dp首先 n个点 n−1次走完,明白这个过程其实是一条链,每个点只有被经过和没被经过两个状态,所以典型状压dp对于状态 i,转成二进制数形式,第 k位对应 0或 1,对应为 1时表示这个点已经被经过,对应 0则表示没有(怎么定义都行,只要逻辑没问题就OK)定义dp数组 f[i][j][k]f[i][j][k]f[i][j][k], i状态表示如上,j表示当前停在 j这个点上, k有0,1,2,30,1,2,30,1
2021-11-21 16:02:08
338
2
原创 考研作文必背作文整理
我会整理自己要背熟的作文,呜呜,考场上要45分钟写两篇作文一篇100词,另一篇200词左右,太为难我这个英语弱鸡QWQ了作文A书信篇Dear sir or madam, Moved by the noble cause of Project Hope and encouraged by what has been achieved so far, I would like to contribute my bit to the project by offering a financial .
2021-11-20 14:47:19
226
原创 禁忌搜索学习笔记
什么是禁忌搜索?禁忌搜索(Tabu Search,TS,又称禁忌搜寻法)是一种现代启发式算法,由美国科罗拉多大学教授Fred Glover在1986年左右提出的,是一个用来跳脱局部最优解的搜索方法。其先创立一个初始化的方案;基于此,算法“移动”到一相邻的方案。经过许多连续的移动过程,提高解的质量。算法简介禁忌(Tabu Search)算法是一种亚启发式(meta-heuristic)随机搜索算法,它从一个初始可行解出发,选择一系列的特定搜索方向(移动)作为试探,选择能够实现让特定的目标函数值变化最多的
2021-05-31 16:58:09
4982
原创 模拟退火学习笔记
什么是模拟退火模拟退火算法(Simulate Anneal,SA)是一种通用概率演算法,用来在一个大的搜寻空间内找寻命题的最优解。模拟退火是由S.Kirkpatrick, C.D.Gelatt和M.P.Vecchi在1983年所发明的。V.Černý在1985年也独立发明此演算法。模拟退火算法是解决TSP问题的有效方法之一。简单说,模拟退火是一种随机化算法。当一个问题的方案数量极大(甚至是无穷的)而且不是一个单峰函数时,我们常使用模拟退火求解。降温实现过程T —— 温度Δx—— 解变动值x
2021-05-31 16:53:14
458
原创 谢谢,有被甜到
P3353 在你窗外闪耀的星星飞逝的的时光不会模糊我对你的记忆。难以相信从我第一次见到你以来已经过去了 3 年。我仍然还生动地记得,3 年前,在美丽的集美中学,从我看到你微笑着走出教室,你将头向后仰,柔和的晚霞照耀着你玫瑰色的脸颊。我明白,我已经沉醉于你了。之后,经过几个月的观察和窥探,你的优雅与智慧,你对待生活的态度和你对未来的愿望深切地在我心中留下了印象。你是迷人的阳光女孩,我总是梦想着与你分享余生。唉,实际上你远远超过了我最疯狂的梦想。我不知道如何桥起我与你之间的鸿沟。所以我没有任何计划,仅仅只是等
2021-05-07 10:52:29
147
原创 java 在算法竞赛的使用
写在前面这是一篇万字长文!!!我发现用java 做复杂算法题的人真的很少很少,其实Java是一门很优秀的语言,利用好Java的特性,java的自带的一些方法(函数)可以帮助我们快速实现一些复杂的复杂的算法。本文适用于具有一定算法基础的c++竞赛选手速成Java,所以里面出现的具体算法模板不会作出解释,希望大家能充分利用网络资源学习算法吧。java 所具有的大整数用法题目案例:求ABmodPA^BmodPABmodP这里还有自带快速幂方法,舒服。用c++自己实现一个大整数结构体挺累的,如果模数不
2021-04-02 01:04:55
750
1
原创 【莞工oj原创题目】蓝桥杯国赛特训---奖学金 【题解】
奖学金抱歉,题目表述有误,导致一些同学读错题目了。但是审核又通过了就改不了题目内容了。抱歉抱歉!输入的内容应该是接下来1−n1 - n1−n行 ,每行有1到m个数1到m个数1到m个数常规解法1:动态规划时间复杂度O(N4)O(N^4)O(N4)一个人时对于单人,一个经典的题目:走方格我们知道的DP做法,f(i,j)=max{f(i,j−1),f(i−1,j)}+a[i][j]f(i,j)=max\{f(i,j-1),f(i-1,j)\}+a[i][j]f(i,j)=max{f(i,j−1)
2020-10-30 23:43:26
2262
4
原创 动态区间第k小【主席树套树状数组 模板】
P2617 Dynamic Rankings我们知道主席树有静态查询第k小的优良性质。对于动态查询我们当然可以暴力修改,但是主席树暴力修改的会卡成屑。所谓动态区间第k小呢,就是支持修改原数组的操作。树状数组权值线段树可持久化线段树(主席树)会静态区间第k小(主席树的解法)请确保以上都熟练才看得懂模板因为这个是核心思想就是利用树状数组前缀和的性质与主席树的求静态区间第k小注意:主席树的是离线操作的,还有就是原数组要进行离散化,所以我们是需要询问保存下来的。#include<b.
2020-10-29 18:30:55
285
原创 《算法分析与设计》实验一到六
实验一 归并排序求逆序对原理:归并排序是采用分治的方法,均摊了每一段的时间复杂度时间复杂度为O(nlogn)O(nlogn)O(nlogn),空间复杂度为O(n)O(n)O(n)原理在装进新数组的时候记录逆序对的个数比如当a[i]>a[j]a[i]>a[j]a[i]>a[j] 分界点为midmidmid 那么这一段的逆序对数量为mid−i+1mid-i+1mid−i+1结果:#include<bits/stdc++.h>using namespace std;
2020-10-02 18:53:07
807
2
原创 《算法与数据结构实践专题》 任务书及题目汇总【醒目】【业界良心】
写在前面:数据结构什么的早就不是问题,就当自己巩固一下基础吧,也防止后期同学们一个一个细节问啊问,本来就要求写一个就好了,鬼知道我的学号对应的是最简单的,无趣,那么还是全部做一遍吧,仅供参考呀,不要抄袭啊QWQ。全部代码都在GNU 9.0通过。 还有本人代码偏竞赛风格:能简单绝不繁。看不懂不要打我啊!一、实践专题目的熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。二、实践专题要求在本次实践专题过程中要求学生:(1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一
2020-06-15 15:35:30
2875
2
heapsort.cpp
2019-10-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人