自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

转载 STL双端队列的使用

双端队列的一些操作

2022-12-01 14:32:05 314 1

原创 关于局域网的一道题目

广播式网络主要运用于局域网,可以理解为子网,而网络层主要解决不同子网间通信的问题,因此可以不要网络层的一些功能,而数据链路层使用物理层的服务必须通过访问服务节点,因此这题选D。

2022-09-12 15:25:31 187

原创 操作系统中并发与并行的几个例子

操作系统中并发与并行的几个例子

2022-09-11 09:10:11 2022

原创 unique函数的用法

unique函数太好用了

2022-06-14 11:49:30 2665

原创 线段树求区间最大值

线段树模板

2022-06-12 09:33:11 1898 1

原创 拓扑序列求最长路

给定一个 n 个点 m 条边的有向图。图中可能包含重边和自环,也可能不连通。给每个点分配一个小写字母。我们定义一条路径的权值为出现频率最高的字母的出现次数。例如,如果一条路径上的字母是 abaca,则该路径的权值为 3。请你找到给定图中权值最大的路径,输出这个最大路径权值。输入格式第一行包含两个整数 n 和 m。第二行包含一个由小写字母构成的字符串 s,其中第 i 个字母表示第 i 个点上的字母。接下来 m 行,每行包含两个整数 x,y 表示存在一条从点 x 到点 y 的边。所有点的编号

2022-05-22 14:52:52 575

原创 C++中求全排列地函数next_permutation()

简介next_permutation()会取得[first,last)所标示之序列的下一个排列组合,如果没有下一个排列组合,便返回false;否则返回true。这个算法有两个版本。其中常用的版本使用元素型别所提供的less-than操作符来决定下一个排列组合。这个全排列不仅仅支持里面无重复元素的全排列,也支持里面有重复元素的全排列,而且还支持字母的全排列。当然它还有一个孪生兄弟prev_permutation,是用来求它前一个排列的。用法一:求全排列#include <bits/stdc++.

2022-05-22 14:47:39 173

原创 中缀表达式求值

中缀表达式求值给定一个表达式,其中运算符仅包含 +,-,*,/(加 减 乘 整除),可能包含括号,请你求出表达式的最终值。注意:数据保证给定的表达式合法。题目保证符号 - 只作为减号出现,不会作为负号出现,例如,-1+2,(2+2)*(-(1+1)+2) 之类表达式均不会出现。题目保证表达式中所有数字均为正整数。题目保证表达式在中间计算过程以及结果中,均不超过 231−1。题目中的整除是指向 0 取整,也就是说对于大于 0 的结果向下取整,例如 5/3=1,对于小于 0 的结果向上取整,例如

2022-05-14 10:39:14 364

原创 算法设计与分析197页求解任务分配问题

#include <bits\stdc++.h>using namespace std;#define INF 9999#define MAXN 21//问题表示 int n=4;int c[MAXN][MAXN]={{0,0,0,0,0},{0,9,2,7,8},{0,6,4,3,7},{0,5,8,1,8},{0,7,6,9,4}};//求解结果表示int x[MAXN];int cost=0;int bestx[MAXN];int mincost=INF;bool

2022-04-13 09:03:08 270

原创 m图着色方案问题

给定一个具有n个节点,k条边的无向联通图,给定m中颜色,有多少种着色方案使每一条边的两个顶点的着色不同。(n,k,m都很小于8)直接枚举每个顶点,然后判断一下是否满足条件,即是否和它的相邻边颜色相同,颜色相同就继续搜下一个节点,否则回溯。#include <bits\stdc++.h>using namespace std;#define MAXN 20int n,k,m;vector<int> h[MAXN];int ans;int x[MAXN];voi.

2022-04-13 08:37:55 202

原创 没有上司的舞会

Ural 大学有 N 名职员,编号为 1∼N。他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司。每个职员有一个快乐指数,用整数 Hi 给出,其中 1≤i≤N。现在要召开一场周年庆宴会,不过,没有职员愿意和直接上司一起参会。在满足这个条件的前提下,主办方希望邀请一部分职员参会,使得所有参会职员的快乐指数总和最大,求这个最大值。输入格式第一行一个整数 N。接下来 N 行,第 i 行表示 i 号职员的快乐指数 Hi。接下来 N−1 行,每行输入一对整数 L,K,表示 K 是 L 的直接

