题解列表

筛选

1045简单易懂C++代码

摘要:解题思路:构建三个函数,重点书写deal函数(处理函数)注意事项:要注意十个数中恰好第一个数是最大值的情况参考代码:#include<cstdio> #include<algorithm> usi……

蓝桥杯2018年第九届真题-版本分支(倍增)

摘要:解题思路:常规的求祖先方法往往一次向上移动1,采用倍增的方法一次向上移动2^k,nlogn处理出倍增数组,logn查询。注意事项:提一个题解区没说的,不要用cin读,会超时。参考代码:#include……

蓝桥杯2018年第九届真题-整理玩具(思路简单)

摘要:解题思路:注意到n,m,t较小,考虑暴力解法。相等的数字在一起并且是矩形要求:1.每一行相等的数字是连续段,2.对于任意一个数字,它在每一行连续段的出现起点与出现终点一致。利用数组minn[i][j]……

蓝桥杯2018年第九届真题-搭积木(区间dp)

摘要:解题思路:构建数组dp[i][j][k]代表第i层,积木从i到k时可能的情况种类。转移方程为dp[i][j][k]=∑dp[i-1][x][y](x<=j且y>=k),如果依照此方式转移,复杂度为O(……

蓝桥杯2018年第九届真题-调手表(最短路径)

摘要:解题思路:我们有一个动态规划的思路,利用数组记录到达i的最短次数,但这个不是无环图,不适宜使用动态规划,我们利用图建模,求最短路径,可以使用迪杰斯特拉算法求解最短路径,但对于这道题,bfs显然更加容易……

蓝桥杯2018年第九届真题-自描述序列(二分)

摘要:解题思路:如果依照题意直接模拟会超时,只能通过30%的测试点。没有找到明显的数学规律,我们试图改进模拟方案。我们发现直接的模拟方案有一个缺陷,大量重复的数字占据了数组,我们改进此种方案,仅仅all数组……

蓝桥杯2018年第九届真题-堆的计数(递推)

摘要:解题思路:采用递推的思想,利用dp[i]记录i排列时可以构造出合法的堆的情况数,由于堆只要求数字的相对大小,故不相等的n个数字可以构造出堆的个数是一致的,同时最小的数字一定在堆顶,(因为如果最小的数字……

蓝桥杯2018年第九届真题-螺旋折线

摘要:解题思路:以坐标绝对值最大的划分正方形个数,之前的都是正方形参考代码:#include<bits/stdc++.h> using namespace std; #define int long l……