03 2019 档案
摘要:题目: https://www.jisuanke.com/course/2291/182250 思路: 来自https://blog.csdn.net/a1097304791/article/details/81191256 递推,画图得type[1]=3,type[2]=6,type[3]=6,n
阅读全文
摘要:题目: https://www.jisuanke.com/course/2291/182238 思路: 1.dfs(int a,int b,int c,int index)//a,b,c三条边的边长,index是数组的下标 从dfs(0,0,0,0)开始,每次选的长度可能加到a,也可能b,也可能c,
阅读全文
摘要:题目: https://www.jisuanke.com/course/2291/182237 思路: 来自:https://blog.csdn.net/qq_29980371/article/details/76599695
阅读全文
摘要:题目: https://www.jisuanke.com/course/2291/182236 思路: 递归解决,从第一本书开始,每本书都有两种选择: 1.买 dfs(index+1,money+book[index],cnt+1); 2.不买 dfs(index+1,money,cnt);//不买
阅读全文
摘要:题目: https://www.jisuanke.com/course/2291/182234 思路: 紫书P163联通块问题。 1.遍历所有块,找到草地,判断合法性,合法其id值加一,最后加出来的id值就是联通块的数量。 2.注意结束条件,先判断是否结束dfs,再给vis赋值。
阅读全文
摘要:思路: 先建树,然后按层次输出。 PTA
阅读全文
摘要:1 #include///该头文件为万能头文件,有些学校oj不能使用,读者可根据需要自行修改 2 using namespace std; 3 const int MAXN=305; 4 int vis[MAXN][MAXN]; 5 int X[9]={0,-2,-1,-2,-1,1,2,2,1}; 6 int Y[9]={0,-1,-2,1,2,2,1,-1,-2}; 7 str...
阅读全文
摘要:题意: 输入中序和后序的权值,输出哪个叶子使它到根的路径上权和最小。 思路: 输入后建树,然后dfs求最小的叶子。
阅读全文
摘要:题意: 给出先序和中序,求后序。 思路: ①建树然后递归输出。 ②不建树直接输出。
阅读全文
摘要:思路:把每个单词看做一条边,就变成了在有向图上判断是否存在一个欧拉道路,词头要被词尾连接,所以是入度。注意: 欧拉图的定义:有向图满足欧拉道路的条件就是:1.连通.2.图中入度不等于出度的点最多两个, 一个入度 = 出度 + 1,另一个入度 + 1 = 出度。代码来自: https://blog.c
阅读全文
摘要:1 // 题意:输入n和m,以及m个二元组(i,j),求1~n的一个排列使得对于每个(i,j),i在j的前面 2 // 算法:拓扑排序。注意m可能等于0 3 #include 4 #include 5 const int maxn = 1000; 6 int n, m, G[maxn][maxn], c[maxn], topo[maxn], t; 7 /* 8 用dfs递归到最深...
阅读全文
摘要:思路: 来自:https://www.cnblogs.com/acm1314/p/4534360.html
阅读全文