![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
算法
一——一
这个作者很懒,什么都没留下…
展开
-
PAT 1053 Path of Equal Weight
PAT 1053 Path of Equal Weight算法笔记有坑原创 2022-06-29 10:57:14 · 140 阅读 · 1 评论 -
最短路算法Dijkstra
1. Dijkstra算法只能计算权重为正的情况,如有重边取最小值作为边,输出路径用dfs。# include<iostream># include<cstring>using namespace std;int n,m;const int N=510,M=100010;int g[N][N],used[N],d[N],pre[N];int Dijkstra(){ d[1]=0; //找v-s中距离最小的点加入s,进行n-1次操作 for(原创 2022-05-01 00:10:36 · 270 阅读 · 0 评论 -
快速排序模板
快速排序模板void quick_sort(int q[],int l,int r){ if(l>=r) return; int i=l-1;j=r+1;x=q[(l+r)>>1]; while(i<j){ do i++;while(q[i]<x); do j--;while(q[j]>x); if(i<j) swap(q[i],q[j]); } quick_sort(q,l,j); quick_sort(q,j+1,r);}...原创 2022-04-20 20:12:30 · 211 阅读 · 0 评论 -
前缀与差分
文章目录差分二维差分差分二维差分#include<iostream>using namespace std;const int N = 1010;int a[N][N], b[N][N];int n, m, q;void insert(int x1, int y1,int x2,int y2, int c) { b[x1][y1] += c; b[x2 + 1][y1] -= c; b[x1][y2 + 1] -= c; b[x2 + 1][原创 2021-11-20 00:29:30 · 62 阅读 · 0 评论 -
CCF CSP认证 2021年9月 数组推导
样例1输入60 0 5 5 10 10样例1输出3015样例2输入710 20 30 40 50 60 75样例2输出285285思路: 创建两个数组amin和amax分别存储sum最小和最大时A数组的取值,因为A1=B1,所以amin[1]=amax[1]=B[1], 接下来从1到n-1循环,每次看Bi的值是否大于Bi-1,如果大于则说明在 i 处数组A产生了一个新的最大值,这时amin和amax都要置为最大值;如果小于等于说明在 i 处数组A没有产生新的最大值,这时 A.原创 2021-11-06 16:35:15 · 346 阅读 · 0 评论 -
【PAT 乙级1023】组个最小数
给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。现给定数字,请编写程序输出能够组成的最小的数。输入格式:输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格分隔。10 个数字的总个数不超过 50,且至少拥有 1 个非 0 的数字。输出格式:在一行中输出能够组成的最小的数原创 2021-11-03 16:57:29 · 59 阅读 · 0 评论 -
【PAT 乙级1020】月饼
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意: 销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 15 万吨第 2 种月饼、以及 5 万吨第 3 种月饼,获得 72 + 45/2 = 94.5(亿元)。输入格原创 2021-11-03 16:40:23 · 53 阅读 · 0 评论 -
【PAT 甲级1025】PAT Ranking
Input Specification:Each input file contains one test case. For each case, the first line contains a positive number N (≤100), the number of test locations. Then N ranklists follow, each starts with a line containing a positive integer K (≤300), the numbe原创 2021-10-31 19:55:38 · 65 阅读 · 0 评论 -
【PAT 乙级B1009】说反话
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。输入样例:Hello World Here I Come输出样例:Come I Here World HelloAC程序:#include<stdi原创 2021-10-28 15:58:27 · 91 阅读 · 0 评论 -
【Codeup 5901】回文串
题目描述读入一串字符,判断是否是回文串。“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。输入一行字符串,长度不超过255。输出如果是回文串,输出“YES”,否则输出“NO”。样例输入12321样例输出YESAC程序:#include<stdio.h>#include<string.h>int main(){ char str[260]; gets(str); int len = strlen(str);原创 2021-10-28 11:12:25 · 78 阅读 · 0 评论 -
【PAT 乙级1022】D进制的A+B
输入两个非负 10 进制整数 A 和 B ,输出 A+B 的 D (1<D≤10)进制数。输入格式:输入在一行中依次给出 3 个整数 A、B 和 D。输出格式:输出 A+B 的 D 进制数。输入样例:123 456 8输出样例:1103AC程序注意:要考虑到A+B为0的情况,所以用do while#include<stdio.h>int main(){ int a, b, d, i,num[1000000],y; scanf("%d %d %d", &am原创 2021-10-28 10:51:48 · 75 阅读 · 0 评论 -
【Codeup 1928】日期差值
题目描述有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天。输入有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD输出每组数据输出一行,即日期差值样例输入2013010120130105样例输出5AC程序#include<stdio.h>bool isleap(int x) { return(x % 4 == 0 && x % 100 != 0 || x % 400 == 0);}int ma原创 2021-10-28 10:06:09 · 52 阅读 · 0 评论 -
【PAT 乙级1036】跟奥巴马一起编程
输入格式:输入在一行中给出正方形边长 N(3≤N≤20)和组成正方形边的某种字符 C,间隔一个空格。输出格式:输出由给定字符 C 画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的 50%(四舍五入取整)。输入样例:10 a//结尾无空行输出样例:aaaaaaaaaaa aa aa aaaaaaaaaaa//结尾无空行AC程序#include<stdio.h>int原创 2021-10-27 22:08:46 · 81 阅读 · 0 评论 -
【Codeup 1934】(查询)找x
题目描述输入一个数n,然后输入n个数值各不相同,再输入一个值x,输出这个值在这个数组中的下标(从0开始,若不在数组中则输出-1)。输入测试数据有多组,输入n(1<=n<=200),接着输入n个数,然后输入x。输出对于每组输入,请输出结果。**样例输入 **41 2 3 43样例输出2AC程序#include<stdio.h>int main(){ int n, in[300],x,ind; while (scanf("%d", &n) !原创 2021-10-27 21:15:52 · 75 阅读 · 0 评论 -
【PAT 乙级1032】 挖掘机技术哪家强
输入格式:输入在第 1 行给出不超过 10 的五次方的正整数 N,即参赛人数。随后 N 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。输出格式:在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。输入样例:63 652 801 1002 703 403 0输出样例:2 150AC程序#include<stdio.h>int main(){原创 2021-10-27 16:45:08 · 70 阅读 · 0 评论