基础知识
即将猝死的小太君
Acm is just a game,if you like it,enjoy it.
展开
-
resize() 和 reverse() 改变容器大小
resize() 和 reverse() 改变容器大小Tags: 基础知识小结:reverse(n0)改变最大容量,resize(n1,t)改变当前可直接利用的元素个数,使用t初始化元素,默认为0,当n1>n0时,自动扩充最大容量先看看《C++ Primer》中对resize()函数两种用法的介绍:resize(n)调整容器的长度大小,使其能容纳n个元素。如果n小...原创 2019-06-30 18:50:09 · 342 阅读 · 1 评论 -
栈内存和堆内存
栈内存和堆内存内存中的栈区与堆区:一般说到内存,指的是计算机的随机储存器(RAM),程序都在这里面运行。计算机内存的大致划分如下图所示:####* 栈内存:由程序自动向操作系统申请分配以及回收,程序启动时统一分配此后不能再扩大,决定了递归深度有上限,但是C/C++一般情况下递归上万次是可以的,速度快,使用方便,但程序员无法控制。若分配失败,则提示栈溢出错误。栈区向地址减小的方向增长...原创 2019-02-10 15:46:10 · 278 阅读 · 0 评论 -
随机数函数
随机数函数我们知道rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,是根据一个数(我们可以称它为种子)为基准以某个递推公式推算出来的一系列数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数。周期为RAND_MAX(2147483647),当你取得2147483647个随机数后它们又重复出现了。当计算机正常开机后,这个种子的值是...原创 2019-02-10 15:45:39 · 371 阅读 · 0 评论 -
C++数组的传值
#C++数组的传值将数组作为参数进行传递:有两种传递方法,一种是function(int a[]);另一种是function(int *a)。这两种两种方法在函数中对数组参数的修改都会影响到实参本身的值!对于第一种,根据之前所学,形参是实参的一份拷贝,是局部变量。但是数组是个例外,因为数组的数据太多了,将其一一赋值既麻烦又浪费空间,所以数组作为参数传递给函数的只是数组首元素的...原创 2019-02-10 15:44:54 · 2969 阅读 · 0 评论 -
KMP算法的实现
KMP算法的实现标签(空格分隔): ACMvoid get_next(string t ,int* next){ //t[0]存放元素个数,从t[1]开始存放元素; int j=0,i=1; next[1]=0; while(i<t[0]){ if(j==0||t[i]==t[j]){ i++; ...原创 2019-02-10 15:41:30 · 135 阅读 · 0 评论 -
STL-string小结
参考自:http://blog.csdn.net/y990041769/article/details/8763366和 C++primer1:string对象的定义和初始化以及读写string s1; 默认构造函数,s1为空串 string s2(s1); 将s2初始化为s1的一个副本 string s3("valuee"); 将s3初始化一个字符串面值副本...原创 2018-07-21 10:26:40 · 239 阅读 · 0 评论 -
子函数之间的相互调用
简化突出要点写法:double f1(int n, double a[], double x){} 子函数1double Get_Run_Time(double (*f)(int, double *, double)){ 子函数2 (*f)(MAX, a, 1.1);}printf("Run time of f1: %.2e sec\n\n", Get_Run_Time...原创 2018-07-20 10:38:55 · 7825 阅读 · 1 评论 -
数的拆分思想
数的拆分思想Tags:数论小知识一个数除以3的余数为什么等于这个数各个位数加起来除以3的余数。掌握知识点:将一个数拆成各个位相加,123 = 1 * 100 + 2 * 10 + 3 * 1eg:79 % 3 = ( 7 + 9 ) % 3 = 1 ------------Demonstrate:10 ÷ 3 = 3...1100 ÷ 3 = 33....1.......原创 2019-03-29 12:43:35 · 380 阅读 · 0 评论 -
字符串匹配(序列自动机)
牛客小白月赛12-J给定一个主串,和若干匹配串,判断匹配串是否在主串中出现,不必相连,只要字母和对应先后顺序符合即可。不同于KMP,KMP要求相连输入noiauwfaurainairtqltqlmomomo8rainairtqlnttxiaobaioiiioooorzcnzcnznbooooo输出YesYesYesYesNoYesNoNo#i...原创 2019-04-25 20:04:40 · 384 阅读 · 0 评论 -
# 错排问题
错排问题Tags : 动态规划n个编号的元素放在n个编号的位置,第i个位置不能防止 i 号元素,即每个位置都错排,错排方法数为D(n)取第 i 号元素用于安排位置,将他放在除 i 外的任一一个位置(n-1)种,假设为 j 号位,这时有两种情况j 号元素如果放在 i 号位,则转化成 (n-1)*D(n-2)j 号元素不放在 i 号位,此时可以假想 j 号元素对应归属从 j 号位变成...原创 2019-04-19 09:30:35 · 138 阅读 · 0 评论 -
素数筛法
素数筛法文章目录素数筛法优化版埃氏筛法(NlogN)欧拉筛法(O(N) 最小质因子的应用)欧拉筛法打表观察:优化版埃氏筛法(NlogN)优化后的筛法可以减少大量的重复筛,但是仍然无法做到所有数只筛一次。例如:3∗35=7∗15=105,i=3时,j=3∗3j=3∗3+3∗2j=3∗3+3∗2+3∗2=3∗3+3∗4.......j=3∗3+3∗32=3∗35−−−−−−−−−−−−−−−...原创 2019-02-12 17:19:54 · 1127 阅读 · 0 评论 -
C++函数默认参数
C++中允许为函数提供默认参数,又名缺省参数。使用默认参数时的注意事项:① 有函数声明(原型)时,默认参数可以放在函数声明或者定义中,但只能放在二者之一double sqrt(double f = 1.0); //函数声明double sqrt(double f) //函数定义{ // .... }② 没有函数(原型)时,默认参数在函数定义时指定....转载 2019-06-30 18:50:24 · 173 阅读 · 0 评论 -
string流的使用
文章目录//Example:istringstream可以用于分割被空格、制表符等符号分割的字符串//Example:stringstream、istringstream、ostringstream的构造函数和用法//Example:stringstream的.str()方法注意事项参考链接+注意使用ss(流对象).str("")//清理及时缓存istringstream 输入流stri...转载 2019-03-05 20:25:06 · 2695 阅读 · 0 评论 -
对字符数组的读取
1, cin以空格,tab,换行位结束,并残留在缓冲区2, cin.get():只能char[],无法string读取单个字符可读取空格,换行等,并以换行结束。读取数组时,cin.get(ch,4); cin.get(); cin.get(ch2,3)可控制读取个数,但是将换行符留在缓冲区中,故要使用cin.get()吃掉。3,cin.getline()少用不太会,只能char[],和...转载 2019-03-05 19:18:18 · 1874 阅读 · 0 评论 -
秦九韶算法
给定a[]和x,求多项式的值。分析:进行如下改写:由内向外逐步计算,即:本算法的时间复杂度为O(n),它叫做秦九韶算法。double f (int n,double a[],double x){//n代表a[]的大小,数组的传递需要指定数组大小 int i; ...原创 2018-07-20 10:26:20 · 1772 阅读 · 0 评论 -
STL小结
STL小结文章目录STL小结vectorstringsetvector常见STL容器中只有vector和string支持v.begin()+3这种迭代器加上整数的写法v.size(),v.empty()时间复杂度为O(1)v.insert(it,x)在迭代器位置处插入元素v.erase(it)删除迭代器处的元素v.erase(v.begin()+2,v.begin()+6)删除左闭...原创 2019-02-18 10:39:37 · 151 阅读 · 0 评论 -
大数加法模板
文章目录使用指针避免拷贝短string补‘0’使用指针避免拷贝//使用指针避免拷贝void Bign_Add(string* a,string* b,string& ans){//将地址作为值传递,本质上就是值传递, unsigned long lena=a->length(),lenb=b->length(); ans.clear(); if(...原创 2019-02-15 16:45:33 · 123 阅读 · 1 评论 -
# 一维消消乐(简单dp)
一维消消乐(简单dp)Tags : 动态规划题意:n 颗珠子,每颗有一个价值w_i(可能是负数),游戏规则:选择若干对相邻珠子,让他们同事消去,分数为两个珠子价值乘积,珠子只能消去一次,消去的珠子还会占位#include <iostream>using namespace std;const int maxn=10005;int a[maxn];int dp[ma...原创 2019-04-20 11:05:14 · 2156 阅读 · 0 评论