摘要: 题目描述 如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置。 为了减少骗分的情况,接下来还要输出子串的前缀数组next。 (如果你不知道这是什么意思也不要问,去百度搜[kmp算法]学习一下就知道了。) 输入格式 第一行为一个字符串,即为s1 第二行为一个字符串,即 阅读全文
posted @ 2019-11-29 21:01 satans 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 题目描述 如题,已知一个数列,你需要进行下面两种操作: 将某一个数加上 x 求出某区间每一个数的和 输入格式 第一行包含两个正整数 n,m,分别表示该数列数字的个数和操作的总个数。 第二行包含 n-1 个用空格分隔的整数,其中第 i 个数字表示数列第 i 项的初始值。 接下来 m 行每行包含 3 个 阅读全文
posted @ 2019-11-28 19:59 satans 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.求出某区间每一个数的和 输入格式 第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。 第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。 接下来M行每行包含3或4个整数,表示一 阅读全文
posted @ 2019-11-28 10:59 satans 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 按照不同数位排序,数列绝对顺序改变但相对顺序不变。例如,对于十位排序后,对于十位相同的数,个位大小仍是有序排列。 阅读全文
posted @ 2019-08-05 09:13 satans 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 题目描述 如题,初始小根堆为空,我们需要支持以下3种操作: 操作1: 1 x 表示将x插入到堆中 操作2: 2 输出该小根堆内的最小数 操作3: 3 删除该小根堆内的最小数 如题,初始小根堆为空,我们需要支持以下3种操作: 操作1: 1 x 表示将x插入到堆中 操作2: 2 输出该小根堆内的最小数 阅读全文
posted @ 2019-08-04 17:05 satans 阅读(120) 评论(0) 推荐(0) 编辑
摘要: #include #include #include using namespace std; long long a[101000],b[101000]; int n; inline void Merge(int l,int mid,int r) { for(int i=l;imid) { a[i]=b[rr]; rr++... 阅读全文
posted @ 2019-08-04 10:07 satans 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 题目描述 如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作: 操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节点的值都加上z 操作2: 格式: 2 x y 表示求树从x到y结点最短路径上所有节点的值之和 操作3: 格式: 3 x z 表示将 阅读全文
posted @ 2019-07-18 12:00 satans 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 解答: 阅读全文
posted @ 2019-07-06 09:09 satans 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入b,p,k的值,求b^p mod k的值。其中b,p,k*k为长整型数。 输入b,p,k的值,求b^p mod k的值。其中b,p,k*k为长整型数。 输入格式 三个整数b,p,k. 三个整数b,p,k. 输出格式 输出“b^p mod k=s” s为运算结果 输出“b^p mod k 阅读全文
posted @ 2019-07-02 13:17 satans 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 一个儿童棋盘游戏,包含了由点组成的正方形矩阵,由线段连接了一些相邻的点。游戏的一个环节是,要求玩家数出由这些线段所形成的特定大小的正方形有多少个。例如,按下图所示,有 3 个正方形,其中大小为 1 的有 2 个,大小为 2 的有 1 个。正方形的 “大小” 是指构成它的一条边的线段数。 你的任务是编 阅读全文
posted @ 2019-07-02 11:07 satans 阅读(96) 评论(0) 推荐(0) 编辑