自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Error: Cannot find module “.“ at webpackMissingModule (IndexPage.vue?d485:138) at VueCompone

因为require它是打包工具所需要的标识,你搞成运行时通过变量去定义的话,它就没办法打包了啊,

2024-03-19 23:37:28 354

原创 Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type ‘application/x-ww

1、前端axios请求设置如下,将请求头的content-type设置成“application/json”

2024-03-18 20:01:58 410 1

原创 Transformer代码实现笔记

这个小例子是基于pytorch以及Transformer模型实现的机器翻译案例。先简单介绍 一下,这里并没有用什么大型的数据集,而是手动输入了两对德语->英语的句子,这里主要是为了突出模型实现本身。数据预处理Positional Embedding实现Mask实现根据Q,K和V计算出注意力以及加权求和后的值(点积运算封装)Multi-Head Attention实现Feed Forward实现一个Encoder Layer实现Encoder实现。

2023-10-08 17:20:00 189

原创 Transformer笔记

Transformer模型笔记Encoder-Decoder架构Attention模型Attention的原理Attention机制的本质思想Attention优缺点Self-Attention模型Transformer原理Transformer整体结构Transformer的inputs输入Transformer的EncoderTransformer的DecoderTransformer Decoder的输入基于Encoder-Decoder的Multi-Head Attention。

2023-10-08 17:17:42 86

原创 Python深度学习-基于pytorch-2

在训练模型过程中,经常会出现刚开始训练时,训练和测试精度不高(或损失值较大),然后通过增加迭代次数或通过优化,训练精度和测试精度继续提升,如果出现这种情况,当然最好。现在,如果要最小化这个新的损失函数,应要让,和04尽可能的小。因为如果你在原有损失函数的基础上加上10000乘以,这一项,那么这个新的损失函数将变得很大,所以,当要最小化这个新的损失函数时,将使。,该模块提供了常用的初始化策略,如xavier、kaiming等经典初始化策略,使用这些初始化策略有利于激活值的分布呈现出更有广度或更贴近正态分布。

2022-10-17 21:22:11 1450 1

原创 Python深度学习-基于pytorch-1

Python深度学习

2022-10-11 21:43:16 830

原创 遗传算法 python实现

遗传算法 python实现求解函数 f(x) = x + 10sin(5x) + 7cos(4x) 在区间[0, 9] 的最大值;import mathimport randomclass GA(): #initalise def __init__(self, length, count): #length of chromosome self.length = length #number of chromosome self

2021-07-14 11:53:36 285

原创 牛客练习赛79

牛客练习赛79A 炼金术师题目简述:两个人分别对一个数组进行填数 第一个人第i次填的颜色为i区间为[0,ai]。进行n次填充,而第二个人对另一个数组进行填色,他可以选择[1,n][1,n]中的任意一种颜色,以及任意的一个右端点rr,将该画布的[0,r][0,r]区间染成此次选择的颜色。求第二个人最少最少次可以将数组变成第一个人一样。题目分析:因为第一个人(此后成为甲)染色有后面的覆盖前面的颜色,所以我们可以用一个栈来模拟这道题目,如果栈顶的数小于将要入栈的数,那么意味着后面的数会覆盖前面染过的区

2021-03-27 10:32:39 162

原创 图论 单源最短路径问题 Dijkstra算法

#include<bits/stdc++.h>using namespace std;typedef long long ll;//const int N=20;const int mod=9901;const int INF=1000000;#define forn(i,a,b) for(int i=a;i<b;i++)//*****************************************************************const in

2020-12-10 19:33:43 77

原创 快乘与快速幂

快乘与快速幂#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=20;const int mod=9901;#define forn(i,a,b) for(int i=a;i<b;i++)//*****************************************************************//int a[10000000];ll qui

2020-11-30 16:28:58 59

原创 ST算法(求区间最值问题)

