自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Happig的博客

我不够强大,但我足够努力

  • 博客(41)
  • 资源 (7)
  • 收藏
  • 关注

原创 摆脱枯燥的文字描述——markdown表情包黑科技

前言很久没水博客了,现在差十积分就升级了,水一篇又何妨?那就把之前很想发表的表情包黑科技亮出来吧!前不久偶然看到了别人在博客上有黄脸表情,甚是喜欢,于是便去查阅了一番,竟然还有官网,看来以后要多用表情包了????主要形式是":英文单词:",里面可以是smile,anger,wink等情绪表情单词,还可以是cat,dog等动物建筑,反正就是很强大了...

2020-03-31 21:27:31 248

原创 UVa 1152 - 4 Values whose Sum is 0(hash_map/hash/二分查找)

题目链接1.题目大意:给出四个数组,求出满足a+b+c+d=0的四元组{a,b,c,d}的个数2.首先四重暴力肯定不用想就超时,对于原问题,我们可以看做是对于每个已知的a+b求有多少个-c-d和它相等。很明显能想到用map来存,但是刘老师特地说明STL的map会超时,因为红黑树实现的map自动排序影响效率。因此,我们需要hash_map,在C++11以后直接使用头文件unordered_ma...

2020-03-31 21:12:38 338

原创 对顶堆

对顶堆所谓对顶堆,有点想双栈对顶那样,一个是小根堆,另一个是大根堆。假设g是大根堆,l是小根堆,那么观察下图不难发现,两堆中间的元素,左边都是小于它的,且g.top()是小于它的最大值,右边都是大于它的,且l.top()是大于它的最小值中位数问题现在有一个序列动态输入,求每次输入后的中位数利用上述对顶堆的思想,中位数肯定是中间的数,那么g和l维护的两个数就是动态输入时最中间的两个数,因此...

2020-03-31 11:17:54 3548 1

原创 KMP算法

