题解列表

筛选

多层循环遍历绘制

摘要:解题思路:先把每种图形的第一遍绘制出来,再根据重复度绘制该类图形注意事项:要讨论m=1和m大于1(m!=1)的情况参考代码:#include<cstdio>int main(){ int n; sca……

蓝桥杯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显然更加容易。注意事项:有向图,因为一个点到另一个点不是互相可达的,

求这道题的一种代码思路(C语言)

摘要:解题思路:主要是找他们之间的规律,比如分子是从2开始,分母是从1开始,下一个分子就是上一个分子加上一个分母的和,下一个分母就是上一个分子的值。注意事项:参考代码:#include<stdio.h> ……

双链表对比删除

解题思路:在deleteNodes函数中,首先遍历链表b,然后在每次遍历链表b时,再遍历链表a。如果发现链表a中有与链表b中相同学号的节点,将其删除。对于链表a,使用currA指针和prevA指针来遍历链表a。如果当前节点的学号与链表b中的某个节点的学号相同,将当前节点删除,并更新指针。

数组加上循环

摘要:解题思路:注意事项:参考代码:#include<stdio.h> int main() { int n,i,y=0,w=0,s=0; scanf("%d",&n); int k[n];……

链表的基本操作

摘要:解题思路:注意事项:初始列表插入时顺序相反,且无"insert OK"提示,加入flag判断是否为初始列表操作;参考代码:#include <stdio.h>#include <stdlib.h>#i……

数据结构-双向循环链表

摘要:解题思路:该程序根据输入的操作类型进行相应的操作: - 当操作为0时,程序会打印双向链表中的所有元素。 - 当操作为1时,程序会在指定位置插入一个整数。 - 当操作为2时,程序会从指定位置删除一个整数……