- 博客(12)
- 收藏
- 关注
原创 2019蓝桥杯省赛-修改数组
暴力法能拿80%的分数:#include <bits/stdc++.h>#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define _for(i,a,b) for(int i=(a);i<(b);i++)#define ll long longusing namespace std;const int inf = 0x3f3f3f3f;const int maxn = 100000+10;const int maxa...
2022-04-08 10:36:01
268
原创 2019年蓝桥杯-RSA解密
解题步骤:本题把数论中比较基本的几个知识点都考查到了,暴力法质因数分解、扩展欧几里得法求乘法逆元、快速乘+快速幂求解答案。答案为:x = 579706994112328949解题完整代码如下:#include <bits/stdc++.h>#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define _for(i,a,b) for(int i=(a);i<(b);i++)#define ll long longusing n.
2022-04-07 20:14:34
530
原创 2021蓝桥杯H题
问题描述对于一棵多叉树,我们可以通过 “左孩子右兄弟” 表示法,将其转化成一棵二叉树。如果我们认为每个结点的子结点是无序的,那么得到的二叉树可能不唯一。换句话说,每个结点可以选任意子结点作为左孩子,并按任意顺序连接右兄弟。给定一棵包含 N N N 个结点的多叉树,结点从 1 1 1 至 N N N 编号,其中 1 1 1 号结点是根,每个结点的父结点的编号比自己的编号小。请你计算其通过 “左孩子右兄弟” 表示法转化成的二叉树,高度最高是多少。注:只有根结点这一个结点的树高度为 0 0 0 。例如
2022-03-07 21:32:59
250
1
原创 蓝桥杯2021年砝码称重
蓝桥杯砝码称重【问题描述】你有一架天平和N 个砝码,这N 个砝码重量依次是W1, W2…WN。请你计算一共可以称出多少种不同的重量?注意砝码可以放在天平两边。数据范围对于 50% 的评测用例,1≤N≤15。对于所有评测用例,1≤N≤100,N 个砝码总重不超过 1e5。都是整数样例:input:31 4 6output:1001背包问题的小变形,先考虑一边砝码正的重量,再考虑一边重量的负贡献,仅用一维的数组优化空间和代码,AC代码如下://砝码称重#include <
2022-03-07 21:28:54
570
原创 蓝桥杯2021真题-双向排序(线段树)
升序区标记为1,降序区标记为0,用线段树进行区间维护,AC代码如下://2021省赛I题-双向排序(线段树) #include <iostream>#include <vector>#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define _for(i,a,b) for(int i=(a);i<(b);i++)using namespace std;const int inf = 0x3f3f3f3f;...
2022-02-09 14:17:08
7092
原创 蓝桥杯2021年第十二届省赛真题-异或数列
题目 2605: 蓝桥杯2021年第十二届省赛真题-异或数列题目描述Alice 和 Bob 正在玩一个异或数列的游戏。初始时,Alice 和 Bob 分别有一个整数 a 和 b,有一个给定的长度为 n 的公共数列 X1, X2, · · · , Xn。Alice 和 Bob 轮流操作,Alice 先手,每步可以在以下两种选项中选一种:选项 1:从数列中选一个 Xi 给 Alice 的数异或上,或者说令 a 变为 a ⊕ Xi。(其中 ⊕ 表示按位异或)选项 2:从数列中选一个 Xi 给 Bob
2022-02-06 13:37:41
18293
18
原创 蓝桥杯2020七段码(dfs+并查集)
题目描述小蓝要用七段码数码管来表示一种特殊的文字。上图给出了七段码数码管的一个图示,数码管中一共有 7 段可以发光的二极管,分别标记为 a, b, c, d, e, f, g。小蓝要选择一部分二极管(至少要有一个)发光来表达字符。在设计字符的表达时,要求所有发光的二极管是连成一片的。例如:b 发光,其他二极管不发光可以用来表达一种字符。例如:c 发光,其他二极管不发光可以用来表达一种字符。这种方案与上一行的方案可以用来表示不同的字符,尽管看上去比较相似。例如:a, b, c, d, e 发光
2021-04-13 00:47:25
227
原创 算法训练 绘制地图(先序 中序 后序遍历)
//算法训练 绘制地图(先序 中序 后序遍历)#include<bits/stdc++.h>using namespace std;#define rep(i,a,b) for(int i=(a);i<=(b);(i++))const int M=100000+10;int x[M],z[M];void tree(int l1,int r1,int l2,int r2){ if(l1>r1||l2>r2) return; int root=x[l1]
2021-04-01 23:53:22
174
1
原创 蓝桥杯练习01背包问题
//01背包问题#include <bits/stdc++.h>#define rep(i,a,b) for(int i=(a);i<=(b);(i++))using namespace std;const int N=5000+10;int dp[N];//dp数组设置为全局变量int main(){ int n,W; cin>>n>>W; int w[N],v[N];//dp的下标j表示背包容量为j的完全背包问题 r
2021-03-31 20:37:40
340
原创 Beaver‘s Calculator(分层排序)
//Beaver's Calculator(分层排序)#include<bits/stdc++.h>#include<stdio.h>using namespace std;typedef long long LL;#define rep(i,a,b) for(int i=(a);i<=(b);(i++))#define MAX 5005struct science { int no; LL val[MAX]; int pos,co
2021-03-28 18:38:19
173
原创 2019糖果(状态压缩dp)
//2019糖果(状态压缩dp)#include<bits/stdc++.h>using namespace std;#define rep(i,a,b) for(int i=(a);i<=(b);(i++))int dp[1<<20];//其下标表示口味状态,其元素表示达到该口味状态所需要的最少袋数int main(){ set<int> all; int n,m,k; cin>>n>>m>&g.
2021-03-26 23:00:19
137
原创 蓝桥杯2019修改数组(运用并查集)
2019修改数组(运用并查集)代码如下://2019修改数组(运用并查集)#include<bits/stdc++.h>#define rep(i,a,b) for(int i=(a);i<=(b);(i++))using namespace std;const int maxn=100000+100;int mp[maxn];int findmp(int x)//沿着上级寻找掌门人,也就是可以插入的数{int tx=x;while(mp[x]!=x)//如果指向自己
2021-03-25 21:09:30
159
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人