2022-04-08 16:44:51 290

原创 等差素数数列

等差素数列题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。2,3,5,7,11,13,…是素数序列。 类似:7,37,67,97,127,157这样完全由素数组成的等差数列,叫等差素数数列。上边的数列公差为 30,长度为 6。2004 年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。 这是数论领域一项惊人的成果!有这一理论为基础,请你借助手中的计算机,满怀信心地搜索:长度为 10 的等差素数列,其公差最小值是多少?这题目是蓝桥杯一次省赛b组的一道

2022-04-06 23:02:11 905

原创 蓝桥杯国赛填空题目平方拆分

平方拆分本题总分:5 分【问题描述】将 2019 拆分为若干个两两不同的完全平方数之和,一共有多少种不同的方法?注意交换顺序视为同一种方法,例如 13.13 + 25.25 + 35.35 = 2019 与 13 .13+ 35.35 +25.25 = 2019 视为同一种方法。这是一道暴搜的题目,爆搜的时候注意一些题目中的限制条件才能做成更好的剪指,注意是两两不同,我们依次考虑每次填写那个数,然后依次向下搜索就可以了,当然可以设置个标记数组,提高效率。#include <iostre

2022-04-06 22:14:57 454

原创 2018年蓝桥杯C++A组第9题倍数问题

倍数问题众所周知,小葱同学擅长计算,尤其擅长计算一个数是否是另外一个数的倍数。但小葱只擅长两个数的情况,当有很多个数之后就会比较苦恼。现在小葱给了你 n 个数,希望你从这 n 个数中找到三个数,使得这三个数的和是 K 的倍数,且这个和最大。数据保证一定有解。输入格式第一行包括 2 个正整数 n, K。第二行 n 个正整数,代表给定的 n 个数。输出格式输出一行一个整数代表所求的和。数据范围1≤n≤105,1≤K≤103,给定的 n 个数均不超过 108输入样例:4 31 2

2022-04-04 18:10:08 1653

原创 2018年蓝桥杯C++A组第8题全球变暖

全球变暖你有一张某海域NxN像素的照片,".“表示海洋、”#"表示陆地,如下所示:….##….##……##.…####.…###.…其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。例如上图中的海域未来会变成如下样子:……………#………请你计算:依照科学家的预测,照片中有

2022-04-04 16:04:32 1001

原创 2018年蓝桥杯C++A组幸运数字

到x星球旅行的游客都被发给一个整数,作为游客编号。x星的国王有个怪癖,他只喜欢数字3,5和7。国王规定,游客的编号如果只含有因子:3,5,7,就可以获得一份奖品。前10个幸运数字是:3 5 7 9 15 21 25 27 35 45,因而第11个幸运数字是:49小明领到了一个幸运数字 59084709587505。去领奖的时候,人家要求他准确说出这是第几个幸运数字,否则领不到奖品。请你帮小明计算一下,59084709587505是第几个幸运数字。做过力扣丑数的人都知道这道题目可以用堆来做,.

2022-04-03 20:20:02 254

原创 2018年c++A组第三题末尾0的个数

给10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?质因数分解可知道末尾0的个数取决于质因数分解2和5的个数,两者取最小值就行了。#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N=15;int g[N][N];int main(){ for(int i=0;i

2022-04-03 19:19:03 254

原创 2018蓝桥杯C++A组第二题星期六

星期六整个20世纪(1901年1月1日至2000年12月31日之间),一共有多少个星期一?翻一下日历,知道2000年12.31是周日,因次我们可以求出来总天数sum,结合sum/7和sum%7就可以求出来答案了#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>using namespace std;int main(){ int sum=0

2022-04-03 18:51:16 152

原创 2018年c++A组第一题

模拟题

2022-04-03 18:36:22 134

原创 2017年蓝桥杯C++A组分巧克力

