自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Tips-nan

在与数学相关的几个函数中应该注意数学定律出现nannannan的情况可能由以下原因造成1。是否出现了某数被000除的情况2。是否出现了asin(x),acos(x),atan(x)asin(x),acos(x),atan(x)asin(x),acos(x),atan(x)超出范围的情况...

2021-05-01 18:22:43 70

原创 数学-Zeller函数求日期

int getid(int y,int m,int d){ if(m<3) { y--; m+=12; } return 365*y+y/4-y/100+y/400+(153*(m-3)+2)/5+d-307;}vector<int> date(int id){ int x=id+1789995,n,i,j,y,m,d; n=4*x/146097; x-=(146097*n+

2021-05-01 16:41:59 419

原创 日志3

事件时间修改把11:00至12:00的一小时德语学习事件分散到一天的碎片化时间定额目标任务 每日300pts把10:30至11:00的英语单词任务分散到每天碎片化时间定额目标任务 完成每日任务把每天18:00至20:30的机房训练时间 延长至11:30场地由机房延伸至寝室(谁让我开通了校园网呢)新事件时间安排 or 指标英语奥赛练习册4月15号前完成英语真题训练向前推进到4月20号Cubase的学习开始于本周末四月大事件4.24 英语能力竞赛4.30 计算机设.

2021-04-08 12:42:45 88

原创 20210407记

虽然对哈尔滨的春天没有过太多期待,但是今天突如其来的降温确实是在意料之外,对与一个南方人来说,最冷的冬天莫过于湿气还很重的冬天往常的哈尔滨春天是不应该冷的,到了五月份就是雪全部化掉的日子了,那时候情况可能会好转起来,至少到目前为止,那些还在烈日下挣扎着的雪堆,确确实实让空气冷了不少,也算是物理上的不大好的地方吧。不过倒是让我想起来清明节在学校垃圾场的遭遇了,虽然一开始并不打算往垃圾场走,但又有谁能事先想到,一个好端端的大学校园里,居然还有个偌大的,处理不周的垃圾场。原本只是想趁着阳光好四处转转,毕竟也

2021-04-07 14:39:05 110 3

原创 Tips-string&transform

不常用但是不能不知道string大小写转换

2021-04-07 13:36:28 58

原创 数论-素数筛

素数判定的方法:素数的定义:只含有1和它本身两个因子的数称之为素数,1除外——《数学女孩》(图灵新知)第一种: O(n^2) 我愿称之为朴素做法从素数的定义我们很容易得到下列的做法 for i 2 to n-1 if n/i==0 为合数 否则为素数一个简单的常数优化: 既除2以外,只需判断所有的奇数是否是素数因为显而易见2是合数 那么所有2的倍数也必然是合数第二种:O(n^1/2)一个更加高效的优化对正整数n,如果用2到sqrt(n)之间的所有整数除均

2021-04-01 22:40:33 80

原创 日志2

前两天计算机二级考试,学校机房被占用了,自己的电脑也出了问题,编写程序的日程训练没有得到实现,空闲了两天(其实也不能算空闲,至少有在马不停蹄的学习诸如英语和高等数学这种课内课程)不过这两天远离学校机房和电脑的时间,也让我有时间慢下来去思考一些其他的问题,比如说之前梦想的可实现性之类的,真是个古怪的人,总是喜欢写天马行空的想法,不过好在终究也还是有收获的,比如对未来的方向和学校有了更清晰的认识,至少我现在不想着去UCL那种顶级又昂贵的学府了,可能德意志的大学更加适合我,在那里的学习可能也更偏向工科吧。说的

2021-03-29 20:34:02 65

原创 Tips-struct

大部分情况下 struct 都可以直接用std::pair 来搞定但是个人觉得有时候结构体struct反而更好用一点偶然情况下看到的一种写法 感觉还不错 先记录一下 万一哪天有用或者觉得无用了 再说struct edge{ int to ,w; edge(int x,int y) { this->x=to; this->y=w; }};...

2021-03-25 17:38:32 40

原创 日志1

虽然之前有对自己现在的处境和状况有所认识和了解,也知道未来一段时间应该做什么,但实际上落到实处的功夫还是太少,感觉假努力的成分不少,每天虽然是在做题和学习新的算法,但自己感觉带来的改变和进步微乎其微,可能是身处这样一个大环境的原因吧。不对,这算是在给自己找借口了,实际上还是自身的因素占比最大,稍微有点进步就会洋洋得意或怎样,有时候一个人真的挺迷茫的,明明知道自己该干什么,怎样去做,但实际上收益却是微乎其微的,这也是为什么到了现在这个时间点,自己还是一事无成,兴趣爱好太广泛,没有专精,没有恒心和毅力去坚持下

2021-03-24 19:14:22 72 1

原创 图论-匈牙利算法

本博客写作思路和代码来自知乎-算法学习笔记5匈牙利算法匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名。匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法简单来讲就是求二分图最大匹配int M,N;const int maxn=1e3+5;int Map[maxn][maxn];int p[maxn];//记录当前一侧对应的另一侧节点bool vis[maxn];//vi.

2021-03-24 19:04:39 201

原创 图论-图的存储

图的存储从这里查看更详细的教程图片和部分思路来源于 算法学习笔记(3)存图最简单朴素的存储方式:通过二维数组实现图的存储若点 i 与点 j有连接则graph[i][j]=1int graph[100][100];int main(){ int u,v; cin>>u>>v; gragp[u][v]=1; //graph[v][u]=1; 无向图 }对带有有权重的图 只需要将1改为存储权重w即可int graph[100][100];in

2021-03-24 18:44:36 220

原创 数学-快速幂与矩阵快速幂

快速幂二进制取幂的想法是,我们将取幂的任务按照指数的 二进制表示 来分割成更小的任务快速幂的递归版本long long fastpower(long long a, long long b) { if (!b) return 1; long long res = fastpower(a, b / 2);//递归调用; if (b % 2) return res * res * a; else return res * res;}while循环版本 相对

2021-03-21 16:45:38 103

原创 Tips-memset

使用memset进行数组的初始化应当注意 memset按照1字节为单位对内存进行填充-1的每一位二进制位都是1 ,所以可以像0一样用memset进行初始化 但是注意memset不能讲数组初始化成1之类的数值简单来讲就是一般使用memset初始化为0或者-1 其他的尽量使用for循环初始化具体可以看这里 戳我传送...

2021-03-19 19:46:15 53

原创 HDU2087

分析:依旧是个KMP板子AC代码:#include<cstdio>#include<iostream>#include<vector>#include<cstring>#include<string>using namespace std;void pmt(vector<int>&pi,string &b){ int n=b.size(); pi.resize(n); fo..

2021-03-01 18:22:02 71

原创 HDU1686

分析:KMP统计模式串出现次数AC代码#include<cstdio>#include<iostream>#include<vector>#include<cstring>#include<string>using namespace std;void pmt(vector<int>&pi,string &b){ int n=b.size(); pi.resize(n); ..

2021-03-01 17:59:23 72

原创 HDU1711

分析:简单的KMP查询第一次出现位置坑到自己的地方:!!!应该开一个int数组 而非char数组!!!!AC代码:#include <iostream>#include<cstdio>#include<cstring>#include<vector>using namespace std;int a[1000005],b[100005];int n,m;void pmt(vector<int>&pi){ ..

2021-03-01 17:01:43 90

原创 数论-乘法逆元

乘法逆元求解乘法逆元的方法扩展欧几里得算法pair<int,int> exgcd(int a,int b){ if(b==0) return make_pair(1,0); pair<int,int> tmp=exgcd(b,a%b); pair<int,int> ans=make_pair(tmp.second,tmp.first-a/b*tmp.second); return ans;}快速幂int qpow(l

2021-02-28 14:04:43 82

原创 数论-欧拉定理&费马小定理

欧拉定理先介绍欧拉函数欧拉函数的可积性欧拉定理费马小定理

2021-02-28 13:56:49 103

原创 数论-扩展欧几里得

欧几里得算法经典的欧几里得算法(辗转相除法) 即GCD算法long long gcd(long long a,long long b){ return b==0? a:gcd(b,a%b);//辗转相除求GCD(a,b)}扩展欧几里得算法那么什么是扩展欧几里得算法呢?简单来理解 在GCD的过程中我们找到了一些不定方程的解(裴蜀定理)如此以来我们不难得到ax+by=gcd(a,b)//b(x1)+(a%b)(y1)=gcd(b,a%b)//ax+by=b(

2021-02-28 13:36:24 71

原创 数论-GCD和LCM

GCD

2021-02-25 18:30:10 289

原创 STL-queue

#include <queue>#include <cstdio>#include <iostream>using namespace std;int main(){ queue<int> q; int n; cin>>n; for(int i=1;i<=n;i++) { int a; cin>>a; q.push(a); } cout<<q.front()<<endl;

2021-02-03 15:39:38 30

原创 高精度模板和学习总结

高精度加法#include <bits/stdc++.h>using namespace std;const int maxn=10010;int a[maxn],b[maxn],c[maxn];string s1,s2;int main(){ cin>>s1>>s2; a[0]=s1.size(); b[0]=s2.size(); for(int i=1;i<=a[0];i++) a[i]=s1[a[0]-i]-'0'; for(int i

2021-01-24 19:50:34 63

原创 字典树模板和学习总结

#include<cstdio>#include<iostream>#include<cstring>using namespace std;const int MAX_NODE = 1000000 + 10;const int CHARSET = 26;int trie[MAX_NODE][CHARSET] = {0};int color[MAX_NODE] = {0};int k = 1;void insert(char *w){ int

2021-01-23 11:55:50 43

原创 字符串-KMP和前缀函数

求next数组void prefix_table(char pattern[],int prefix[],int n){ prefix[0]=0;//初始第一位最长公共前后缀为0 int len=0;//标记前一个公共前后缀位置 int i=1; while(i<n) { if(pattern[i]==pattern[len])// { len++; prefix[i]=len; i++; } else { if(len>0) le.

2021-01-21 00:24:08 292

原创 并查集模板和学习总结

路径压缩后的find函数int find(int x){ return pre[x]==x? x:pre[x]=find(pre[x]);}总结:通过将每次经过的点更新root节点来做到路径压缩使用rank加权后的合并函数void join(int x,int y){ if(find(x)==find(y)) return; if(rank[x]>rank[y]) pre[find(x)]=find(y); else { if(rank[x]==rank[y]).

2021-01-16 21:11:59 60

原创 线段树模板汇总和学习总结

线段树区间修改和区间求和const int N=100010;struct SegTree{ int l,r; long long sum; long long add;}tr[N<<2];int w[N];int n,m;void update(int u){ tr[u].sum=tr[u<<1].sum+tr[u<<1|1].sum;//确定的法则}void pushdown(int u)//维护{ SegTree &roo.

2021-01-16 14:57:28 89

空空如也

空空如也

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

TA关注的人

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