题意: 求一个最大p使得,在区间[1, p] 内的所有区间 a 序列 和 b序列的最小值下标相同 用单调栈来维护,当第i个元素要进栈时,进行必要出栈操作,使得第i个元素进栈后,该栈单调递增,当a,b两栈的元素个数不相等时,则已达到最大 我的是用数组模拟栈 #include<cstdio>#inclu ...
分类:
其他好文 时间:
2019-08-01 00:05:48
阅读次数:
78
1.定义 引入:为什么要使用线段树而不用数组模拟呢? answer:因为有些题用数组来做就要超时,用线段树的O(log(n))的时间复杂度刚好可以求解 毫无疑问线段树是一种数据结构,但是它实际是一个类似树状的链表结构(个人认为) ///还是要正经一点(照搬教科书) / /////////////// ...
分类:
其他好文 时间:
2019-07-24 10:22:25
阅读次数:
122
数组:加一题干:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位,数组中每个元素只存储一个数字。你可以假设除了整数0之外,这个整数不会以零开头。参考样例:示例1:输入:[1,2,3]输出:[1,2,4]解释:输入数组表示数字123。示例2:输入:[4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字4321。这道题是一道数组的基础题,其本质是一
分类:
编程语言 时间:
2019-06-18 18:32:25
阅读次数:
99
题目描述 实现栈的数据结构,使其具有以下方法 1、创建空栈 1、添加新元素 3、弹栈 4、返回栈顶元素 5、判断栈是否空栈 6、返回栈的元素个数 方法一:数组实现. 在采用数组模拟栈的时候,栈空间是一段连续的空间。具体思路是:将数组的首元素作为栈底,记录元素的个数,利用这个原理非常容易完成栈的操作 ...
分类:
编程语言 时间:
2019-06-06 21:20:24
阅读次数:
113
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6034 题意: 给出 N 个字符串,要求我们对每个字符映射成 0~25中的一个数字,要求最后所有字符串转换为26进制能得到的最大值。 解题思路: 统计每个字符在每一位上得贡献(用数组模拟26进制),然后按照 ...
分类:
其他好文 时间:
2019-05-03 11:46:10
阅读次数:
131
今天主讲图论。 前言:图的定义:图G是一个有序二元组(V,E),其中V称为顶集(Vertices Set),E称为边集(Edges set),E与V不相交。它们亦可写成V(G)和E(G)。 一、图的存储: 1、邻接矩阵: 2、邻接表: 数组模拟链表实现:记录每条边的终点、边权(如果有的话)、同一起点 ...
分类:
其他好文 时间:
2019-05-02 21:27:10
阅读次数:
163
int gdc(int n){ int num[200]={1}; //保存这个位置的数 int jw=0,len=1; for(int i=2;i<=n;i++){ for(int j=0;j<len;j++){ int zhi=(num[j]*i+jw)/10; num[j]=(num[j]*i ...
分类:
编程语言 时间:
2019-04-20 21:08:33
阅读次数:
115
数组模拟的简单链表(并没学过链表,%%water_lift) ...
分类:
其他好文 时间:
2019-04-13 11:06:11
阅读次数:
160
这道题TLE了很多次,原来一直以为将数字化为最简可以让运算更快,但是去了简化之后才发现,真正耗时的就是化简....还和队友学到了用状态少直接数组模拟刚就能过... 本题大意:给出可乐的体积v1,给出两个杯子v2和v3,要求v2 + v3 == v1,每次只能从一个杯子倒到另一个杯子,问最少倒多少次可 ...
分类:
其他好文 时间:
2019-03-08 09:29:01
阅读次数:
170
一、思路: 1.字符数组读入,整形数组存储,字符数组输出 2.类似于十进制大数加法,用整型数组模拟运算;总使得长度长的字符串作为s1,这涉及到字符数组交换 3.每次结束时清空整型数组 二、注意点: 1.读取时采用: 获取字符串长度采用: 交换字符串采用: 这里所有的字符数组都是从第1位而非第0位开始 ...
分类:
编程语言 时间:
2019-03-03 17:33:25
阅读次数:
278