~~知识总结~~
NYIST_TC_LYQ
这个作者很懒,什么都没留下…
展开
-
2020.9.9华为笔试记忆:KMP+记忆化搜索+字典树
2020.9.9华为笔试当然,出现在我博客中的笔试都不是我自己的笔试(人家也不给我发笔试链接,小声bibi,诶,好像我也没投,hhhahahha记者:为什么要做笔试?我:生活无聊了喏,肯定要做啊,不做又没有乐趣记者:你有手有脚的怎么不去进厂?我:进厂这方面…进厂是不可能进厂的, 这辈子不可能进厂的,投简历又不给过,就是蹭笔试这种东西,才能维持得了生活这样子记者:那你觉得刷题好还是996好?我:996的感觉像回家一样,我一年回一次家,大年三十晚上我都不回去,就平时家里有点事,我就回去看看这样子原创 2020-09-10 11:41:06 · 710 阅读 · 0 评论 -
2020.9.6字节跳动笔试题第二三题:单调栈与连续最大和
连续最大和问题描述简单的连续最大和就是给你一个数组,求其子序列的最大和是多少。比如[1, -1, 2, -1, 3, -2],很明显答案是 2 + (-1) + 3 = 4。例题:连续最大和问题变形如HDU1003 Max Sum,不仅要求出连续最大和,还要输出这个区间下标。上述样例中,答案区间可以是[1, 5],也可以是[3, 5],具体输出看题目要求第二种变形是给你一个矩阵,要求一个子矩阵和最大(NYOJ104-最大和)第三种变形是将原数组复制m次,求拼接后的数组连续最大和(2020.9原创 2020-09-06 16:19:06 · 547 阅读 · 1 评论 -
马尔可夫过程与泊松过程
随机过程 之 马尔可夫Markov Process与泊松过程Poisson process概念随机过程可以看成一些随机变量的集合,如下图,可把 T 看成时间,随着时间点t的演变随机过程也在演变,而且给定不同的起点会出现不同的演变情况,在某个具体的时间点 t0 ,演变轨迹在对应点的观察样本是随机的。那么,给定时间点 t,X(t) 就表示在这个时间点切面可能的随机变量,所以说随机变量可以看成随机变...原创 2020-03-26 20:12:11 · 8580 阅读 · 0 评论 -
非标准分布随机数生成 - 逆变换ITM与舍选法Rejection
统计学 - 非标准分布随机数生成最近做了几道有关随机数生成的实验,记录下来写个总结吧,其中核心证明略。—— 2020.3.24: 20:50首先明白一些概念,这里随机数是指服从某种分布的随机变量,比如高斯(标准正态)分布 X~U(0,1)。如果已知随机变量的概率密度函数pdf,进而可以由积分得出其累积概率分布函数CDF,CDF只增不减,最大为1。明白以上之后,我们就需要来验证或者说如何说...原创 2020-03-24 22:16:45 · 4959 阅读 · 0 评论 -
SPOJ - ADAQUEUE ,双端队列简单运用!
ADAQUEUE - Ada and Queue 表示这题是学弟带的榜,题还没看完,学弟吐了一句:这不就是双端队列嘛。于是掏出布满尘埃的《曾粽根ACM程序设计》,嗯,确实是裸题,现学现做。 题意:若干操作,每次可以在队首加入元素,可以在队尾加入元素,也可以翻转整个序列,查询最前面的或者最后面的数。操作数10^6。 除了翻转不用实际操作,其他的就是双端队列加入和删除操作了,若是原创 2017-04-09 11:52:24 · 579 阅读 · 0 评论 -
表达式求值专题总结!
很久就有这个打算要搞一个表达式求值专题了,这个一直是省赛必出题,也是我们的薄弱项。队友任命我负责这个专题,真是荣幸!奈何虚拟OJ上找不到相关的专题,于是把NYOJ上几道很水的表达式求值做完了,就算完成了吧,再难我也不会啊! 表达式求值通用解法:开两个栈,一个符号栈(char),一个数值栈(double/int);根据算术运算符的优先级来决定运算先后从而得到正确答案。 来认识一下算术运算符:原创 2017-05-01 09:00:17 · 663 阅读 · 0 评论 -
SPOJ - ADALIST,双端队列入门模板!
ADALIST - Ada and List 这道题时限6.5s,激动人心啊,好多人STL一顿乱写AC,哈哈,如果熟悉双端队列的话这道题其实是很水的。 题意:n个数的数列,然后接下来Q次操作,每次可以将某个数x插入第k个位置,那后面的数往后移。也可以删除第k个位置上的数,还可以是查询第k个位置上的数。 这就是双端队列的裸模板啊。下面简单介绍一下双端队列。原创 2017-04-06 17:32:58 · 679 阅读 · 0 评论 -
骨牌覆盖问题总结!hihoCoder/ NYOJ-1273宣传墙1151
本想着做一下第九届河南省省赛题,结果被这个类似骨牌覆盖的题卡住了,队友然我去hihoCoder上老老实实把骨牌覆盖一、二、三做完,这题就没什么问题了。虽然很不情愿,但还是去见识了一下。 骨牌覆盖问题主要解决用1*2的骨牌来覆盖K*N的棋盘,求有多少种覆盖方法。k一般在7以内。比如hihocoder #1143用1*2的骨牌覆盖2*N的棋盘,很明显是个斐波那契数列。hihocider#1151问原创 2017-04-26 08:57:11 · 846 阅读 · 0 评论 -
莫比乌斯反演
容斥原理和莫比乌斯上周多校被莫比乌斯函数虐的不行,好吧,是被数学虐的不行,决定这周怒补数论。不敢说原理都懂,但会用。。专题还没刷完先写一下题解吧。莫比乌斯反演:由F[n]反向推导出f[n]的过程。常用格式:莫比乌斯 核心:莫比乌斯函数。结合各种数学定理及推导就可以A很多题啦。BZOj 2301:[HAOI2011]Problem b题意:对于给出的n个询问,每次原创 2017-08-01 22:02:14 · 455 阅读 · 0 评论 -
bitset 位容器集合
bitset bitset容器是一个bit位元素的序列容器,每个元素只占一个bit位,取值为0或1,因而很节省内存空间。它的10个元素只用了两个字节的空间。头文件:#includebitset类的方法列表:(bitsetb)b.any() : b中是否存在置为1的二进制位?b.none(): b中不存在置为1的二进制位吗? b.count(): b中置为1的二进制位的原创 2017-08-15 19:00:49 · 839 阅读 · 0 评论 -
ramsey定理 : HDU-5917 Instability、 HDU-6152 Friend-Graph
Instability题意:给你一副图,求有多少个集合,满足集合中有一个大小至少为3的子集要么构成完全图,要么相互独立。这道题实话不会,补题发现是一个定理:Ramsey定理这倒是让我想到了今年ccpc网赛的C题:Friend-Graph 貌似也是这个定理,不过我们当时用bitset过的,现在补题才发现新天地。来简述那个实用定理吧:任意6个人中都满足存在3个人相互认识或互原创 2017-10-08 20:35:06 · 493 阅读 · 0 评论 -
CodeForces 858C Did you mean... 、 CodeForces 858D Polycarp's phone book!黑科技
C. Did you mean... 题意:将一个字符串最少分成几个小的字符串,使得每个字符串都没有连续三个及以上的辅音字母,连续三个相同的辅音字母不算。贪心构造即可,注意连续三个相同的辅音的时候将标记减一即可,不能赋为1。case: yyyryyy rchar s[N];bool ok(char c){ if(c=='a'||c=='e'||c=='i'||c原创 2017-10-11 21:35:54 · 548 阅读 · 0 评论 -
数据结构课程设计《火车售票管理系统》
题目:火车售票管理系统需求分析:要求能够实现售票、退票、余票查询等功能方法设计:可以用结构体和栈模拟买票退票的过程。车票打印效果如下:+-------------------------------------------------------+| K13010030 候车地点:1楼第1候车室 || 南阳 K1301 ...原创 2016-12-27 17:34:58 · 9000 阅读 · 1 评论 -
关于基本勾股数规律的探讨总结与例题!
勾股数: 凡是可以构成一个直角三角形三边的一组正整数,称之为勾股数。 勾股数 —— 构成直角三角形的充分且必要条件。1.首先来观察:3 4 5;5 12 13;7 24 25;9 40 41;11 60 61; ... ;发现这些勾股数都是以奇数开头,从3起就没有间断过。于是:若是大于1的奇数,由于奇数平方还是奇数,它平方后就可以拆成相邻的两个整数相加,那么奇数与这两个整...原创 2016-08-22 20:49:12 · 21731 阅读 · 2 评论 -
c++中的string常用函数用法总结!
标准c++中string类函数介绍注意不是CString之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据原创 2016-07-31 18:44:37 · 614 阅读 · 0 评论 -
HDU-1163Eddy's digital Roots,九余定理的另一种写法!
下午做了NYOJ-424Eddy's digital Roots后才正式接触了九余定理,不过这题可不是用的九余定理做的。网上的博客千篇一律,所以本篇就不发篇幅过多介绍九余定理了; 但还是要知道什么是九余定理: 九余数定理 一个数对九取余后的结果称为九余数。 一个数的各位数字之和相加后得到的 简单的说就是:一个整数模9的结果与这个整数的各位原创 2016-07-29 09:49:42 · 653 阅读 · 0 评论 -
HDU1412-{A} + {B},通过率并不高,但同样是用一个很简洁的函数unique,超短代码水过~
{A} + {B}Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) http://acm.hdu.edu.cn/showproblem.php?pid=1412Problem Description给你两个集合,要求{A} + {B}.注:同一个集原创 2016-04-23 10:33:31 · 948 阅读 · 0 评论 -
HDU-1061-Rightmost Digit,快速幂水过!~~
Rightmost DigitTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)http://acm.hdu.edu.cn/showproblem.php?pid=1061Problem DescriptionGiven a positive inte原创 2016-04-20 21:30:54 · 673 阅读 · 0 评论 -
『NYIST』第八届河南省ACM竞赛训练赛[正式赛一]-CodeForces 236A,虽然很水,但有一个很简单的函数用起来方便
A. Boy or Girltime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputDescriptionThose days, many boys use beauti原创 2016-04-06 08:37:36 · 690 阅读 · 0 评论 -
NYOJ-676小明的求助,快速幂求模,快速幂核心代码;
小明的求助时间限制:2000 ms | 内存限制:65535 KB难度:2描述小明对数学很有兴趣,今天老师出了道作业题,让他求整数N的后M位,他瞬间感觉老师在作弄他,因为这是so easy! 当他看到第二道题目的时候,他就确定老师在捉弄他了,求出N^P的后M位,因为他不会了。你能帮他吗?输入第一行包含一个整数T(T 接下来的T行每行含三个整数,N原创 2016-04-03 21:21:30 · 570 阅读 · 0 评论 -
lower_bound()和max_element()函数用法
(1) 关于 lower_bound(a,a+n,x)-a的用法: 求x在数组a中的位置(有序数组) 函数介绍 lower_bound()返回一个iterator(迭代器)它指向在[first,last)标记的有序序列中可以插入valu...原创 2016-03-24 17:33:14 · 1365 阅读 · 0 评论 -
C. The Smallest String Concatenation-C++sort排序~~
C. The Smallest String Concatenationtime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou're given a list of原创 2016-03-23 13:58:58 · 449 阅读 · 0 评论 -
NYOJ-487月老的烦恼(1)类似于素数筛法一样的打表及一种筛法核心代码。。
月老的烦恼(1)时间限制:1000 ms | 内存限制:65535 KB难度:3描述月老最近遇到了一个很棘手的问题,就是“剩男”“剩女”急速增长,而自己这边又人手不足导致天天都得加班。现在需要你来帮助月老解决这个问题,牵红绳的规则很简单:每个男生都一个编号n(1如20的因子是:1,2,4,5,10; 输入输入数据的第一行是一个原创 2016-03-09 21:01:57 · 570 阅读 · 0 评论 -
NYOJ-104最大和(动归题)及连续最大和核心
最大和时间限制:1000 ms | 内存限制:65535 KB难度:5描述给定一个由整数组成二维矩阵(r*c),现在需要找出它的一个子矩阵,使得这个子矩阵内的所有元素之和最大,并把这个子矩阵称为最大子矩阵。 例子:0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 其最大子矩阵为:9原创 2016-03-09 19:33:12 · 557 阅读 · 0 评论 -
各类算法技巧核心代码,知识点归纳总结之最长公共子序列
最长公共子序列核心 for(i=1;i for(j=1;j c[i][j]=a[i-1]==b[j-1]?c[i-1][j-1]+1:max(c[i-1][j],c[i][j-1]);//“=”的运算等级要高于“==”;压缩后核心代码只有三行,天啊,多么优美,短短的代码却又如此实用,算法真是件很神奇的东西,她有着一种魔力原创 2016-03-08 12:35:20 · 576 阅读 · 0 评论 -
各类算法技巧核心代码,知识点归纳总结之单调递增子序列
最长单调递增字序列核心代码:(1) 时间复杂度为n2; for(i=0;i { b[i]=1;//先全部初始化为1; for(j=0;j if(a[j]b[i]) b[i]=b[j]+1;//符合条件便加1,也可以简单手推模拟一遍;原创 2016-03-08 10:43:48 · 472 阅读 · 0 评论 -
程序设计中常用的一些函数概括,很实用也很方便
平时在各大oj做题的时候发现有的题用很巧妙的方法思路就可以了,但对于我这种什么都不会的菜鸟简直要命,只能用最笨最麻烦的方法来A题,这样往往效率较低;所以一直寻思着整个总结归纳啥的,以后有需要就拿出来看看,比如我常用的一个函数:unique去重函数,说实话,很好用,做题特别方便,有时在比赛中就能占据很大的时间优势码代码简洁直接A那感觉~~~~ 好吧言归正传,今天发了大把时光没有刷题而是在百度原创 2016-05-24 11:10:10 · 759 阅读 · 0 评论 -
C++ stringstream的用法
Created at stringstream的用法使用stringstream对象简化类型转换C++标准库中的提供了比ANSI C的更高级的一些功能,即单纯性、类型安全和可扩展性。在本文中,我将展示怎样使用这些库来实现安全和自动的类型转换。为什么要学习如果你已习惯了风格的转换,也许你首先会问:为什么要花额外的精力来学习基于的类型 转换呢?也许对下面转载 2016-07-22 16:03:14 · 479 阅读 · 0 评论 -
POJ-20407Relatives/NYOJ-333mdd的烦恼,欧拉函数简单应用,模板A
poj RelativesTime Limit: 1000MS Memory Limit: 65536K原创 2016-05-28 19:24:23 · 544 阅读 · 0 评论