
蓝桥杯
Echo_ac
世界上只有一种真正的英雄主义,那就是在认清生活真相之后依然热爱生活
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
蓝桥杯2021年第十二届省赛真题-砝码称重
题目链接 思路 dp[i][j]=1/0dp[i][j] =1/0dp[i][j]=1/0 : 表示前i个砝码能够凑成重量 jjj 如果 j=w[i]j=w[i]j=w[i] ,那么dp[i][j]=1dp[i][j]=1dp[i][j]=1 否则 如果我们看如果不用第 iii 个砝码,能否凑出重量 jjj:dp[i−1][j]dp[i-1][j]dp[i−1][j] 如果用了第 iii 个砝码, 要么和第iii 个砝码作差凑出 jjj, 要么作和凑出重量 jjj ,:dp[i−1][abs(j−w[i原创 2022-03-20 23:30:44 · 375 阅读 · 0 评论 -
蓝桥杯 七段码 并查集+二进制枚举/dfs
答案:80 #include<bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof a) using namespace std; typedef long long ll; ll ans=0; int e[10][10]; int b[10],p[10]; void init() { e[1][2]=e[1][6]=1; e[2][3]=e[2][7]=1; e[3][7]=e[3][4]=1; e[4][5]=1; e[5][6]=e[原创 2021-04-09 15:38:35 · 209 阅读 · 0 评论 -
acwing 蓝桥杯 小朋友排队 (树状数组)
题目链接 文章目录思路:AC代码: 思路: 初始时,对于小朋友i来说,前面比他高的人数加上后面比他矮的人数就是这个小朋友将要交换的次数。 利用树状数组, 第一遍求前面比他高的人数 第二遍求后面比他矮的人数 AC代码: #include<bits/stdc++.h> using namespace std; const int N = 1e6+9; int tr[N],h[N]; typedef long long LL; LL b[N];//求的是初始时在第i个位置的小朋友的被交换的次数 in原创 2020-09-17 16:22:50 · 230 阅读 · 0 评论 -
ACwing 466. 回文日期(枚举优化)
点我,我是题目 思路: 枚举年份,根据年份构造回文日期,再判断日期是否合法,不能直接枚举年月日,否则会超时 代码; #include<bits/stdc++.h> using namespace std; int lyear[13]={31,29,31,30,31,30,31,31,30,31,30,31}; int year[13] ={31,28,31,30,31,30,31,31,30,31,30,31}; //判断改变后的回文数字是否合法 bool Isleap(int y) {原创 2020-07-31 22:21:18 · 185 阅读 · 0 评论 -
蓝桥杯 递增三元组(枚举,二分,思维)
我是题目,快点我 思路; 枚举数组b,傻傻的我开始枚举数组a,然后二分查找就行 详细见注释 代码: #include<bits/stdc++.h> using namespace std; typedef long long LL; const int N = 1e5+9; int a[N],b[N],c[N]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) scanf("%d",&原创 2020-07-31 22:17:47 · 199 阅读 · 0 评论 -
蓝桥杯 移动距离(数学,模拟)
题目在这哦,嘻嘻 思路; 减1妙用,除法取行,模取列 代码: #include<bits/stdc++.h> using namespace std; int main() { int w,m,n; int ans = 0; cin>>w>>m>>n; m--,n--;//这里-1起到了妙用 int x1 = m/w,x2 = n/w; int y1 = m%w,y2 = n%w; if(x1&原创 2020-07-31 22:14:50 · 170 阅读 · 0 评论 -
蓝桥杯 日期问题(难的模拟)
题目点这里 思路: 根据题目意思模拟就行 收获: 利用stringstream将数字转为字符串 int y = 2020; stringstream ss; string s; ss<<y; ss>>s; 代码: #include<bits/stdc++.h> using namespace std; int lyear[13] = {31,29,31,30,31,30,31,31,30,31,30,31}; int year[13] = {31,原创 2020-07-31 22:12:16 · 177 阅读 · 0 评论 -
蓝桥杯连号区间(思维+枚举)
题目点这里 思路: 利用一个重要条件,这里包含了1~n的所有数。 所以对于一个区间按[l,r],只需要判断r-l 是否与区间的最大值max减去最小值相等即可 注意max,min,在枚举下一个l的时候要初始化 #include<bits/stdc++.h> using namespace std; const int N = 10010; int a[N]; typedef long long LL; int main() { int n; cin>>n;原创 2020-07-30 11:07:18 · 123 阅读 · 0 评论 -
Acwing 1205. 蓝桥杯 买不到的数目
题目 思路: 定理: n*m - n - m #include<bits/stdc++.h> using namespace std; int main() { int n,m; cin>>n>>m; cout<<n*m-n-m; return 0; }原创 2020-07-27 22:15:58 · 196 阅读 · 0 评论 -
蓝桥杯 带分数(枚举暴力+全排列)
题目链接 思路: next_permutation枚举1~9的全排列 for循环枚举间隔,因为需要3个数,所以需要两个间隔 计算x,y,z。判断x+y/z是否等于n #include<bits/stdc++.h> using namespace std; const int N = 20; typedef long long LL; int main() { int n,cnt; cin>>n; cnt = 0; int a[N]={0,1,2,原创 2020-07-21 22:43:41 · 177 阅读 · 0 评论 -
蓝桥杯 9.3乘积尾零(含误区分析)
题目: 标题:乘积尾零 如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零? 5650 4542 3554 473 946 4114 3871 9073 90 4329 2758 7949 6113 5659 5245 7432 3051 4434 6704 3594 9937 1173 6866 3397 4759 7557 3070 2287 1453 9899 1486 ...原创 2020-05-01 21:35:36 · 296 阅读 · 0 评论 -
蓝桥杯9.3——递增三元组(简洁代码)
文章目录1题目:思路:巧用库函数upper_bound废话: 1题目: 标题:递增三元组 给定三个整数数组 A = [A1, A2, … AN], B = [B1, B2, … BN], C = [C1, C2, … CN], 请你统计有多少个三元组(i, j, k) 满足: 1 <= i, j, k <= N Ai < Bj < Ck 【输入格式】 第一行包含一个整数...原创 2020-04-23 23:20:27 · 293 阅读 · 0 评论 -
蓝桥杯 明码 ——(传统暴力与技巧版)
文章目录题目:题意:传统暴力版:技巧版:运行结果:答案:9^9=387 420 489总结: 题目: 标题:明码 汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛。 16点阵的字库把每个汉字看成是16x16个像素信息。并把这些信息记录在字节中。 一个字节可以存储8位信息,用32个字节就可以存一个汉字的字形了。 把每个字节转为2进制表示,1表示墨迹,0表示底色。每行2个字节, 一共1...原创 2020-04-22 10:08:11 · 593 阅读 · 0 评论 -
蓝桥杯 k倍区间(蒟蒻版)
标题: k倍区间 给定一个长度为N的数列,A1, A2, … AN,如果其中一段连续的子序列Ai, Ai+1, … Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间。 你能求出数列中总共有多少个K倍区间吗? 输入 第一行包含两个整数N和K。(1 <= N, K <= 100000) 以下N行每行包含一个整数Ai。(1 <= Ai <= 100...原创 2020-04-19 18:55:10 · 410 阅读 · 0 评论 -
蓝桥杯 剪邮票 (蒟蒻也能懂的题解)
文章目录@[TOC]思路:写得很暴力,代码多一点,但非常好懂选出5个组合数——排列组合 思路:写得很暴力,代码多一点,但非常好懂 1从1~12中选5个数 2把这5个数转成坐标 3判断连通性 选出5个组合数——排列组合 用dfs实现,从1~12中选出5个数,要注意不要出现重复的组合, 如果不懂,可以看我的另一篇博客组合数...原创 2020-04-19 17:51:29 · 655 阅读 · 0 评论 -
蓝桥杯 第八届 分巧克力——二分(一定能懂)
思路:这道题需要采用二分思想。这道题需要满足两个条件:1至少分成k个正方形巧克力 2所分成的巧克力的变成要尽量大 一个a*b的矩形能够分成边长为i的正方形的个数=(a/i)*(b/i),这个公式自己模拟下可知 我们采用枚举最大边长来搜索,枚举时采用二分思想,left=1,right=所输入的最大边 外层循环枚举最大边长,内层一个for循环扫过所输入的巧克力边长,循环结束后得到能够把...原创 2020-04-16 09:48:17 · 295 阅读 · 0 评论