数据结构 STL vector 在数组中访问复杂度为O(1); 关于链表,他可能可以实现动态数组,但访问复杂度为O(n) 当空间不够 vector会自动给你定义两倍到三倍的位置 定义方式:vector<int> a; 在末尾压入容器:a.push_back(x); 在末尾弹出容器:a.pop_bac ...
分类:
其他好文 时间:
2020-01-19 09:41:25
阅读次数:
107
Python中至少有三种比较常见的方法类型,即实例方法,类方法、静态方法。它们是如何定义的呢?如何调用的呢?它们又有何区别和作用呢?且看下文。 首先,这三种方法都定义在类中。下面我先简单说一下怎么定义和调用的。(PS:实例对象的权限最大。) 实例方法 定义:第一个参数必须是实例对象,该参数名一般约定 ...
分类:
编程语言 时间:
2020-01-18 21:31:58
阅读次数:
90
实现一个基本的计算器来计算一个简单的字符串表达式的值。 字符串表达式可以包含左括号 ( ,右括号 ),加号 + ,减号 -,非负整数和空格 。 示例 1: 输入: "1 + 1"输出: 2示例 2: 输入: " 2-1 + 2 "输出: 3示例 3: 输入: "(1+(4+5+2)-3)+(6+8) ...
分类:
其他好文 时间:
2020-01-18 01:31:05
阅读次数:
102
#include <bits/stdc++.h> #include<math.h> #include <string> using namespace std; //5个map变量分别建立书名,作者,关键词,出版社及出版年份与id的映射关系 map<string,set<int>> mpTitle, ...
分类:
编程语言 时间:
2020-01-17 13:34:21
阅读次数:
70
#include <bits/stdc++.h> #include<math.h> #include <string> using namespace std; const int maxn = 40010;//最大学生人数 bool check(char c){ if(c >= '0' && c< ...
分类:
编程语言 时间:
2020-01-17 00:23:47
阅读次数:
155
[ZJOI2007]捉迷藏 这是我最近写过最长的代码QAQ 码力太弱了QAQ 动态点分治模板题。 我们可以用三种堆来维护答案,这些堆要求支持删除非顶元素,以及查询次小值。我们把两个STL堆封装起来就可以实现。 三种堆: d[x]表示以x为根的点分树中所有黑点到它分治爹的距离 c[x]表示以x为根的所 ...
分类:
其他好文 时间:
2020-01-17 00:06:26
阅读次数:
58
用了打表的技巧 #include <bits/stdc++.h> #include<math.h> #include <string> using namespace std; const int maxn = 40010;//最大学生人数 //[0,12]的火星文 string unitDigit ...
分类:
编程语言 时间:
2020-01-16 22:12:44
阅读次数:
79
超时主要是这个语句的原因: for(iter = temp[num1].begin();iter != temp[num1].end();++iter){ for(iter1 = temp[num2].begin();iter1 != temp[num2].end();++iter1){ if(*i ...
分类:
编程语言 时间:
2020-01-16 14:21:01
阅读次数:
88
没有想到以二维数组 char [N][5] 存放输入的姓名,自己尝试用vector<char> 失败了。 小技巧:如果排序时直接对字符串排序,那么会导致大量的字符串移动,非常耗时间,因此比较合适的做法是使用字符串的下标来代替字符串本身进行排序,这样消耗的时间会少得多 strcmp 的返回值不一定是 ...
分类:
编程语言 时间:
2020-01-16 01:21:26
阅读次数:
98
容器 vector 特点:动态数组 元素类型相同 只能从尾部快速插入或者删除 随机访问快 中间插入删除慢(需要移动) capcity是给的块的大小 定义vectorvector<int> A(10, 1); //声明一个初始大小为10且值都是1的向量vector<int> A(tmp); //声明并 ...
分类:
其他好文 时间:
2020-01-16 01:04:49
阅读次数:
68