vector
天天向上的菜鸡杰!!
生活明朗 万物可爱 人间值得 全力以赴
展开
-
8-1 回溯法实验报告 (15 分)(思路+详解)
一:题目给定k个正整数,用算术运算符+,-,,/ 将这k个正整数连接起来,是最终的得数恰为m。如果有多组满足要求的表达式,只要输出一组,每一步算式用分号隔开。如果无法得到m,得输出“No Solution”。样例输入:d5 1257 2 2 12 3第一行输入整数的个数k和m,第二行输入k个整数。这只是其中一种结果样例输出: 73=21 21*12=252 252-2=250 250/2=125二:思路:1.全排列 + 子集数2.我们穷举所有的可能的数字组合,这是全排列,但要注意的原创 2021-11-17 07:22:43 · 3339 阅读 · 2 评论 -
利用vector实现一对一(pair<int,int>)
一:前言我们知道有一对一的STL容器有map容器,但是map容器中的按键值排序和不允许由重复的元素,现在,我们可以利用vector<pair<int,int> >来实现一对一,但其没有排序可以允许有重复的元素二:演示#include<bits/stdc++.h>using namespace std;int main(){ vector<pair<int,int> >v; vector<pair<int,int&g原创 2021-11-15 23:31:24 · 2828 阅读 · 0 评论 -
vector的逆序输出(神奇的vector)
一:直接上代码(逆序输出)#include<bits/stdc++.h>using namespace std;int main(){ vector<int> v; for(int i = 0; i < 5; i++){ v.push_back(i); } reverse(v.begin(),v.end()); for(int i = 0; i < 5; i++){ cout << v[i] << ' ';原创 2021-11-15 21:19:45 · 3955 阅读 · 0 评论 -
7-8 最优服务次序问题 (10 分)
一 :题目设有n 个顾客同时等待一项服务。顾客i需要的服务时间为 ti(1<=i<=n) 。应如何安排n个顾客的服务次序才能使平均等待时间达到最小?平均等待时间是n 个顾客等待服务时间的总和除以n。输入格式:第一行是正整数n(1<n<1000),表示有n 个顾客。接下来的1行中,有n个正整数,表示n个顾客需要的服务时间。输出格式:计算出的最小平均等待时间,保留两位小数。输入样例:1056 12 1 99 1000 234 33 55 99 812结尾无空行原创 2021-10-22 21:58:39 · 910 阅读 · 0 评论 -
7-1 活动选择问题 (25 分)(思路+详解+扩展)宝 今天你AC了吗!!!
一:题目假定一个有n个活动(activity)的集合S={a1,a2,…,an},这些活动使用同一个资源(例如同一个阶梯教室),而这个资源在某个时刻只能供一个活动使用。每个活动ai都有一个开始时间si和一个结束时间fi,其中0<=si<fi<=32767。如果被选中,任务ai发生在半开时间区间[si,fi)期间。如果两个活动ai和aj满足[si,fi)和[sj,原创 2021-10-22 21:55:44 · 2179 阅读 · 0 评论 -
vector的基本用法 (详解 + 代码演示)
前言:vector 是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器。vector 是C++ STL的一个重要成员,使用它时需要包含头文件:#include;一、vector 的初始化:可以有五种方式,举例说明如下:(1) vector a(10); //定义了10个整型元素的向量(尖括号中为元素类型名,它可以是任何合法的数据类型),但没有给出初值,其值是不确定的。(2)vector a(10,1); //定义了10个整型元素的向量,且给出每个元素的初值为1(3)vector a原创 2021-05-28 17:12:53 · 7577 阅读 · 3 评论 -
vector的求和用法accumulate
一:直接上码演示#include<bits/stdc++.h>using namespace std;int main(){ //vector的初始化 vector<int> v1(date1,date2),date1表示vector的大小 // date2表示vector的初始值是多少 vector<int> v1(10,10); int sum1原创 2021-10-04 21:44:41 · 2192 阅读 · 0 评论 -
vector容器中清空元素(但原来的元素还在)
一:上码演示1:清空元素但其原来的元素还在#include<bits/stdc++.h>using namespace std; int main(){ vector <int> vecInt; for (int i=0;i<500;i++) { vecInt.push_back(i); } int j= vecInt.capacity(); //j=512 int i = vecInt.size();原创 2021-10-12 08:12:23 · 459 阅读 · 2 评论 -
vector容器中关于处理从非0位置开始赋值的操作
一:前言问题描述:我们想从下标非0的位置开始赋值,那么我们需要两步骤:1.确定开启的vector容器的范围(eg: vector v(1000))2.在赋值的时候,不可以用push_back()了,直接用(v[i] = values)二:代码演示 #include <bits/stdc++.h>using namespace std;int main(){ vector<int> v(100); for(int i = 5; i < 10; i++)原创 2021-10-12 17:13:35 · 291 阅读 · 0 评论 -
vector容器中重写sort方法
一:问题描述1:我们常用的vector中sort方法是升序的但我们可以通过重新定义sort方法即可实现其的降序处理,以前总是在结构体数组当中用到过重写sort方法,但其实在vector当中也是可以用的2:我们在调用的时候注意:sort(v.begin(),v.end(),重新定义的函数名字);二:代码演示#include<bits/stdc++.h>using namespace std; bool comp(const int &a,const int &am原创 2021-10-12 21:32:59 · 887 阅读 · 0 评论 -
vector容器中查找某一元素是否存在(牛逼的vector!!!!!!)
一:前言当你想要快速查找某一元素是否存在,可以调用该方法二:步骤1.写迭代器:vector ::iterator t;2.调用find方法:t = find(v.begin(),v.end(),查找的元素);3.和v.end()进行比较,如果找到了,那么t就不会指向 v.end(),也就是 t != v.end()三:测试代码#include<bits/stdc++.h>using namespace std; bool search(vector<int>&原创 2021-10-19 19:29:48 · 15140 阅读 · 0 评论