题解列表

筛选

蓝桥杯2015年第六届真题-生命之树 (C++代码)

「算法描述」首先我们可以枚举每个点是否在S中,只需要判断S是否是一个连通块就可以了。时间复杂度O(n2^n)期望得分30分。我们把这棵无根树定一个根,将其转为有根树。这样每个点就有了深度。令f_v表示如果v一定在点集S中,且S中的所有点均在v这棵子树中时,S的权值和的最大值。

蓝桥杯2015年第六届真题-垒骰子-题解(C++代码)

直接搜索可以得基础分。令f_{i,j}表示用i个骰子,最后一层正面朝上的为j的方案数。由于已知每个面相对的面是哪个面,所以原题的限制相当于:i和j不能相邻等价于i和j的对面不能是相邻两个正面朝上的面。例如,1和2不能相邻表示不能存在相邻两个骰子的正面朝上分别为1和5,也不能是2和4。

JakeLin-题解1218:排列 (C++代码)-不如DFS!

####让我们高举DFS伟大旗帜,解决所有排列问题#冲鸭!![](/image_editor_upload/20200311042547_20127.png)为了方便理解,我画出了1开头的情况的树,其中蓝色箭头即是遍历方向,234开头同理。```cpp#include#include#includeu

[编程入门]阶乘求和-题解(C语言代码)

***1.注意不同编译器里变量取值范围的问题,在这里,要注意的是求和s及阶乘m的定义,int型变量会溢出,longint型在visualc++6.0里面也会溢出,但在这个系统编译器不会,定义double和float型原则可以,但在这里考虑到内存好像会出错。