- 博客(11)
- 收藏
- 关注
原创 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.
2022-02-13 17:53:38
317
原创 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...
2022-01-23 13:36:19
350
原创 随机选择 |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 &...
2022-01-21 21:02:09
424
原创 随机选择算法(排序)
给定一个无序的数组,输入第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
2022-01-21 17:46:38
863
原创 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输出样...
2022-01-20 21:25:59
436
转载 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)
2022-01-19 11:19:54
4627
2
原创 简单开根号(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){.
2022-01-17 12:49:48
10054
原创 最多不相交的区间
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;//如果右端点相
2022-01-16 17:58:17
405
原创 PAT B1023
给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。现给定数字,请编写程序输出能够组成的最小的数。输入格式:输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格分隔。10 个数字的总个数不超过 50,且至少拥有 1 个非 0 的数字。输出格式:在一行中输出能够组成
2022-01-16 17:05:03
70
原创 PAT B1020
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 15 万吨第 2 种月饼、以及 5 万吨第 3 种月饼,获得 72 + 45/2 = 94.5(亿元)。输入
2022-01-16 16:38:43
63
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人