自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 通知

博客已全部转载至:传送门本博客将不再更新

2020-04-10 18:28:11 248

转载 求一个数所有的因子个数和因子和

B站学习视频(图片来源)1.所有因子个数如果一个数是因数,就不断除这个数,保存这个因子次方的数 temp++;运用所有因子个数...

2020-02-04 14:07:35 3803

原创 求三角形外心坐标

给定三角形三个顶点的坐标,如何求三角形的外心的坐标呢?例如 :给定a(x1,y1) b(x2,y2) c(x3,y3)求外接圆心坐标O(x,y)首先,外接圆的圆心是三角形三条边的垂直平分线的交点,我们根据圆心到顶点的距离相等,可以列出以下方程:(x1-x)(x1-x)-(y1-y)(y1-y)=(x2-x)(x2-x)+(y2-y)(y2-y);(x2-x)(x2-x)+(y2-y)(y...

2020-01-19 13:11:54 2517

原创 distinct-subsequences 求S有多少个不同的子串与T相同

Given a string S and a string T, count the number of distinct subsequences ofT inS.A subsequence of a string is a new string which is formed from the original string by dele...

2020-01-19 13:06:49 330

原创 数据结构实训——哈夫曼编码/译码器

哈夫曼(Huffman)编/译码器(限1人完成)【问题描述】利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个哈夫曼码的编/译码系统。首先输入一段包含27个字符(包含空格)...

2019-12-25 10:32:44 6950 4

原创 数据结构实训——校园导航系统

设计一个校园导游系统,为来访的客人提供各种信息查询服务。(限1人完成)(一)基本要求1、 设计你的学校的校园平面图,所含景点10-15个。以图中顶点表示校园内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。2、 为来访客人提供图中任意景点相关信息的查询。3、 为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。4、 提供图中任意...

2019-12-25 10:31:51 3605 1

原创 数据结构实训——飞机订票系统

飞机订票系统(限1 人完成)任务:通过此系统可以实现如下功能:1)录入: 可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)2)查询: 可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;3)订票:(订票情况可以存在一个数据文件中,结构自己设定) 可以订票,如果该航班已经无...

2019-12-25 10:30:15 8159 10

原创 四点是否为正方形

