搜索顺序: 从前往后依次枚举每个位置放哪个数。同时保证每一个数都比前一个数大。 1 #include <bits/stdc++.h> 2 using namespace std; 3 const int N = 30; 4 int n, m; 5 int way[N]; //方案 6 void df ...
A - Buggy Sorting 题意:这个题意就是给你一个错误的排序方式,要求你在它的这个排序方式下判断是否存在正确的运行结果。若存在正确的结果,则输出-1,否则输出一个例子说明是错误的。题目的输入是元素的个数n。 题解:这一题比较有意思,很容易判断出只有当n=1 or n=2时运行结果是正确的 ...
分类:
其他好文 时间:
2020-04-24 00:54:38
阅读次数:
58
"题面" 题解 给个不要脑子的做法。 因为这道题是物品会存在一段时间,对每个时间点求出 $0/1$ 背包的值。然后 $n$ 和背包大小都是 $4000$ 级别,于是考虑线段树分治。 也就是将所有物品丢到线段树上去,dfs 一遍整棵树,将覆盖当前区间的所有物品全部加到 $0/1$ 背包里面去,这样就可 ...
分类:
其他好文 时间:
2020-04-23 21:26:04
阅读次数:
70
首先了解一下各种图论适合的问题 https://www.cnblogs.com/thousfeet/p/9229395.html 这篇适合看Bellman-Ford算法 https://www.cnblogs.com/konjak/p/6031773.html SPFA算法 https://www. ...
分类:
其他好文 时间:
2020-04-23 09:14:06
阅读次数:
69
牛就一个字,我能说啥,一开始想到每次遍历最右边的节点,但又想到万一出现有一层只有左半部分的节点没有右半部分的节点就不好弄了,没想到可以用BFS遍历,每次取到最后一个数,腻害。 /** * Definition for a binary tree node. * public class TreeNo ...
分类:
其他好文 时间:
2020-04-23 00:31:47
阅读次数:
50
饭前点心: DFS序,闻名知意就知道这是个跟 DFS 相关的东东,通俗一点说就是 DFS 的序列。 如果您 DFS 不太懂的话,建议先去搞几道走迷宫的题目练练手。 什么是DFS序? 如你当前看到的这幅图,如果我们按照 DFS(深度优先搜索)走这棵树时, 路径就是我们 绿色 所代表的路径。 即我们这个 ...
分类:
其他好文 时间:
2020-04-22 20:21:02
阅读次数:
83
问题 D: 数字变换 时间限制: 2 Sec 内存限制: 128 MB[提交] [状态] 题目描述 给定一个数N (O≤N≤100000),变成另一个数K(O≤K≤100000),允许的操作是乘以2,或者加减1,问最少要几步才能完成? 输入 仅有两个整数 N 和 K。 输出 一个整数,表示需要的最少 ...
分类:
其他好文 时间:
2020-04-22 16:53:50
阅读次数:
111
leetcode "199. 二叉树的右视图" 因为某些比赛导致三天没写编程题,回来之后发现自己好像啥都不会了,写每一题都要花费好长时间/_ \ 牢骚结束:二叉树的遍历一般用dfs或者bfs,dfs一般用于前中后序遍历,bfs一般用于层序遍历 方法一:这一题最直观的解法就是得到二叉树的层序遍历,然后 ...
分类:
其他好文 时间:
2020-04-22 16:17:55
阅读次数:
61
A*是一种搜索算法,一般基于一个估价函数f(x) = g(x) + h(x),通过这个函数来进行有方向的搜索以提高搜索的效率(而不是bfs、dfs那样的盲目搜索)其中g(x)指从初始状态到当前状态的花费,h(x)为当前状态到终状态的最小花费,以两者之和来估计起始状态到终状态的总花费f(x)在A*算法 ...
分类:
编程语言 时间:
2020-04-22 10:23:20
阅读次数:
79
(1)深度优先 1 #include <stdio.h> 2 int book[101],sum = 0,n,e[101][101]; 3 void dfs(int cur) 4 { 5 int i; 6 printf("%d",cur); 7 sum++; 8 if(sum == n) 9 { 1 ...
分类:
其他好文 时间:
2020-04-21 18:40:24
阅读次数:
46