1.读入优化 我们平时所使用的scanf,cin速度都较慢,当读入的数据达到10^5规模以上时,就会开始显现劣势 而c中自带的getchar函数读入速度较快,可以用来优化数字的读入速度。 2.滚动数组 写Dp经常需要大家开高维数组,比如F[t][i][j]。有的时候转移仅需要上一维数组,如F[t-1 ...
分类:
编程语言 时间:
2016-08-16 21:45:06
阅读次数:
364
对高维数组来说 分配内存空间有下面几个方法 (1)直接为每一维数组分配空间 int a[][]=new int [2][3]; (2)从最高维开始,分别为每一维分配空间 int a[][]=new int[2][]; a[0]=new int [3]; a[1]=new int [3]; 非规则矩阵 ...
分类:
编程语言 时间:
2016-05-23 19:08:13
阅读次数:
214
(1)指针与二维数组 一个数组的名字代表该数组的的首地址,是地址常量(作为形式参数的数组名除外),这一规定对二维数组或更高维数组同样适用。 在c语言中定义的任何一个二维数组实际上都可以看做是一个一维数组,该一维数组中的每一个成员又是一个一维数组。 若有定义int d[3][4],i,j;且0<=i< ...
分类:
其他好文 时间:
2016-04-13 18:48:10
阅读次数:
198
使用C++标准模版库(STL)中的Vector(向量)可以实现变长数组,实现二维数组,高维数组。下面给出代码实现。
#include
#include
using namespace std;
int main()
{
int len;
cin>>len;
vector array(len);//声明变长数组
for(int i=0;i
array[i]=i;
cout
r...
分类:
编程语言 时间:
2015-08-19 13:33:19
阅读次数:
140
1、定义一维和二维甚至高维数组的方法为:
数组类型 [ ] 数组名称;
数组类型 [ ] [ ]数组名称;
数组类型 [ ][ ] ....数组名称;
需要注意的是在定义数组时不能指定数组的长度。
2、数组的初始化有静态初始化和动态初始化,二者的区别在:静态初始化指定数组的数组,动态初始化只指定数组的长度。
例如:int [ ] Arr;
Arr=new int [...
分类:
编程语言 时间:
2015-05-06 13:25:30
阅读次数:
158
借鉴:http://www.cnblogs.com/beyondstorm/archive/2008/08/26/1276278.html http://www.cnblogs.com/platero/archive/2010/12/18/1910057.html高维数组的动态申请和释放与二维数.....
分类:
编程语言 时间:
2014-12-25 12:55:56
阅读次数:
193
商店买东西会有优惠政策,使用优惠政策使顾客花的钱尽可能的少。
这道题很有现实背景啊,起初看这道题想的是用规则去优化各种组合情况的物品,并没有想到用背包。因为没有做过“规则”这种物品
还有一点就是接收输入信息的时候若用高维数组很难控制,当时竟然写出了int (*it)[5][5][5][5] 这种东西。
这时,进制优化发挥作用了,其思想类似于康托展开,且因为这个问题并不是直接将位置映射到数集,...
分类:
其他好文 时间:
2014-11-12 17:58:21
阅读次数:
143