double Distance(int x1,int y1,int x2,int y2){//求边长 return sqrt(pow((x1-x2),2)+pow((y1-y2),2));}bool IsRightAngle(int x1,int y1,int x2,int y2,int x3,int y3){//判断是否为直角 if((x2-x1)*(x3-x1)+(y2-y...

2019-11-05 19:50:54 136

原创 区间DP

区间dp就是在区间上进行动态规划,求解一段区间上的最优解。主要是通过合并小区间的 最优解进而得出整个大区间上最优解的dp算法。核心思路:既然让我求解在一个区间上的最优解,那么我把这个区间分割成一个个小区间,求解每个小区间的最优解,再合并小区间得到大区间即可。所以在代码实现上,我可以枚举区间长度len为每次分割成的小区间长度(由短到长不断合并),内层枚举该长度下可以的起点,自然终点也就明了了。然...

2019-10-16 20:13:38 114

原创 扫描线

题意:二维平面有n个平行于坐标轴的矩形,现在要求出这些矩形的总面积. 重叠部分只能算一次.分析:线段树的典型扫描线用法.首先假设有下图两个矩阵,我们如果用扫描线的方法如何计算它们的总面积呢?首先我们将矩形的上下边分为上位边(即y坐标大的那条平行于x轴的边),和下位边(y坐标小的平行于x轴的边).然后我们把所有矩形的上下位边按照他们y坐标从小到大排序,可以得到4条扫描线:又因为上面2...

2019-10-16 19:08:29 129

原创 线段树

线段树将区间分为若干个子区间,子区间又继续分,直到区间为一个点(l==r)对于父区间 [l,r] ,其子区间为 [l,(l+r)/2] 和 [(l+r)/2+1,r]线段树一般用于求区间的值,如区间最值,区间求和等。代码实现中, 假设节点下标从1开始,若某节点下标为x,那么其左子区间下标为2x,右子区间下标为2x+1,父节点下标为x/2;常用宏定义#define Mid ((l+r)&...

2019-10-16 18:27:15 97

转载 扩展KMP

摘自 拓展kmp算法总结1、扩展KMP是什么?解决何种问题?与KMP算法的异同?拓展kmp是对KMP算法的扩展,它解决如下...

2019-10-02 11:01:34 1802 1

原创 整体二分(poj 2104)

所谓整体二分,需要数据结构题满足以下性质:询问的答案具有可二分性修改对判定答案的贡献相对独立,修改之间互不影响效果修改如果对判定答案有贡献,则贡献为一确定的与判定标准无关的值贡献满足交换律,结合律,具有可加性题目允许离线操作不妨先来考虑下一个简单易懂的????(????????????????????)的排序算法(????为数值范围)这个方法是自己在思考整体二分的时候????????的 虽然在实际应用上没什么意义 但是有助于理解整体...

2019-10-01 17:26:15 172

原创 LCA(在线ST+tarjan)模板

在线ST#include <iostream>#include <cstring>#include <cstdlib>#include <algorithm>#include <queue>#include <stack>#include <cmath>#include <cstdio>...

2019-09-21 21:15:00 127

原创 Tarjan 算法求强连通分量

#include <algorithm>#include <cmath>#include <cstdio>#include <cstdlib>#include <cstring>#include <iostream>#include <map>#include <queue>#inclu...

2019-09-21 21:12:36 99

原创 [USACO 4.2.2] The Perfect Stall 完美的牛栏

题目链接匈牙利算法模板题#include <iostream>#include <cstring>#include <cstdlib>#include <algorithm>#include <queue>#include <stack>#include <cmath>#include <c...

2019-09-06 20:56:32 165

转载 斯特林数

【第一类斯特林数】1.定理第一类斯特林数 S1(n,m) 表示的是将 n 个不同元素构成 m 个圆排列的数目。2.递推式设人被标上1,2,.....p,则将这 p 个人排成 m 个圆有两种情况:在一个圆圈里只有标号为 p 的人自己,排法有 S1(n-1,m-1) 个。 p 至少和另一个人...

2019-08-15 11:21:01 305

转载 斯特林公式

斯特林公式是一条用来取n阶乘近似值的数学公式。一般来说,当n很大的时候,n阶乘的计算量十分大,所以斯特灵公式十分好用。斯特林公式可以用来估算某数的大小,结合lg可以估算某数的位数,或者可以估算某数的阶乘是另一个数的倍数。Stirling公式的意义在于:当n足够大时,n!计算起来十分困难,虽然有很多关于n!的等式,但并不能很好地对阶乘结果进行估计,尤其是n很大之后,误差将会非常大。但利用Sti...

2019-08-15 11:10:44 767

转载 康托展开和逆康托展开

简述康托展开是一个全排列到一个自然数的双射,常用于构建hash表时的空间压缩。设有n个数(1,2,3,4,…,n),可以有组成不同(n!种)的排列组合,康托展开表示的就是是当前排列组合在n个不同元素的全排列中的名次。原理X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-...

2019-08-15 11:01:53 120

转载 卡特兰数

一、关于卡特兰数卡特兰数是一种经典的组合数,经常出现在各种计算中,其前几项为 : 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120420, 24466267020, 91...

2019-08-15 10:57:34 8695 1

转载 母函数

普通母函数:在用到母函数之前啊,恐怕很少有人听过母函数,我也一样,我当时是做杭电acm的2082题要用母函数做才去了解母函数的。当然母函数分为很多种,包括普通母函数、指数母函数、L级数、贝尔级数和狄利克雷级数,我这里说的都是普通母函数。什么是普通母函数呢,——把组合问题的加法法则和幂级数的的乘幂的相加对应...

2019-08-15 10:49:35 315

原创 欧拉函数线性筛

参考博客:https://blog.csdn.net/HandsomeHow/article/details/51325463定义:欧拉函数是小于n的数中与n互质的数的数目。例如φ(8)=4,因为1,3,5,7均和8互质。欧拉函数的通式为φ(x)=x (1-1/p1)(1-1/p2)…(1-1/pk):,其中pi表示x的质因数。特别声明,φ(1)=1。注意:每种质因数只一个。比如12=223...

2019-08-15 10:45:07 154

转载 组合游戏 - SG函数和SG定理

        在介绍SG函数和SG定理之前我们先介绍介绍必胜点与必败点吧.必胜点和必败点的概念:       P点:必败点,换而言之,就是谁处于此位置,则在双方操作正确的情况下必败。       N点...

2019-08-15 10:25:37 121

原创 逆元

由于C++储存数据的范围是有限的,当数据超出储存范围时计算就会出错,为了避免错误,一般使用求余的方法。(a+b)%c可以表示为(a%c+b%c)%c,乘法同理减法也可以表示为(a+c-b)%c。但是除法怎么办呢?想一下除法计算过程:a/b=a* 1/b那么自然会想到,把(a/b)%c变成(a*(1/b))不就可以了吗。但是现实是残酷的,取余是建立在除数和被除数都算整数的基础上的,浮点数无...

2019-08-15 10:20:29 109

原创 EXGCD

void exgcd(ll a,ll b,ll &x,ll &y){ if(b==0){x=1;y=0;} else {exgcd(b,a%b,y,x);y-=(a/b)*x;}}

2019-08-15 09:08:58 168

转载 KMP算法模板(自用)

nex[i]存的是从字符串起点到下标位i的字符真前缀和真后缀相同的最大长度void Getnex(char * m){ nex[0]=-1; int k=-1,j=0; int len=strlen(m); while(j<len) { if(k==-1||m[k]==m[j]) { k++;...

2019-08-05 09:16:25 96

转载 Manacher算法模板(求解最长回文串)

int cnt[MAXn];char String[MAXn];void Manacher(char s[],int len) {//原字符串和串长 int l = 0; String[l++] = '$'; // 0下标存储为其他字符,防止越界 String[l++] = '#'; for (int i = 0; i < len; i++) { ...

2019-08-05 09:11:08 95 1

转载 ac自动机模板(自用)

从多个字符串中查找是否有某个字符串#include <queue>#include <cstdlib>#include <cmath>#include <cstdio>#include <string>#include <cstring>#include <iostream>#include &lt...

2019-08-05 09:09:19 91

转载 RMQ算法详解(在线ST)

1. 概述RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j之间的最小/大值。这两个问题是在实际应用中经常遇到的问题,下面介绍一下解决这两种问题的比较高效的算法。当然,该问题也可以用线段树(也叫区间树)解决,算法复杂度为:O(N)~O(logN...

2019-06-13 19:44:22 209

原创 3268---Silver Cow Party(最短路 —dijkstra算法+矩阵置换)

题目链接Silver Cow PartyTime Limit: 2000MSMemory Limit: 65536KTotal Submissions: 33100Accepted: 14813DescriptionOne cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1..N is going to attend...

2019-04-23 20:04:42 161

原创 最小生成树(prime算法、kruskal算法) 最短路径算法(Floyd,bellmen-ford,dijkstra,Spfa)

文章目录最小生成树的概念例题Prime算法Kruskal算法最小生成树的概念生成树的概念:联通图G的一个子图如果是一棵包含G的所有顶点的树,则该子图称为G的生成树 生成树是联通图的极小连通子图。所谓极小是指:若在树中任意增加一条边,则 将出现一个回路;若去掉一条边,将会使之编程非连通图。生成树各边的权 值总和称为生成素的权。权最小的生成树称为最小生成树,常用的算法有prime算法和kruska...

2019-04-22 19:48:16 850

转载 MarkDown: 改变字体颜色大小

转自 testcs_dn(微wx笑) 博文 –>传送门初用 MarkDown,发现字体颜色经常用到,备份一份给自己看。<font face="黑体">我是黑体字</font><font face="微软雅黑">我是微软雅黑</font><font face="STCAIYUN">我是华文彩云</font>...

2019-04-18 19:15:27 684

原创 2019-4-13 2050万人编程竞赛 1003----分宿舍

Problem Description“那天TA说TA要来,于是我就来啦。那天我说我要来,于是你就来啦。TA看到了什么?你又看到了什么?我看到你们在一起,我是真的很happy:)太阳在哪里啊?就在早上七八点。太阳在哪里啊?就在云的栖息地!”——2050主题曲2050的线下活动吸引了很多心怀梦想的年轻人。小伙们打算组团去参加。他们一共有 n+m+2k 个人,包括 n+k 个男...

2019-04-15 20:32:25 266 2

转载 new和malloc的区别

1. malloc()函数1.1 malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void *malloc(unsigned int num_bytes); 说明:分配长度为num_bytes字节的内存块。如果分配成功则返回指向被分配内存的指针,分配失败返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。1.2 void...

2019-04-11 19:53:22 89

原创 ACM-ICPC Live Archive:6184 --- One-Dimensional Cellular Automaton(矩阵快速幂)

思路:如果将题目中原先的序列,(假设n为5)我们可以通过一个构造转换矩阵来实现对原先序列的一个转换,转换如下:S(0,T-1)   B C 0 0 0   S(0,T)S(1,T-1)   A B C 0 0   S(1,T)S(2,T-1) X 0 A B C 0 =  S(2,T)S(3,T-1)   0...

2019-04-10 20:54:47 197

转载 并查集详解(超级简单有趣~~)

故事读完,并查集就会了~~~~~江湖上散落着各式各样的大侠,有上千个之多。他们没有什么正当职业,整天背着剑在外面走来走去,碰到和自己不是一路人的,就免不了要打一架。但大侠们有一个优点就是讲义气,绝对不打自己的朋友。而且他们信奉“朋友的朋友就是我的朋友”,只要是能通过朋友关系串联起来的,不管拐了多少个弯,都认为是自己人。这样一来,江湖上就形成了一个一个的帮派,通过两两之间的朋友关系串联起来。而不在...

2019-04-01 20:26:07 728 1

原创 2019第十届蓝桥杯省赛 赛后反思

太菜了!!!太菜了!!!太菜了!!!太飘了!!!太飘了!!!太飘了!!!又菜又膨胀!!!唉,本来可以省一的,太膨胀了,居然都没有认真的去想特殊案例。。。。比赛刚开始的时候还很认真的,看了前几个题,感觉好简单, 就开始膨胀了。。。。。结果。。第四题就错了。。。第七题忘了有没有考虑负数了(估计没有考虑)。。。第八题居然没有考虑到公差为0的情况(啊啊啊啊!!!!)。。第九题用的贪心。。...

2019-03-28 22:35:32 994 4

原创 二叉树的简单讲解

二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。接下来介绍几个概念:叶子节点:没有子节点的节点。父节点:有子节点的节点。满二叉树:在一棵二叉树中,如果所有分支结点都有左孩子和右孩子结点,并且叶子结点都集中在二叉树的最下层,这样的树叫做满二叉树如:完全二叉树:若二叉树中最多只有最...

2019-03-26 09:25:24 973 2

原创 zyb的面试

Description今天zyb参加一场面试,面试官听说zyb是ACMer之后立马抛出了一道算法题给zyb:有一个序列,是1到n的一种排列,排列的顺序是字典序小的在前,那么第k个数字是什么?例如n=15,k=7, 排列顺序为1, 10, 11, 12, 13, 14, 15, 2, 3, 4, 5, 6, 7, 8, 9;那么第7个数字就是15.那么,如果你处在zyb的场景下,你能解决这个...

2019-03-20 16:30:51 143

原创 非常可乐(BFS)

Description大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为。因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要喝的和seeyou一样多。但seeyou的手中只有两个杯子,它们的容量分别是N 毫升和M 毫升 可乐的体积为S (S<101)毫升 (正好装满一瓶) ,它们三个之间可以相互倒可乐 (都是没有刻度的,且 S...

2019-03-19 22:13:30 188

空空如也

空空如也

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

TA关注的人

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