C++
禺垣
万世之一时,全局之一域。
展开
-
C++使用笔记
1. 字符单引号,字符串双引号 2.vector作为变长数组,输入指定长度内容 #include<iostream> #include<vector> using namespace std; int main(){ vector<int> a; int n;//指定长度n cin>>n; int x; for(int...原创 2018-09-12 21:57:15 · 257 阅读 · 0 评论 -
C++错误笔记
1.[Error] 'strcpy' was not declared in this scope 解决方法:在头文件加上#include<cstring>或#include<string.h>原创 2018-09-13 06:47:33 · 440 阅读 · 0 评论 -
0-1背包问题
核心:问题分解、状态转移 1 问题及求解 一堆物品,编号1,2,…,n,重量w1,w2,…,wn,价值v1,v2,…,vn,现在有一个包,能承受的最大重量为w,问选装哪几件物品,能带走的价值最大? 核心:问题分解、状态转移 分解:对每个物品就两种情况,要么装,要么不装,那么我们从最后一个物品n开始逐个考察。 状态转移:对第i个物品,当前背包容量为j,当前背包内最大价值为val[i][j]...原创 2018-10-04 19:19:38 · 305 阅读 · 0 评论 -
C++笔记之map使用
头文件#include<map>. map<string,int> m,存入的是键值对,自动按键值升序排列。 插入:通过关键字或insert,五种方式。 访问:m[5]为关键字5对应的值; 迭代器it->first,it->second. 查找:it=m.find(5),返回关键字5对应的迭代器,若未找到,返回m.end() 删...原创 2018-10-05 18:57:41 · 253 阅读 · 0 评论 -
C++笔记之set使用
set有元素唯一性,自动排序。 1.常用操作 插入:se.insert(5); 访问:只能通过迭代器,*it 查找:it=se.find(3),返回元素对应的迭代器,若未找到,返回se.end() 删除:se.erase(4),删除值为5的元素; se.erase(it),删除迭代器指定的元素。 判空:se.empty(),若为空,返回1;若不空,返回0. ...原创 2018-10-06 10:23:48 · 377 阅读 · 0 评论 -
C++笔记之list使用
list为双向链表,头文件#include<list> 1.基本操作 插入:首端、尾端、中间(通过迭代器)查找:没有成员函数,只能通过find(ilist.begin(),ilist.end(),1),返回迭代器删除:首端、尾端、中间(通过迭代器)排序:成员函数ilist.sort(),默认升序倒转:ilist.reverse(),元素倒转 判空:ilist.empty(),若为空...原创 2018-10-06 13:08:46 · 313 阅读 · 0 评论