
算法
文章平均质量分 67
个人平时用到的算法
狗蛋儿l
这个作者很懒,什么都没留下…
展开
-
蓝桥杯省赛C++组别大学B组历年题解
第十届蓝桥杯C/C++ B组省赛题解第十一届蓝桥杯7月场次b组题解第十一届蓝桥杯省赛B组(C/C++组)(第二场)第十二届蓝桥杯(省赛)(C/C++大学B组)原创 2022-03-10 19:59:22 · 8588 阅读 · 0 评论 -
第十届蓝桥杯C/C++ B组省赛题解
A.组队答案:490本题很简单可以直接手算,找到每列最高分数,且做到不重复就可以,有重复可选择次高分数B年号字串【问题描述】小明用字母A对应数字1,B对应2,以此类推,用Z对应26。对于27以上的数字,小明用两位或更长位的字符串来对应,例如AA对应27,AB对应28,AZ对应52,LQ对应329。请问2019对应的字符串是什么?#include <iostream>using namespace std;char s[27] = {0,'A','B','C','D','E原创 2022-03-10 19:56:35 · 709 阅读 · 0 评论 -
力扣leetcode第 280 场周赛
得到 0 的操作数给你两个 非负 整数 num1 和 num2 。每一步 操作 中,如果 num1 >= num2 ,你必须用 num1 减 num2 ;否则,你必须用 num2 减 num1 。例如,num1 = 5 且 num2 = 4 ,应该用 num1 减 num2 ,因此,得到 num1 = 1 和 num2 = 4 。然而,如果 num1 = 4且 num2 = 5 ,一步操作后,得到 num1 = 4 和 num2 = 1 。返回使 num1 = 0 或 num2 = 0 的 操原创 2022-02-13 16:15:22 · 7730 阅读 · 0 评论 -
Educational Codeforces Round 122 (Rated for Div. 2)
A. Div. 7题目:You are given an integer n. You have to change the minimum number of digits in it in such a way that the resulting number does not have any leading zeroes and is divisible by 7.If there are multiple ways to do it, print any of them. If the g原创 2022-02-02 19:29:30 · 745 阅读 · 0 评论 -
数据结构期末大题速成
二叉树遍历DLR–前序遍历(根在前,从左往右,一棵树的根永远在左子树前面,左子树又永远在右子树前面 )LDR–中序遍历(根在中,从左往右,一棵树的左子树永远在根前面,根永远在右子树前面)LRD–后序遍历(根在后,从左往右,一棵树的左子树永远在右子树前面,右子树永远在根前面)先序遍历中序遍历后序遍历深搜广搜BFS:这是一种基于队列这种数据结构的搜索方式,它的特点是由每一个状态可以扩展出许多状态,然后再以此扩展,直到找到目标状态或者队列中头尾指针相遇,即队列中所有状态都已处理完毕。D原创 2021-11-24 15:05:20 · 2897 阅读 · 0 评论 -
第十二届蓝桥杯(省赛)(C/C++大学B组)
A.空间256 * 1024 * 1024 * 8 / 32 = 67108864B.卡片#include<cstring>#include<algorithm>#include<cstdio>#include<cmath>#define mp make_pair#include<queue>#include<vector>#include<iostream> #include<map>原创 2021-05-09 21:47:04 · 11954 阅读 · 31 评论 -
2021年第三届传智杯全国大学生IT技能大赛(决赛B组)
T172096 课程题目背景disangan233 喜欢数数,于是他想让你帮他回答一个问题。题目描述传智专修学院提供 A,B 两个课程,分别有 n,m个学生报名。报名 A 的学生的编号为 an,报名 B 的学生的编号为 bm,求有多少个学生同时报名了两个课程。对于所有数据,n,m,ai,bi≤20,保证每个课程报名的学生编号不会重复。输入格式输入共 3 行。第 1 行输入 2 个正整数 n,m。第 2 行输入 n 个正整数 a1…an,表示报名课程 A 的学生编号。第 3 行输入原创 2021-03-29 16:32:20 · 2602 阅读 · 4 评论 -
hdu题目分类
基础题:1000、1001、1004、1005、1008、1012、1013、1014、1017、1019、1021、1028、1029、1032、1037、1040、1048、1056、1058、1061、1070、1076、1089、1090、1091、1092、1093、1094、1095、1096、1097、1098、1106、1108、1157、1163、1164、1170、1194、1196、1197、1201、1202、1205、1219、1234、1235、1236、1248、1266、1转载 2021-03-03 18:05:54 · 279 阅读 · 1 评论 -
第三届“传智杯”全国大学生计算机大赛
T160507 A - 课程报名题目描述传智播客推出了一款课程,并进行了一次促销活动。具体来说就是,课程的初始定价为 v 元;每报名 m 个学员,课程的定价就要提升 a 元。由于课程能够容纳的学生有限,因此报名到 n 人的时候就停止报名。现在老师想知道,当课程停止报名时,一共可以获得多少学费呢?输入格式一行四个使用空格隔开的整数,分别为 n,v,m,a。输出格式一行一个整数,表示答案。输入输出样例输入 #15 1 1 1输出 #115说明/提示样例解释每卖出 1 个课程,价格就原创 2021-01-09 12:38:26 · 2074 阅读 · 1 评论 -
dp板子
背包const int MAXN = 101;const int SIZE = 50001;int dp[SIZE];int volume[MAXN], value[MAXN], c[MAXN];int n, v; // 总物品数,背包容量// 01背包void ZeroOnepark(int val, int vol){ for (int j = v ; j >= vol; j--) { dp[j] = max(dp[j],原创 2021-01-08 19:34:57 · 286 阅读 · 1 评论 -
2019年蓝桥杯国赛c++/c B组
A 平方序列代码:#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<cmath>#define mp make_pair#include<queue>#include<vector>#include<map>using namespace std;#define ll long l原创 2021-01-07 21:50:13 · 796 阅读 · 1 评论 -
2020第十一届蓝桥杯国赛B组C/C++
A 美丽的2代码:#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<cmath>#include<queue>#include<vector>using namespace std;#define ll long longint int k(int a){ int sum=0; while原创 2021-01-07 18:54:07 · 2600 阅读 · 11 评论 -
第十一届蓝桥杯省赛B组(C/C++组)(第二场)
A门牌制作题目描述【问题描述】 小蓝要为一条街的住户制作门牌号。 这条街一共有 2020 位住户,门牌号从 1 到 2020 编号。 小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字 符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1 个 字符 0,2 个字符 1,1 个字符 7。 请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符 2? 【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时原创 2021-01-06 19:46:13 · 733 阅读 · 0 评论 -
三元组稀疏矩阵转置c
#include <iostream>#include<cstdio>using namespace std;#define MAXSIZE 100//三元组的定义 typedef struct{ int row, col;//表示行列 int e; //表示值 }Triple;//三元组容器的定义 typedef struct{ Triple data[MAXSIZE]; int m, n, len;}TSMatrix;//实现转置 voi原创 2020-10-18 19:06:25 · 1020 阅读 · 0 评论 -
栈 十进制转换别的进制
//十进制转换别的进制#include<iostream>#include<cstdlib>using namespace std;#define max 10struct storage{ int a[max]; int top;};//初始化 void initstorage(struct storage* S){ S->top = -1;}void push(struct storage* S, int b)//进栈{ if (S->原创 2020-10-18 18:55:13 · 403 阅读 · 0 评论 -
c++队列链表实现
#include <iostream>#include <stdlib.h>using namespace std;//定义节点typedef struct node{ char data; struct node * next;}node; //定义队列(保存队首和队尾指针)typedef struct queue_link{ node * front; node * rear;}que; //初始化队列que * InitQ原创 2020-10-18 18:50:43 · 502 阅读 · 0 评论 -
栈的基本实现c++
//顺序栈的基本操作#include<iostream>#define MaxSize 50typedef int ElemType;//定义栈结构体typedef struct{ ElemType data[MaxSize]; int top;}SqStack;//初始化栈void InitStack(SqStack &S){ S.top = -1;}//判断栈是否为空bool StackEmpty(SqStack S){ if(S.top原创 2020-10-05 22:35:58 · 211 阅读 · 0 评论 -
一元多项式相加(单链表c艹)
#include <iostream>#include <stdlib.h>using namespace std;//定义结构体;typedef struct Polynode{ int coef; int exp; struct Polynode *next;}Polynode,*Polylist; //创建关于多项式结构体的单链表,以系数0结束输入Polylist Polycreate(){ Polynode *head,*r原创 2020-10-01 19:27:59 · 386 阅读 · 0 评论 -
两个有序单链表的合并
#include <iostream>using namespace std;#define OK (1)#define ERROR (0)typedef int Status;typedef int ElemType;int length = 0;//链表长度 typedef struct LNode { ElemType data; LNode* next;} LNode;//初始化空单链表LNode* init(){ LNode*原创 2020-10-01 15:56:27 · 610 阅读 · 0 评论 -
链表
#include <iostream>using namespace std;#define OK (1)#define ERROR (0)typedef int Status;typedef int ElemType;typedef struct LNode { ElemType data; LNode *next;原创 2020-09-26 23:44:31 · 142 阅读 · 0 评论 -
2020智算之道复赛
数字共 5 个测试点每个测试点 20 分每个测试点限时 1 秒运行内存上限 512MB咕咕有两个数字 a,b ,它忘记了 a 的前三位(记除去前三位的 a 为 aa ),但它记得 a 与 b 满足 a≡0(mod b),即 a 是 b 的倍数。请你帮它求出有多少种满足条件的 a。注意: a 没有前导 0 。输入格式一行两个整数,表示 a 和 b 。输出格式一行一个整数,表示有多少种满足条件的 a 。数据范围与约定对于前 20% 的数据,保证 b=1。对于前 40% 的数据原创 2020-08-11 08:52:42 · 400 阅读 · 0 评论 -
Codeforces Round #662 (Div. 2)题解
A. Rainbow Dash, Fluttershy and Chess Coloring time limit per test 1 second memory limit per test 256 megabytes input原创 2020-08-08 10:17:01 · 672 阅读 · 0 评论 -
智算之道初赛第二场题解
声控灯共 10 个测试点每个测试点 10 分每个测试点限时 1 秒运行内存上限 512MB小明正在上楼梯,当小明逐渐接近某层楼的时候,这层楼的声控灯检测到小明的脚步声便会亮起来,当小明逐渐远去的时候,声控灯由于一段时间内没检测到声音又会灭下去。由于小明是匀速上楼的,而且他的速度把控得刚刚好,脚步声的音量也十分恰当,使得灯的亮灭呈现出这样的状态:他当前所在的楼层的声控灯是亮起的,他即将抵达的下一层楼的声控灯是亮起的,他刚刚离开的那层楼的声控灯也是亮起的。现在你站在楼的外面,通过窗户看到了原创 2020-07-30 09:15:34 · 306 阅读 · 0 评论 -
智算之道第一场题解
排队共 10 个测试点每个测试点 10 分每个测试点限时 1 秒运行内存上限 512MB小 A 现在站在一个 nnn 个人的队伍里排队,他们的编号依次为 1∼n1 \sim n1∼n,现在她面前有 mmm 个窗口,其中第 iii 个窗口会给出一个数字 aia_iai,然后将队伍中所有编号为 aia_iai 倍数的人带出队伍,请问最后队伍中还剩下多少个人?输入格式第一行两个用空格隔开的整数分别表示 n,mn,mn,m第二行 mmm 个用空格隔开的整数,其中第 iii 个代表 aia原创 2020-07-29 22:37:43 · 493 阅读 · 2 评论 -
第十一届蓝桥杯7月场次b组题解
试题A: 跑步训练本题总分:5 分【问题描述】小明要做一个跑步训练。初始时,小明充满体力,体力值计为10000。如果小明跑步,每分钟损耗600 的体力。如果小明休息,每分钟增加300 的体力。体力的损耗和增加都是均匀变化的。小明打算跑一分钟、休息一分钟、再跑一分钟、再休息一分钟……如此循环。如果某个时刻小明的体力到达0,他就停止锻炼。请问小明在多久后停止锻炼。为了使答案为整数,请以秒为单位输出答案。答案中只填写数,不填写单位。【答案提交】这是一道结果填空题,你只需要算出结果后提交即原创 2020-07-28 10:19:33 · 3116 阅读 · 3 评论 -
2020第十一届蓝桥杯c++,b组D题数据
A = 0REPEAT 2: A = A + 4 REPEAT 5: REPEAT 6: A = A + 5 A = A + 7 REPEAT 6: A = A + 7 REPEAT 4: A = A + 2 A = A + 7 A = A + 2 REPEAT 7: REPEAT 4:原创 2020-07-28 10:18:44 · 503 阅读 · 0 评论 -
2020百度之星初赛第二场
PokerProblem Description小沃沃在玩一个有趣的游戏。初始他有 n 块钱,每一轮他需要投入至少 m 块钱,系统会拿走其中 p% 的钱,并把剩下的钱还给他。请问在最优情况下,小沃沃最多可以玩多少轮?假设当前一轮小沃沃投入了 x 块钱,那么他可以收回 ⌊x×(1−p%)⌋ 块钱,其中 ⌊a⌋ 表示 a 取下整。小沃沃每一轮投入的钱不能超过他现在拥有的钱。每一轮投入的钱必须为整数。Input第一行一个正整数 test(1≤test≤100000) 表示数据组数。原创 2020-07-27 18:22:59 · 370 阅读 · 0 评论 -
2020年百度之星初赛第一场
1.DrinkProblem Description我们有 n 种不同的饮料,每种饮料有无限多瓶,第 i 种饮料一瓶提供 x[i] 毫升的水分,包含 y[i] 卡路里。现在我们需要选择一种饮料一直喝,直到补充了至少 m 毫升的水分,我们想使得摄入的卡路里总和最小。请求出这个最小值。一旦打开一瓶饮料,就一定要喝完。Input第一行一个整数 test(1≤test≤100) 表示数据组数。对于每组数据,第一行两个整数 n,m(1≤n≤100,1≤m≤10000)。接下来 n 行,每行原创 2020-07-27 10:56:14 · 293 阅读 · 0 评论 -
2020第二届传智杯初赛
1.一个模拟题#include<iostream>#include<cstdio>#include<cmath>#include<algorithm>#include<map>using namespace std;#define ll long long #define db double#define INF 0x3f3f3f3fconst int mxn = 2005;int n, k;struct Node{转载 2020-07-24 20:11:16 · 560 阅读 · 0 评论 -
sort(c++自带排序算法)
sort 排序函数,默认从小到大排序,可以自己写一个cmp函数,让其变成从大到小。用法:sort(数组名+要排序的首地址,数组名+要排到的尾地址+1)int a[];sort(a,a+10);代码:#include <bits/stdc++.h>using namespace std;bool cmp(int x,int y) //cmp函数 { return x>y;}int main(){ int a[9]={1,5,3,2,4,6,8,9,7}; sort原创 2020-06-06 12:40:45 · 969 阅读 · 1 评论 -
快速幂(新手勿喷)
计算乘法很简单,但是如果数据规模过大就会超时了,所以就有了快速幂这个算法。原理:如果b是奇数,就有a^b=a * a^(b-1)如果b是偶数,就有ab=a(b/2) *a^(b/2)举个例子 2^42^4 = 2^2 * 2^22^2 = 2^1 * 2^12^1 = 2 = 2^02^0 = 1(例子借鉴了算法笔记)时间复杂度O(logn)题目给出三个整数a,b,ma,b,ma,b,m,求ab%ma^b % mab%m的值输入三个整数a,b,ma,b,ma,b,m。输出一个原创 2020-06-06 12:19:27 · 411 阅读 · 0 评论 -
差分(新手勿喷)
差分输入一个长度为nn的整数序列。接下来输入qq次操作,每个操作包含三个整数l, r, xl,r,x,表示将序列中[l, r][l,r]之间的每个数加上xx。请你输出进行完所有操作后的序列。输入第一行包含两个整数nn和qq。第二行包含nn个整数,表示整数序列。接下来qq行,每行包含三个整数l,r,x,l,r,x,表示一个操作。输出样例输入6 31 2 3 4 5 61 6 11 1 22 2 -3输出4 0 4 5 6 7共一行,包含nn个整数,表示最终序列。数据规模原创 2020-05-16 15:56:30 · 237 阅读 · 0 评论