字符串匹配问题给出一个源字符串和一个目标字符串,能否在源串中找到匹配目标串的子串,找到的话就返回首字母在源串的下标暴力匹配算法(BF算法)相对于烤馍片(kmp)算法,暴力算法是最简单易懂的,就是从前向后遍历源串的每一个字母向后查看以该字母的子串,当且仅当起点字母后面的每个字母都匹配成功则返回该字母下标,否则就继续遍历直到源串尾int BF(char* s, char* p){ int ...

2020-03-30 12:10:10 293 2

原创 UCF Local Programming Contest 2016 计蒜客解(补)题报告

A - Majestic 10(签到)题目链接#include <iostream>using namespace std;int main(){ int t,x,y,z; scanf("%d",&t); while(t--){ scanf("%d%d%d",&x,&y,&z); in...

2020-03-28 22:42:49 473

原创 Contest Hunter - 1201 最大子序和(单调队列)

题目链接1.最大子序和问题,应该是比较常见的,但是这道题需要我们求最大的n

2020-03-27 10:39:16 153

原创 二分查找

二分查找二分查找,它适用于有序的顺序表。思路是:首先将给定值与表中中间位置元素的关键字进行比较,若相等,则查找成功,返回该元素的存储位置;若不等,则所需查找的元素只能在中间元素以外的前半部分或者后半部分中。然后再缩小的范围内继续进行相同的查找,如此重复直到找到为止。如果确认表中没有所需查找的元素,则返回查找失败的信息。时间复杂度O(logn)mid如何求?除了 mid=(l+r)>&g...

2020-03-26 19:51:19 430

原创 快速排序

快速排序的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列主要步骤:(1)首先设定一个分界值,通过该分界值将数组分成左右两部分,为了方便我们假设区间最左边的值为分界值(2)设置两个哨兵i,j,i是左边的哨兵,j是右边的哨兵。不断移动...

2020-03-26 14:41:17 105

原创 归并排序

归并如果a,b数组是已经排序后的两个数组,最终我们需要的是合并到c数组。将a数组的所有数字单独看成n个子数组,将b数组所有数字都单独看成m个子数组。每次将a,b的两个子数组比较,最后可能某个数组没有到最后,再都添加到c数组。这样按大小添加到c数组中,保证了每个数字前后左右要么是同一数组,要么也经过了大小比较排序,肯定是排好序的数组const int maxn=?;int a[n],b[m],...

2020-03-26 10:43:12 140

原创 最大连续和——从超时到秒解

最大连续和给定一个数字序列a1,a2,…,an,求序列中的一段连续序列 [ai , aj] (1<=i<=j<=n),使得该序列和为最大和暴力解法对于每一段子序列 [ i , j ],找最大和。三重循环,时间复杂度O(n3)const int maxn=?;int a[maxn];int n;int maxsum(){ int ans=a[1]; ...

2020-03-25 23:52:44 209 2

原创 ST表——RMQ区间最值查询

RMQ所谓RMQ(Range Maximum/Minimum Query),即区间最值查询问题。该问题的解决方法有线段树,ST表等等。对于静态的RMQ,ST表是最佳的选择,但是ST表无法解决动态的区间最值Sparse Table初始化设数组a是所求的序列,dp[ i ] [ j ]表示从第i个数开始连续2j个数的最小值。刚开始dp[ i ][ 0 ] 初始化为a[ i ],因为2j一定是偶...

2020-03-22 21:47:27 997

原创 Benelux Algorithm Programming Contest 2019 计蒜客解(补)题报告

B - Breaking Branches(博弈论)题目链接1.题目大意:A和B两个人玩一个游戏,其中A先手。给出一个数字n,每个人每次必须将n或者其一部分分成两个整数,最后一个不能分的人算输,即最后一次分的人算赢,输出赢的人的名字。如果A赢还输出A最后一次分完形成的数字大小2.显然,当都分成1时,就是不可再分状态。对于2,分一次就成了两个1,肯定先手赢。对于3,只能分成1和2这一个状态,...

2020-03-22 12:25:21 343

原创 Arab Collegiate Programming Contest 2015 计蒜客重现解(补)题报告

B - The Lion King(暴力)题目链接In the Pride Lands of Africa, a lion rules over the animals as king. The birth of King Mufasa and QueenSarabi’s son Simba creates envy and resentment in Mufasa’s younger bro...

2020-03-19 22:55:39 421

原创 Arab Collegiate Programming Contest 2015 - K Road Network(树的直径)

题目链接After a fierce battle with his opponent, Bruce Wayne finally won the elections and became the mayorof Gotham. Like every other politician, he had an agenda with lots of projects for the sake of G...

2020-03-19 22:25:57 269

原创 HDU4699 Editor(双栈对弹)

题目链接1.题目大意:文本编译光标。有如下操作:(1)每次在光标后插入一个元素,光标随即移动到序列尾部(2)在光标前面有元素的情况下删除光标的前一个元素(三)如果光标不在序列头部就将光标左移(四)如果光标不在序列尾部就将光标右移(五)查询当前光标前的最大前缀和2.第一眼想到,用数组维护所有元素的前缀和和最大前缀和,使用双向链表维护光标。但是头疼的是光标并不指向元素,而是在元素中间,类似电脑鼠...

2020-03-18 22:21:43 191

原创 Preliminaries for Benelux Algorithm Programming Contest 2019 计蒜客解(补)题报告

A - Architecture(思维)Your brother has won an award at the recent Breakthroughs in Architectural Problems Conference and has been given the once in a lifetime opportunity of redesigning the city center...

2020-03-16 21:53:56 1003 1

原创 C++ cstring常用函数

前言本来不打算使用cstring,而转型C++STL的string了。但是最近写题string超时,思路是没错的。估计string确实是在做大量字符串操作时没有字符数组效率高。但是字符数组好久没用,在此复习一下输入输出gets(char *s)读取字符串,当且仅当遇到回车才作为字符串结束符。因此它能接受字符缓冲区的回车,需要注意char a[30]; //保证大小大于输入长度int ...

2020-03-16 11:08:43 2312 1

原创 手写堆、栈、队列

前言作为忠实的STL党,我也不得不做出一些改变,毕竟STL经常TLE、MLE等等。学习一下实现原理并手动实现还是很有必要的,因为它跑的快 这是我们计算机专业最基础的数据结构栈数组形式优点:一次性可以存很多元素缺点:只能创建少数的栈const int maxn=1e5+10;struct Stack{ ll a[maxn]; int cur=0; void p...

2020-03-15 23:25:44 275

原创 Preliminaries for Benelux Algorithm Programming Contest 2019 - B Bracket Sequence(手写栈)

Two great friends, Eddie John and Kris Cross, are attending the Brackets Are Perfection Conference. They wholeheartedly agree with the main message of the conference and they are delighted with all th...

2020-03-15 16:19:17 313

原创 POJ 2826 An Easy Problem?!(思维+判断线段直线之间关系)

题目链接It’s raining outside. Farmer Johnson’s bull Ben wants some rain to water his flowers. Ben nails two wooden boards on the wall of his barn. Shown in the pictures below, the two boards on the wall ...

2020-03-12 20:13:28 148

原创 POJ 1556 The Doors(判断线段相交+最短路)

题目链接You are to find the length of the shortest path through a chamber containing obstructing walls. The chamber will always have sides at x = 0, x = 10, y = 0, and y = 10. The initial and final point...

2020-03-12 18:33:19 159

原创 POJ 3304 Segments(思维+判断直线和线段相交关系)

题目链接Given n segments in the two dimensional space, write a program, which determines if there exists a line such that after projecting these segments on it, all projected segments have at least one p...

2020-03-12 17:55:55 171

原创 POJ 2398 Toy Storage(点和向量位置关系/二分)

题目链接Mom and dad have a problem: their child, Reza, never puts his toys away when he is finished playing with them. They gave Reza a rectangular box to put his toys in. Unfortunately, Reza is rebellio...

2020-03-12 17:36:49 111

原创 UCF Local Programming Contest 2013(Practice)解(补)题报告

前言刚开始光速解决前三道,看到D是模拟,就去看I,这一看不打紧,整整卡了四个小时。在朋友的提醒下才做了出来。有一说一,这真的是脚造的数据,double过不了只有float能过?我被整吐了。H题卡到最后都没过,原因竟然是angle/PI*180能过但是angle/180*PI过不了,我寻思着应该后者的误差小一些,搞的也没看中间那几道,刚刚看了都是模拟,算了不想补了A - The Suffix G...

2020-03-12 11:09:36 923

原创 2019 ICPC 沈阳区域赛 - L Flowers(二分答案)

Recently Jack becomes much more romantic. He would like to prepare several bunches of flowers.Each bunch of flowers must have exactly M flowers. As Jack does not want to be boring, he hopes that flowe...

2020-03-10 10:49:44 796 5

原创 计算几何(四)——多边形和圆(updating)

多边形多边形定义:由在同一平面且不再同一直线上的多条线段首尾顺次连接且不相交所组成的图形叫多边形简单多边形定义:简单多边形是除相邻边外其它边不相交的多边形凸多边形定义:过多边形的任意一边做一条直线,如果其他各个顶点都在这条直线的同侧,则把这个多边形叫做凸多边形。或者说如果一个简单多边形的内角不超过180°,那么它是凸多边形性质:1.任意凸多边形外角和均为360°2.任意凸多边...

2020-03-09 17:02:20 1024

原创 UCF Local Programming Contest 2012 解(补)题报告

前言比赛都过去四天了也得补题,再简单也得补,虽然有轻微拖延症,但是有重度强迫症B - How Old Are You Mr.String?(签到)题目链接#include <iostream>#include <string>#include <cstring>using namespace std;int a[30],b[30];int t;...

2020-03-09 13:26:58 407

原创 2019 ICPC 沈阳区域赛 - A Leftbest(set的应用)

LeftbestJack is worried about being single for his whole life, so he begins to use a famous dating app. In this app, the user is shown single men/women’s photos one by one, and the user may choose be...

2020-03-08 11:34:51 402 2

原创 HDU1811 Rank of Tetris(并查集+拓扑排序)

题目链接自从Lele开发了Rating系统,他的Tetris事业更是如虎添翼,不久他遍把这个游戏推向了全球。为了更好的符合那些爱好者的喜好,Lele又想了一个新点子:他将制作一个全球Tetris高手排行榜,定时更新,名堂要比福布斯富豪榜还响。关于如何排名,这个不用说都知道是根据Rating从高到低来排,如果两个人具有相同的Rating,那就按这几个人的RP从高到低来排。终于,Lele要开始行动了...

2020-03-06 22:33:32 155

原创 POJ1270 Following Orders(字符串处理+拓扑序全排列)

题目链接Order is an important concept in mathematics and in computer science. For example, Zorn’s Lemma states: ``a partially ordered set in which every chain has an upper bound contains a maximal elemen...

2020-03-06 20:50:14 153

原创 UVa1521 GCD Guessing Game(唯一分解定理+素筛)

题目链接Paul had a birthday yesterday, and they were playing a guessing game there with Andrew: Andrew was trying to guess Paul’s age. Andrew knew that Paul’s age is an integer between 1 and n, inclusive...

2020-03-06 20:20:18 260

原创 POJ 1182 食物链(带权并查集经典例题)

题目链接动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述:第一种说法是"1 X Y",表示X和Y是同类。第二种说法是"2 X Y",表示X吃Y。此人对N个动物,用上述两种说法,一句接一句地说出K句话...

2020-03-06 16:54:32 1854

原创 POJ3321 Apple Tree(链式前向星+DFS序+树状数组)

题目链接There is an apple tree outside of kaka’s house. Every autumn, a lot of apples will grow in the tree. Kaka likes apple very much, so he has been carefully nurturing the big apple tree.The tree has...

2020-03-06 14:14:07 246

原创 计算几何(三)——直线与线段

直线我们以前学的直线的常用表示有:一般式ax+by+c=0点斜式y-y0=k(x-x0)截距式y=kx+b两点式(y-y1)/(y2-y1)=(x-x1)/(x2-x1)但是很明显上面的形式保存的直线形式较为单一,因此我们使用直线的向量方程——点向式,用一个点和方向向量表示直线:ρ= p0+v·t方向向量的求法:已知直线上的两点便可确定方向向量,进而确定一条直线struct L...

2020-03-05 22:45:12 1291 1

原创 计算几何(二)——点与向量

点二维平面下的点保存横纵坐标即可struct Point{ double x,y; Point(double a=0,double b=0):x(a),y(b){} //运算符重载};向量向量在数学意义上是矢量,即有方向的量,但是计算机并不能存储方向,因此还是要用坐标表示,但是因为一些函数是基于向量计算的,与点没有关系,为了区别开我们重定义向量名Vector#define...

2020-03-05 22:35:17 3413

原创 计算几何(一)——入门须知

前言计算几何,虽然不少题都是板子来套,但我们应深知,“借”来的板子远不如自己消化理解后打的板子拓展性强。没有学不会的算法,只有不想学的ACMer。最近比赛接连遇到不少较为基础的计算几何,因为没有接触这方面因此错失AC,如今比赛、题目、安排较多,因此先简单花一两周入个门,以后再打算深入时,有了之前的基础,就不会那么难———————————————————————————2020.3.5 22:2...

2020-03-05 22:31:12 359

原创 最小生成树——Prim详解

Prim求MST复杂度:朴素Prim算法的时间复杂度为O(V2); 堆优化的时间复杂度为O(VlogE),V为点数,E为边数原理:设图G顶点集合为U,首先任意选择图G中的一点作为起始点a,将该点加入集合V,再从集合U-V中找到另一点b使得点b到V中任意一点的权值最小,此时将b点也加入集合V;现在的集合V={a,b},再从集合U-V中找到另一点c使得点c到V中任意一点的权值最小,此时将c点...

2020-03-03 16:43:25 1530 1

原创 最短路径四种算法——总结篇

最短路在一个图中有 n个点、m条边。边有权值,权值可正可负。边可能是有向的,也可能是无向的。给定两个点,起点是s,终点是t,在所有能连接s和t的路径中寻找边的权值之“和” 最小的路径,这就是最短路径问题最短路有两种:单源最短路:从单个节点出发,到所有节点的最短路多源最短路:整个图中所有点到其他点的最短路无权图BFS求最短路有权图算法\对比主要适用方向时间复杂度处...

2020-03-02 18:10:02 3362 1

原创 BFS求无权无向图最短路

BFS求最短路假设有一个n行m列网格迷宫,每个宫格要么可以走要么不可以走,设置一个起点和一个终点,如何求起点到终点的最短路径?(图片来自网上)我们知道BFS广度优先搜索就是按照距离根节点距离从小到大的顺序搜索,因此利用BFS逐步计算出每个节点到起点的最短距离,以及最短路径每个节点的前一个节点,最终将生成一颗以起点为根的BFS树。此时BFS可以求出任意一点到起点的最短距离下面代码假设起点在(...

2020-03-02 18:07:19 1042

原创 ICPC North Central NA Contest 2017 - A Stoichiometry(高斯消元)

题目链接​You have landed a lucrative contract with Amalgamated Chemical Manufacturing (ACM), to help their chemists with stoichiometry. Stoichiometry is the calculation of reactants and products in chemi...

2020-03-01 22:52:39 321

stopwords.txt

作中文分词时的停用词,几个资源整合而来,较为全面

2021-12-12

数据结构实验——赫夫曼树相关

本人本科期间学习数据结构写的实验,内容如下 1、输入一段报文,例如: CAST CAST SAT AT A TASA 统计字符集合 { C, A, S, T },以及各个字符出现的频度(次数) W={ 2, 7, 4, 5 }。 2、建赫夫曼树,并输出各个字符的赫夫曼编码 3、输入编码01100……,能准确翻译成报文 4、要求有菜单。

2020-05-13

数据结构实验——二叉树相关操作

本人本科期间数据结构二叉树的实验 1、建立二叉树的存储结构 2、先序、中序、后序遍历二叉树(要求任选某一种用非递归算法完成) 3、查询二叉树中某个结点 4、统计二叉树中叶子结点的个数 5、求二叉树的深度 6、要求有菜单

2020-05-13

数据结构实验——字符串相关操作

本人本科学习期间数据结构的第三个实验 1、实现串赋值、串比较、求串长、串联接、求子串以及串匹配(KMP算法) 2、能利用上述实现的基本操作完成置换Replace (&S, T, V)以及从串中删除一段子串StrDelete(&S,pos,len)的操作

2020-05-13

数据结构实验——表达式求值

实现了前缀表达式求值,可执行功能为加减乘除和括号,数据类型是计算机双精度浮点数,支持多位整数和多位小数。实现思路是根据运算符的优先级,边输入边计算

2020-04-06

数据结构实验——链表实现XXX管理系统

数据结构的实验:实验题目是**管理系统。要求用带头结点的单链表实现具有插入、删除、显示、修改、保存至文件以及读入文件等功能的**管理系统。加至少3个结构成员,其中必须包含一个字符类或字符数组类,并使用排序等功能

2020-04-06

Base conversion.cpp

在完成课后作业过程中,无法辨认计算的进制转换是否正确,于是想写个程序去完成,既能节省时间,也能对一下答案。该简单代码支持2-16进制浮点数相互转换,最多精确到小数点后308位

2020-02-19

空空如也

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

TA关注的人

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