蓝桥杯
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 · 337 阅读 · 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 · 171 阅读 · 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 · 189 阅读 · 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 · 161 阅读 · 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 · 163 阅读 · 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 · 144 阅读 · 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 · 148 阅读 · 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 · 95 阅读 · 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 · 166 阅读 · 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 · 142 阅读 · 0 评论 -
蓝桥杯 9.3乘积尾零(含误区分析)
题目:标题:乘积尾零如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?5650 4542 3554 473 946 4114 3871 9073 90 43292758 7949 6113 5659 5245 7432 3051 4434 6704 35949937 1173 6866 3397 4759 7557 3070 2287 1453 98991486 ...原创 2020-05-01 21:35:36 · 266 阅读 · 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 <= NAi < Bj < Ck【输入格式】第一行包含一个整数...原创 2020-04-23 23:20:27 · 267 阅读 · 0 评论 -
蓝桥杯 明码 ——(传统暴力与技巧版)
文章目录题目:题意:传统暴力版:技巧版:运行结果:答案:9^9=387 420 489总结:题目:标题:明码汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛。16点阵的字库把每个汉字看成是16x16个像素信息。并把这些信息记录在字节中。一个字节可以存储8位信息,用32个字节就可以存一个汉字的字形了。把每个字节转为2进制表示,1表示墨迹,0表示底色。每行2个字节,一共1...原创 2020-04-22 10:08:11 · 536 阅读 · 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 · 358 阅读 · 0 评论 -
蓝桥杯 剪邮票 (蒟蒻也能懂的题解)
文章目录@[TOC]思路:写得很暴力,代码多一点,但非常好懂选出5个组合数——排列组合思路:写得很暴力,代码多一点,但非常好懂 1从1~12中选5个数 2把这5个数转成坐标 3判断连通性选出5个组合数——排列组合 用dfs实现,从1~12中选出5个数,要注意不要出现重复的组合, 如果不懂,可以看我的另一篇博客组合数...原创 2020-04-19 17:51:29 · 606 阅读 · 0 评论 -
蓝桥杯 第八届 分巧克力——二分(一定能懂)
思路:这道题需要采用二分思想。这道题需要满足两个条件:1至少分成k个正方形巧克力 2所分成的巧克力的变成要尽量大 一个a*b的矩形能够分成边长为i的正方形的个数=(a/i)*(b/i),这个公式自己模拟下可知我们采用枚举最大边长来搜索,枚举时采用二分思想,left=1,right=所输入的最大边外层循环枚举最大边长,内层一个for循环扫过所输入的巧克力边长,循环结束后得到能够把...原创 2020-04-16 09:48:17 · 252 阅读 · 0 评论