YunYan

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2020年12月2日

摘要: 字典树又称为前缀树,是一种用来统计字符串前缀数目的数据结构,字典树的实现相对于线段树等数据结构还是比较简单。 字典树的有3个核心函数,insert , search ,delete。 实现字典树常用的方式有俩种,一个是结构体+指针,还用一种是二维数组模拟,思想都是一样的。 1、首先定义字典树的节点: 阅读全文
posted @ 2020-12-02 12:49 Target--fly 阅读(243) 评论(0) 推荐(0) 编辑

2020年10月15日

摘要: 题解:思路很奇妙,不太好想。 这道题可以通过二分来解决,每次要么往左移动要么往右移动,反正不可以不动。假设二分到答案x,那么 对arr[i]这个数,我们至少要来x%arr[i] ? x/arr[i]+1 : x/arr[i]这么多次,所以说我们可以通过左右移动来不断的来使得arr[i]达到要求,当来 阅读全文
posted @ 2020-10-15 11:24 Target--fly 阅读(162) 评论(0) 推荐(0) 编辑

2020年10月12日

摘要: 这个题目听完讲解感觉也就那么回事。 假设有两个点(x1,y1)和(x2,y2),a=x1-x2,b=y1-y2,那么如果说__gcd(a,b)==1,那么他们一定可以看到,具体为什么,我们可以根据三角形来解释 如果说a和b存在gcd,那么一定会存在a1和b1,a2,b2...,这也就是为什么a和b的 阅读全文
posted @ 2020-10-12 15:16 Target--fly 阅读(152) 评论(0) 推荐(0) 编辑

摘要: 这是一个几何问题。 对于一个三角形。 直线数目, 区域数目 。 0 1 1 2 2 4 3 7 4 11 对区域数目做一下差分就可以找到规律。 几何规律,考虑到第n条线,他可以形成的区域个数是(n-1)条线可以形成的区域数目 + (第n条线穿过了几条边+1,注意是穿过,所以边界不算)。 这个题目的答 阅读全文
posted @ 2020-10-12 13:53 Target--fly 阅读(175) 评论(0) 推荐(0) 编辑

2020年10月8日

摘要: http://lx.lanqiao.cn/problem.page?gpid=T454 题解: 对于K,我们分为K组,对于每一组的任何两个相邻的数,控制他们的间隔为k, 比方说k=3,那么我们可以分为3组。 0,3,6,9.... 1,4,7,10... 2,5,8,11... 这样就可以连续的保存 阅读全文
posted @ 2020-10-08 22:40 Target--fly 阅读(134) 评论(0) 推荐(0) 编辑

2020年9月29日

摘要: 先来看一下递归版的后序遍历是怎么写的 void dfs(TreeNode *root){ if(root==NULL) return ; dfs(root->left);//左节点 dfs(root->right);//右节点 cout<<roo->val<<endl;//访问 } 可以看到,对于r 阅读全文
posted @ 2020-09-29 22:15 Target--fly 阅读(142) 评论(0) 推荐(0) 编辑

2020年9月19日

摘要: 判环我们常用的方法是并查集,但是这个题是有向图,然后寻找有根树,什么是有根树呢? 根据题目大意,本题的有向图是在有根树的基础上形成了,也就是在有根树的基础上加了一条边,然后我们的任务就是要找出这条边,如果有多种情况,那么找到序号最大的边。 在我们添加完边后有2种情况, 1 第一种,图中不存在入度为2 阅读全文
posted @ 2020-09-19 10:04 Target--fly 阅读(189) 评论(0) 推荐(0) 编辑

2020年9月13日

摘要: 初识创建数据库有两种方法 1 右键点击数据库,然后点击新建数据库 首先输入数据库的名称 然后设置主文件和从文件设置初始大小和自动增长量的大小,主文件的后缀名为.mdf,从文件的后缀名为.ldf,然后点击确定就好了 第二种方法通过 点击新建查询 create database stu on prima 阅读全文
posted @ 2020-09-13 22:30 Target--fly 阅读(279) 评论(0) 推荐(0) 编辑

2020年9月10日

摘要: dfs暴力,也就是二进制枚举的思想,也就是枚举所有的情况,这个题目有个很好的剪枝,就是先排序,然后在 这样可以避免答案出现相同的组合。 code: class Solution { public: int p[1000]; vector<vector<int>> ans; vector<int> v 阅读全文
posted @ 2020-09-10 22:15 Target--fly 阅读(158) 评论(0) 推荐(0) 编辑

2020年9月8日

摘要: 第一种解法:二维前缀和暴力 维护一个二维的前缀和f[i][j]表示从(1,1)到(i,j)的正方形矩阵的和。f[i][j]=f[i-1][j]+f[i][j-1]-f[i-1][j-1] 然后枚举每个点,并假设该点为右下角顶点,然后枚举正方形长度判断满不满足条件即可,条件为:f[i][j]-f[i- 阅读全文
posted @ 2020-09-08 22:27 Target--fly 阅读(580) 评论(0) 推荐(0) 编辑