- 博客(5)
- 收藏
- 关注
原创 树的重心(dfs枚举)
树的重心(dfs枚举)#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 1e5 + 10, M = N*2;int h[N];struct node{ int to,nex;}e[M];bool st[N] = {0}; //visted数组记录已经访问的元素; c++有一个zero-initializer(零
2021-06-01 22:38:37
118
原创 BFS 迷宫问题C++队列实现
BFS 迷宫问题C++队列实现#include <cstdio>#include <queue>#include <iostream>using namespace std;typedef pair<int, int> PII;const int N = 110;int G[N][N];int L[N][N];queue <PII> q;int m,n;int bfs(){ //第一个元素进队 PII sta
2021-03-29 22:17:47
699
原创 Increase and Copy (codeforce)
Increase and Copy (codeforce)解法及c语言代码思路:转化:最少次数达到n–>什么样的加法乘法组合能更快得到更大的数字首先:先加再乘,一定比先乘再加,能更快得到更大的数字假设前面全都+1,然后开始复制—加i次,乘j次,得到的sum = (1+i)*(1+j)(1+i)*(1+j) = n, 使得i+j最小,三角不等式: 1+i=1+j=sqrt(n)时最小有一些数需要最后再补,在这个过程中间合适位置加一次复制即可//Increase and Copy.c#
2021-03-02 00:19:03
164
原创 验证二叉树是否是BST(C语言实现)
验证二叉树是否是BST(C语言实现)int isBST(BTNode *node, int min, int max)函数中包括两个参数min, max,主函数中call时用 isBST(node, -10000, 10000)解题思路前序遍历从根结点开始向下走,只要向左走,结点一定在变小(左子树<根); 只要向右走,结点一定在变大(右子树>根)int isBST(BTNode *node, int min, int max) // the item stored in node
2021-02-26 22:09:22
224
原创 leetcode剑指offer68II-二叉树的最近公共祖先(C语言实现)
leetcode剑指offer68II-二叉树的最近公共祖先(C语言实现)/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */struct TreeNode* lowestCommonAncestor(struct TreeNode* root, struc
2021-02-26 21:32:47
283
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人