给定一个长度为N的序列A,ST算法能在 O(NlogN)时间的预处理后,以O(1)的时间复杂度在线回答“数列A中下标在 l ~ r 之间的数的最大值是多少”这样的区间最值问题。 一个序列的子区间个数显然有 O(N^2)个,根据倍增思想,我们首先在这个规模为O(N^2)的状态空间里选择一些 2 的整数次幂的位置作为代表值。 设 F[i , j] 表示数列 A 中下标在子区间 [i, i + 2^j -1] 里的数的最大值,也就是从 i 开始的 2^j 个数的最大值。递推边界显然是 F[i, 0

2020-11-01 22:00:01 240

原创 c++中读入一行字符创的方法

读入一行字符串,以回车键结束读入有两种方法,如下:方法一:getline()读入整行数据,它使用回车键输入的换行符来确定输入结尾。调用方法: cin.getline(str, len);第一个参数str是用来存储输入行的数组名称,第二个参数len是要读取的字符数。 1 #include <iostream> 2 using namespace std; 3 4 int main() 5 { 6 char str[30]; 7 cin.getline(s

2020-10-30 09:27:04 246

原创 模板

数论素数的判定

2020-10-28 22:15:55 79

原创 高效判断素数

高效判断是否为素数在大于4的所有整数中,都可以将其表示为6n-1,6n,6n+1,6n+2,6n+3,6n+4;分析如下:6n 与 6n+2 与 6n+4 都可以被2整除所以不可能是素数那么素数只能出现在6n-1与6n+1中int judge_prime(int n){ if(n==1 || n==4) return false; if(n==2 || n==3) return true; if(n%6!=1 || n%6!=5) return false; for(int i=5

2020-10-28 22:08:26 121

原创 卡特兰数

卡特兰数卡特兰数又称卡塔兰数,是组合数学中一个常出现在各种计数问题中出现的数列。由以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名。卡特兰公式的应用很广泛,最典型的四种应用问题现描述如下:此数的递归公式为 h(n ) = h(n-1)(4n-2) / (n+1)。令h(1)=1,h(0)=1卡特兰数的应用  实质上都是递归等式的应用括号化  矩阵链乘: P=a1×a2×a3×……×an,依据乘法结合律,不改变其顺序,只用括号表示成对的乘积,试问有几种括号化的方案?(h(n)种)

2020-09-29 20:07:20 78

原创 前缀和 差分

对于一个数列A,他的差分数列B定义为:    B[1] = A[1] ,B[i] = A[i] - A[i-1] ( 2<=i<=n)  容易发现,“前缀和” 和 “差分” 是一对互逆运算,差分序列B的前缀和序列就是原序列A,前缀和序列S的差分序列也是原序列A。  把序列A的区间 [l,r] 加上 d(即把 Al,Al+1……Ar 都加上 d),其差分序列 B 的变化为 Bl 加 d,Br+1 减 d,其余位置不变。  列如数列 1 3 6 3 9 10 20,让位置在[2,5]范围内加

2020-09-17 20:18:45 88

原创 c++ fixed setprecision()

c++,fixed,setprecision(),setw()fixed固定的意思,在cout时,强制的把float类型和double类型输出小数,而不是科学计数法的形式。setprecision(),设置输出的小数的小数点后显示几位,比如setprecision(2)表示小数点后显示两位。cout<<fixed<<setprecision(保留的位数)<<要输出的数字;...

2020-09-15 16:50:03 5282 1

原创 负数的二进制表示

负数的二进制的表示例如:-5 在计算机中是如何表示的呢在计算机中整数是直接用原码表示,例如单字节5,在计算机中就表示为:0000 0101。负数以其正值的补码形式表示,如单字节-5,在计算机中表示为1111 1011。就是正数安位取反后再加一...

2020-09-13 15:58:59 163

原创 并查集学习笔记

并查集:并查集适用于不相交的集合问题题目链接#include <bits/stdc++.h>using namespace std;int a[10000];int find_set(int x){ if(x!=a[x]) find_set(a[x]); else return x;}void union_set(int x,int y)//合并并查集{ x=find_set(a[x]); y=find_se

2020-09-04 16:21:47 82

原创 2020年暑假算法笔记

2020年暑假算法笔记2020年7月11日:map 相关用法Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一 种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处。1、map简介map是一

2020-09-03 15:38:30 384 1

原创 康拖展开式+逆康拖展开式

康拓展开式:康托展开是一个全排列到一个自然数的双射,常用于构建哈希表时的空间压缩,在组合数学中,其解决的是当前排列在全排列中的名次问题。简单来说,给定一个 n 位数的全排列,可根据康托展开公式确定其应是字典序中的第几个排列。由于康托展开计算的是某个全排列方式在该全排列集合中的字典序,其映射关系是唯一的,而且单调,因此映射关系是可逆的,故而当给定一个全排列的所有字符,以及某个字典序编号,可以利用逆康托展开得到相应的那个全排列。总而言之就是求出该排列在全排列中排第几;计算公式:其中a[ i ] 表示的

2020-09-03 15:36:48 243

原创 线段树学习笔记

线段树:线段树其实是一个二叉搜索树,它存储的是一个区间的信息每个节点以结构体的方式存储结构体包括区间的左右端点外加区间和其它看情况加区间要维护的信息线段树的基本思想是二分特殊性质有:每个节点的左孩子的区间范围确定对于节点k,左孩子节点为2k,右孩子为2k+1,这符合完全二叉树的性质线段树的基本操作:建树,单点查询,单点修改,区间查询,区间修改1.建树struct node{ int l,,t; int sum;//l,r分别表示区间左右端点 sum表示区间和}tr

2020-09-03 10:30:19 63

转载 树状数组笔记

树状数组是对一个数组改变某个元素和求和比较实用的数据结构。两中操作都是O(logn)。传统数组(共n个元素)的元素修改和连续元素求和的复杂度分别为O(1)和O(n)。树状数组通过将线性结构转换成伪树状结构(线性结构只能逐个扫描元素,而树状结构可以实现跳跃式扫描),使得修改和求和复杂度均为O(lgn),大大提高了整体效率。给定序列(数列)A,我们设一个数组C满足C[i] = A[i–2^k+ 1] + … + A[i]其中,k为i在二进制下末尾0的个数,i从1开始算!则我们称C为树状数组。下面的问

2020-09-02 16:09:53 89

原创 A除以B (20)

A除以B (20)时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小)题目描述本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。输入描述:输入在1行中依次给出A和B,中间以1空格分隔。输出描述:在1行中依次输出Q和R,中间以1空格分隔。输入例子:123456789050987654321 7输出例子:17636684150141093

2020-09-02 13:16:56 133

原创 大数求余数 和 大数求商

大数求余数核心算法while(k) { res=res*10+a[i]; res=res%7; k--; }大数求商大数求余数和大数求商都在这里面for(int i=1;i<len;i++){ t=(temp*10+s[i]-'0')/a; cout<<t;//t为商,逐个输出 temp=(temp*10+s[i]-'0')%a

2020-09-02 13:11:12 205 1

原创 数论2 GCD + LCM

数论2:同余 + GCD + LCM带模运算的性质:(a + b) % p = (a % p + b % p)%p(a - b) % p = (a % p - b % p) % p(a * b) % p = (a % p * b % p )%p(a ^ b) % p =((a % p) ^ b)% p整数分除例题:余数求和

2020-08-26 16:44:54 83

原创 数论1 素数+约数+反素数

数论1 素数+约数+反素数素数:素数是指只能被自身整除和被1整除的数(大于1的自然数,1不是素数)不是素数的数为合数常见的题型有:素数的判定+素数的筛选两种题型素数的判定:试除法(如果n不能被【0,根号n】内的所有数整除,那么就为素数)加速技巧:>4的素数总是会被 6x+1 或 6x-1整除素数的筛选:素数埃氏塞法(复杂度:n* log log n,素数分布:x/ln x)代码略(不断塞出素数的倍数)线性塞法(欧拉塞法)(复杂度 n) 常用const int N

2020-08-26 11:37:07 182

原创 筛选法求素数

筛选法求素数#include <cstdio>#include <iostream>#include <cstring>using namespace std;int a[100000];void prime()//求1~100000内的素数{ a[1]=0;//1不是素数 for(int i=2;i<100000;i++) { if(a[i]==1) { for(int

2020-08-21 20:02:59 102

原创 数位dp

数位dp数位dp是一种计数用的dp,一般就是要统计一个区间[le,ri]内满足一些条件数的个数。所谓数位dp,字面意思就是在数位上进行dp咯。数位还算是比较好听的名字,数位的含义:一个数有个位、十位、百位、千位…数的每一位就是数位啦!之所以要引入数位的概念完全就是为了dp。数位dp的实质就是换一种暴力枚举的方式,使得新的枚举方式满足dp的性质,然后记忆化就可以了。新的枚举:控制上界枚举,从最高位开始往下枚举,例如:ri=213,那么我们从百位开始枚举:百位可能的情况有0,1,2(觉得这里枚举0有问题的

2020-08-21 17:08:30 199

原创 kmp

kmp算法笔记一般匹配字符串时,我们从目标字符串str(假设长度为n)的第一个下标选取和ptr长度(长度为m)一样的子字符串进行比较,如果一样,就返回开始处的下标值,不一样,选取str下一个下标,同样选取长度为n的字符串进行比较,直到str的末尾(实际比较时,下标移动到n-m)。这样的时间复杂度是O(n*m)。ababaca这里我们要计算一个长度为m的转移函数next。next数组的含义就是一个固定字符串的最长前缀和最长后缀相同的长度。比如:abcjkdabc,那么这个数组的最长前缀和最长后缀相同

2020-08-20 22:36:29 263

原创 位运算

位运算位运算就是计算机用二进制来与计算,并不需要我们自己将该数转换成二进制位运算基础:& 按位与| 按位或^ 按位异或~ 取反<< 左移用来将一个数的各二进制位全部左移N位,右补0右移将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数, 高位补0奇技淫巧应用一 用O(1)时间检测整数n是否是2的幂次.思路解析:N如果是2的幂次,则N满足两个条件。N>0N的二进制表示中只有一个1一位N的二进制表

2020-08-19 15:27:13 69

原创 字典树

字典树字典树应用于:节省大量空间存储单词或字符串,并可以实现快速查找字典树利用树形结构存储单词(第一个字母放在第一层,第二个放在第二层以此类推)字典树与字典很相似,当你要查一个单词是不是在字典树中,首先看单词的第一个字母是不是在字典的第一层,如果不在,说明字典树里没有该单词,如果在就在该字母的孩子节点里找是不是有单词的第二个字母,没有说明没有该单词,有的话用同样的方法继续查找.字典树不仅可以用来储存字母,也可以储存数字等其它数据*/字典树有模板的,主要操作包括创建和删除,要牢记字典树有两种实现

2020-08-18 17:00:08 59

原创 BFS笔记

BFS相关内容笔记Poj 6264:走出迷宫题目链接当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会变得非常简单。假设你已经得到了一个n*m的迷宫的图纸,请你找出从起点到出口的最短路。输入第一行是两个整数n和m(1<=n,m<=100),表示迷宫的行数和列数。接下来n行,每行一个长为m的字符串,表示整个迷宫的布局。字符’.‘...

2020-07-11 22:42:50 187

原创 Hdu 1213"How ManyTables"

Hdu 1213"How ManyTables"这题可以用并查集进行解题。那并查集为:#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=1050;int s[maxn];void init_set(){ for(int i=1;i<=maxn;...

2019-12-15 20:10:31 106 1

原创 hdu1061 快速幂取模

**Rightmost Digit**Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 82115 Accepted Submissi...

2019-11-25 17:09:55 124

原创 hdu2094

产生冠军Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 27746 Accepted Submission(s): 12479Problem Description有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比...

2019-11-17 09:55:24 94

原创 含结构体排序

03:成绩排序查看 提交 统计 提问总时间限制: 1000ms 内存限制: 65536kB描述给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。输入第一行为n (0 < n < 20),表示班里的学生数目;接下来的n行,每行为每个学生的名字和他的成绩, 中间用单个空格隔开。名字只包含字母且长度不超过20,成绩为一个不大于10...

2019-11-17 09:52:16 155

空空如也

空空如也

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

TA关注的人

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