C++ STL 1、vector是一种容器,是变长数组。2、vector<int> s 或者vector<int> s[100] 后者是二维数组。3、在s后面插入元素 s.push_back(456) s.pop_back(44) 括号内填入要插入的元素。4、两种访问方式(1)s[0] s[1] s[s.size()-1] //s.size() 表示大小(2)迭代器 vector<int>::iterator p = s.begin()5、清除元素 s.eras.
PAT B1013 令Pi表示第i个素数。现任给两个正整数M≤N≤104,请输出PM到PN的所有素数。输入格式:输入在一行中给出M和N,其间以空格分隔。输出格式:输出从PM到PN的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。输入样例:5 27输出样例:11 13 17 19 23 29 31 37 41 4347 53 59 61 67 71 73 79 83 8997 101 103#include &l...
随机选择 |S2-S1|的最大值 给定n个互不相同的数,让其分为两组 n1 n2 使其 交 为 空集 并 为原集合然后使|n1-n2|的值最小,使|s2-s1|的值最大,s2 s1为 前n1 n2 个数的和首先 题都没读懂...其实 仔细思考了以后,不就是两个不重复的分组?关键就是 要找到 第 n/2大的数然后利用随机选择排序代码如下#include <stdio.h>#include <math.h>#include <stdlib.h>#include &...
随机选择算法(排序) 给定一个无序的数组,输入第n大,输出第n大的数。(随便排序)#include <stdio.h>#include <math.h>#include <stdlib.h>#include <time.h>#define max 5int randpartition(int a[],int low, int high){ int s=round(1.0*rand()/RAND_MAX*(high-low)+low); int temp=a[s
PAT乙1040 字符串APPAPT中包含了两个单词PAT,其中第一个PAT是第 2 位(P),第 4 位(A),第 6 位(T);第二个PAT是第 3 位(P),第 4 位(A),第 6 位(T)。现给定字符串,问一共可以形成多少个PAT?输入格式:输入只有一行,包含一个字符串,长度不超过105,只包含P、A、T三种字母。输出格式:在一行中输出给定字符串中包含多少个PAT。由于结果可能比较大,只输出对 1000000007 取余数的结果。输入样例:APPAPT输出样...
C语言:计算程序运行时间 使用Linux系统调用该调用获取从1970年1月1号到现在经过的时间和时区(UTC时间), 可以参考Linux手册(精度最高)#include <stdio.h>#include <sys/time.h>int main(int argc, char *argv[]){ struct timeval start_time, end_time; double timeuse; gettimeofday(&start_time, NULL)
简单开根号(c语言) #include <stdio.h>#define eps 1e-7bool flag=false;double sqrt(int n){ flag=false; double i=0,j=0; while(i*i<n){ i++;//1 2 3 } double left=i-1,right=i,mid; if(right*right==n){ flag=true; return right; } while(right-left>eps){.
最多不相交的区间 1.16给定区间个数n,然后给定n个区间,求出尽可能多的不相交的区间。#include <stdio.h>#include <algorithm>using namespace std;struct point{ int x,y;}s[max]; bool cmp(point a,point b){//先按右端点,从小到大排序 if(a.y!=b.y) return a.y<b.y; else return a.x>b.x;//如果右端点相
PAT B1023 给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。现给定数字,请编写程序输出能够组成的最小的数。输入格式:输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格分隔。10 个数字的总个数不超过 50,且至少拥有 1 个非 0 的数字。输出格式:在一行中输出能够组成
PAT B1020 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 15 万吨第 2 种月饼、以及 5 万吨第 3 种月饼,获得 72 + 45/2 = 94.5(亿元)。输入