分巧克力儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足:形状是正方形,边长是整数大小相同例如一块6x5的巧克力可以切出6块2x2的巧克力或者2块3x3的巧克力。当然小朋友们都希望得到的巧克力尽可能大,你能帮小Hi计算出最大的边长是多少么?输入格式第一行包含两个整数N和K。(1 <= N, K <

2022-04-03 18:18:54 288

原创 2017年c++A组包子凑数

包子凑数明几乎每天早晨都会在一家包子铺吃早餐。这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子每种蒸笼都有非常多笼,可以认为是无限笼。每当有顾客想买X个包子,卖包子的大叔就会选出若干笼包子来,使得这若干笼中恰好一共有X个包子。比如一共有3种蒸笼,分别能放3、4和5个包子。当顾客想买11个包子时,大叔就会选2笼3个的再加1笼5个的(也可能选出1笼3个的再加2笼4个的)。当然有时包子大叔无论如何也凑不出顾客想买的数量。比如一共有3种蒸笼,分别能放4、5和6个包子。而顾客想买7个包子时,大叔就

2022-04-03 18:03:27 205

原创 2017年蓝桥杯c++A组方格分割

标题:方格分割6x6的方格,沿着格子的边线剪开成两部分。要求这两部分的形状完全相同。如图:p1.png, p2.png, p3.png 就是可行的分割法。试计算:包括这3种分法在内,一共有多少种不同的分割方法。注意:旋转对称的属于同一种分割法。以开始做这道题目想的是用dfs对方格进行搜索,后来发现这样很难判断重复搜索的次数以及递归的出口,看了网上博客大佬们的解法才恍然大悟,原来可以直接对方格边缘的点进行搜索,由于每一次分割一定经过点(3,3),因此可以以这个边为起点进行搜索,同时标记对

2022-04-03 16:16:48 481

原创 第13届蓝桥杯模拟赛题解最后一题

问题描述  给定 n 个整数 a[1], a[2], …, a[n],小蓝希望在中间选出一部分,满足以下两个条件:  1. 对于某个下标集合 S,选出的数中有至少 k 个下标在集合 S 中;  2. 选出的数按照原来的顺序排列,是严格单调上升的,即选出的是一个上升子序列。  请问小蓝最多能选出多少个数。输入格式  输入的第一行包含两个整数 n, k,用一个空格分隔。  第二行包含 n 个整数 a[1], a[2], …, a[n],相邻的整数间用空格分隔。  第三行包含一个长度为 n 的0.

2022-04-03 15:41:46 262

原创 2017年蓝桥杯C++A组最大公共子串

最大公共子串最大公共子串长度问题就是:求两个串的所有子串中能够匹配上的最大长度是多少。比如:“abcdkkk” 和 “baabcdadabc”,可以找到的最长的公共子串是"abcd",所以最大公共子串长度为4。下面的程序是采用矩阵法进行求解的,这对串的规模不大的情况还是比较有效的解法。请分析该解法的思路,并补全划线部分缺失的代码。代码如下:#include <stdio.h> #include <string.h> #define N 256 int f(

2022-04-03 10:06:15 68

原创 第12届蓝桥杯C++A组第6题字母组串

字母组串由 A,B,C 这3个字母就可以组成许多串。比如:“A”,“AB”,“ABC”,“ABA”,“AACBB” …现在,小明正在思考一个问题:如果每个字母的个数有限定,能组成多少个已知长度的串呢?他请好朋友来帮忙,很快得到了代码,解决方案超级简单,然而最重要的部分却语焉不详。请仔细分析源码,填写划线部分缺少的内容。#include <iostream>#include <cstring>#include <cstdio>#include &lt

2022-04-03 09:57:25 420

原创 2017年蓝桥杯c++A组第二题 跳蚱蜢

2. 跳蚱蜢题目描述:如图所示, 有9只盘子,排成1个圆圈。其中8只盘子内装着8只蚱蜢,有一个是空盘。我们把这些蚱蜢顺时针编号为 1~8。每只蚱蜢都可以跳到相邻的空盘中,也可以再用点力,越过一个相邻的蚱蜢跳到空盘中。请你计算一下,如果要使得蚱蜢们的队形改为按照逆时针排列,并且保持空盘的位置不变(也就是1-8换位,2-7换位,…),至少要经过多少次跳跃?输出:输出一个整数表示答案#include <iostream>#include <cstring>#incl

2022-04-02 22:21:59 425

原创 2017年蓝桥杯c++A组第一题走迷宫

走迷宫题目描述:X星球的一处迷宫游乐场建在某个小山坡上。它是由10x10相互连通的小房间组成的。房间的地板上写着一个很大的字母。我们假设玩家是面朝上坡的方向站立,则:L表示走到左边的房间,R表示走到右边的房间,U表示走到上坡方向的房间,D表示走到下坡方向的房间。X星球的居民有点懒,不愿意费力思考。他们更喜欢玩运气类的游戏。这个游戏也是如此!开始的时候,直升机把100名玩家放入一个个小房间内。玩家一定要按照地上的字母移动。迷宫地图如下:请你计算一下,最后,有多少玩家会走出迷宫? 而不是在

2022-04-02 20:51:16 2826

原创 蓝乔杯真题四平方和

四平方和四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多 4 个正整数的平方和。如果把 0 包括进去,就正好可以表示为 4 个数的平方和。比如:5=02+02+12+227=12+12+12+22对于一个给定的正整数,可能存在多种平方和的表示法。要求你对 4 个数排序:0≤a≤b≤c≤d并对所有的可能表示法按 a,b,c,d 为联合主键升序排列,最后输出第一个表示法。输入格式输入一个正整数 N。输出格式输出4个非负整数,按从小到大排序,中间用空格分开。数据范围0&

2022-01-14 13:02:45 116

原创 线性筛质数

线性筛质数前面我们已经讲过了,求1-N一共有多少个质数的两种方法,一个复杂度是o(nln(n)),一个复杂度是o(nln(ln(n))),我们这里再介绍一种筛选方法,这个方法是o(n)的复杂度,没想到吧。#include<iostream>using namespace std;const int N=1e6+10;int primes[N];bool st[N];int ans;int main(){ int n; cin>>n; fo

2022-01-12 13:33:05 410

原创 唯一分解定理及其应用详解

唯一分解定理介绍及其应用一、定义唯一分解定理又称算术基本定理,指:一个大于一的正整数N都可以唯一分解成有限个质数的乘积。N=P1a1⋅P2a2⋅P3a3⋯PnanN=P_1^{a_1} \cdot P_2^{a2} \cdot P_3^{a_3} \cdots P_n^{a_n}N=P1a1​​⋅P2a2​⋅P3a3​​⋯Pnan​​。这里 P1<P2<P3<⋯<PnP_1<P_2<P_3<\cdots<P_nP1​<P2​<P3​<

2022-01-11 19:25:21 1743 3

原创 试除法求约数

试除求约数给定 n 个正整数 ai,对于每个整数 ai,请你按照从小到大的顺序输出它的所有约数。输入格式第一行包含整数 n。接下来 n 行,每行包含一个整数 ai。输出格式输出共 n 行,其中第 i 行输出第 i 个整数 ai 的所有约数。数据范围1≤n≤100,2≤ai≤2×109输入样例:268输出样例:1 2 3 61 2 4 8思路:注意每个约数是成对出现的并且不能两个约数都大于根号n,因此我们只需要枚举那个比根号n小的约数就可以了,因此我们可以实现n\sqrt{n

2022-01-11 13:58:09 233

原创 质数相关问题(一)

数论之质数问题1问题1:判断n是不是质数#include<iostream>using namespace std;bool isprime(int n){ if(n<2)return false; for(int i=2;i<=n/i;i++)//这里写成n/i比i*i<=n和sqrt(n)更好一些,因为用i*i的话,当i过大容易越界,而算sqrt(n)速度比较慢 { if(n%i==0)return false;

2022-01-11 13:13:09 264

原创 栈的应用之表达式求值

表达式求值给定一个表达式,其中运算符仅包含 +,-,*,/(加 减 乘 整除),可能包含括号,请你求出表达式的最终值。注意:数据保证给定的表达式合法。题目保证符号 - 只作为减号出现,不会作为负号出现,例如,-1+2,(2+2)*(-(1+1)+2) 之类表达式均不会出现。题目保证表达式中所有数字均为正整数。题目保证表达式在中间计算过程以及结果中,均不超过 231−1。题目中的整除是指向 0 取整,也就是说对于大于 0 的结果向下取整,例如 5/3=1,对于小于 0 的结果向上取整,例如 5/

2022-01-09 21:34:00 59

原创 用队列来实现滑动窗口

滑动窗口给定一个大小为 n≤106 的数组。有一个大小为 k 的滑动窗口,它从数组的最左边移动到最右边。你只能在窗口中看到 k 个数字。每次滑动窗口向右移动一个位置。以下是一个例子:该数组为 [1 3 -1 -3 5 3 6 7],k 为 3。窗口位置 最小值 最大值[1 3 -1] -3 5 3 6 7 -1 31 [3 -1 -3] 5 3 6 7 -3 31 3 [-1 -3 5] 3 6 7 -3 51 3 -1 [-3 5 3] 6 7 -3 51 3 -1 -3 [5 3

2022-01-07 20:14:04 280

原创 单调栈的实现

830. 单调栈给定一个长度为 N 的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出 −1。输入格式第一行包含整数 N,表示数列长度。第二行包含 N 个整数,表示整数数列。输出格式共一行,包含 N 个整数,其中第 i 个数表示第 i 个数的左边第一个比它小的数,如果不存在则输出 −1。数据范围1≤N≤1051≤数列中元素≤109输入样例:53 4 2 7 5输出样例:-1 3 -1 2 2#include<iostream>using namespa

2022-01-07 17:19:09 157

原创 区间合并算法

区间合并给定 n 个区间 [li,ri],要求合并所有有交集的区间。注意如果在端点处相交,也算有交集。输出合并完成后的区间个数。例如:[1,3] 和 [2,6] 可以合并为一个区间 [1,6]。输入格式第一行包含整数 n。接下来 n 行,每行包含两个整数 l 和 r。输出格式共一行,包含一个整数,表示合并区间完成后的区间个数。数据范围1≤n≤100000,−109≤li≤ri≤109输入样例:51 22 45 67 87 9输出样例:3#include <i

2022-01-05 12:37:36 72

原创 二进制中1的个数

二进制中1的个数给定一个长度为 n 的数列,请你求出数列中每个数的二进制表示中 1 的个数。输入格式第一行包含整数 n。第二行包含 n 个整数,表示整个数列。输出格式共一行,包含 n 个整数,其中的第 i 个数表示数列中的第 i 个数的二进制表示中 1 的个数。数据范围1≤n≤100000,0≤数列中元素的值≤109输入样例:51 2 3 4 5输出样例:1 1 2 1 2#include<iostream>#include<cstring>#inc

2022-01-04 19:48:43 576

原创 双指针算法解决判断子序列问题

判断子序列给定一个长度为 n 的整数序列 a1,a2,…,an 以及一个长度为 m 的整数序列 b1,b2,…,bm。请你判断 a 序列是否为 b 序列的子序列。子序列指序列的一部分项按原有次序排列而得的序列,例如序列 {a1,a3,a5} 是序列 {a1,a2,a3,a4,a5} 的一个子序列。输入格式第一行包含两个整数 n,m。第二行包含 n 个整数,表示 a1,a2,…,an。第三行包含 m 个整数,表示 b1,b2,…,bm。输出格式如果 a 序列是 b 序列的子序列,输出一行 Y

2022-01-04 19:03:50 351

原创 双指针算法和二分解决数组元素的目标和

数组元素的目标和、给定两个升序排序的有序数组 A 和 B,以及一个目标值 x。数组下标从 0 开始。请你求出满足 A[i]+B[j]=x 的数对 (i,j)。数据保证有唯一解。输入格式第一行包含三个整数 n,m,x,分别表示 A 的长度,B 的长度以及目标值 x。第二行包含 n 个整数,表示数组 A。第三行包含 m 个整数,表示数组 B。输出格式共一行,包含两个整数 i 和 j。数据范围数组长度不超过 105。同一数组内元素各不相同。1≤数组元素≤109输入样例:4 5 6

2022-01-04 18:51:04 374

原创 浮点数二分模板题

数字的三次方根给定一个浮点数 n,求它的三次方根。输入格式共一行,包含一个浮点数 n。输出格式共一行,包含一个浮点数,表示问题的解。注意,结果保留 6 位小数。数据范围−10000≤n≤10000输入样例:1000.00输出样例:10.000000#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;

2022-01-03 11:46:00 175

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除