递归实现 template<typename T> int binary_search(T arr[], int len, int left, int right, int find) { // 必要参数检查 if (NULL == arr || nullptr == arr || 0 > left ...
分类:
编程语言 时间:
2020-12-29 11:31:49
阅读次数:
0
容斥原理 概念:简单而言就是求n个集合的并集的方法,求法是将每一项的概率相加再减去重复的部分,在这减去重复的过程中为了防止出现重复减的问题,要用到容斥原理 在范围内有多少数与给定的数互质 思路:假设范围为(a,b),给定数字为n,首先记下数字范围内数字个数(b-a+1)减去不n互质的数的个数结果就是 ...
分类:
其他好文 时间:
2020-12-28 11:21:25
阅读次数:
0
水题~ const int N=25; char g[N][N]; bool vis[N][N]; int n,m; PII st; bool check(int x,int y) { return x>=0 && x<n && y>=0 && y<m; } int bfs() { queue<PI ...
分类:
其他好文 时间:
2020-12-24 12:06:48
阅读次数:
0
简单线段树操作 咕咕咕 Transformation HDU - 4578 vj talk is cheap, chow the code. #include <iostream> #include <cstring> using namespace std; typedef long long l ...
分类:
其他好文 时间:
2020-12-23 12:30:38
阅读次数:
0
Problem Description Given a nn matrix Cij (1<=i,j<=n),We want to find a nn matrix Xij (1<=i,j<=n),which is 0 or 1. Besides,Xij meets the following con ...
分类:
其他好文 时间:
2020-12-21 12:00:49
阅读次数:
0
//二分查找法 class Solution { public int minArray(int[] numbers) { //定义左、右边界 int left = 0; int right = numbers.length - 1; while(left < right){ //中间的元素 int ...
分类:
编程语言 时间:
2020-12-18 12:13:52
阅读次数:
2
题目 方法一:动态规划 我们可以维护一个数组$dp[]$,$dp[i]$表示以$nums[i]$为结尾元素的最长上升子序列的长度。在计算$dp[i]$之前,我们已经计算出了$dp[0....i-1]$的值,考虑在$num[i]$之前的最长子序列的尾部加上$nums[i]$, $dp[j]$代表$nu ...
分类:
其他好文 时间:
2020-12-16 11:50:45
阅读次数:
4
import java.util.Random; public class test { public static void main(String[] args) { // TODO Auto-generated method stub int[] a={1,4,5,7,7,7,7,8,9,12 ...
分类:
其他好文 时间:
2020-12-10 10:39:31
阅读次数:
2
二叉查找树: 优点:二分查找 缺点:最差情况变成了链表 平衡二叉树: 优点:树的高度差不超过1 缺点:每个节点存储存储的数据太少,每次从磁盘拿数据不够page的16kb,导致树的深度过大(瘦长型)。读不够 多路平衡查找树(B树):分叉数比关键字多1(通过树的合并和分裂来保证新加入的关键字的有序性) ...
分类:
数据库 时间:
2020-12-08 12:34:56
阅读次数:
9
给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 进阶: 你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗? 示例 1: 输入:nums = [5,7, ...
分类:
编程语言 时间:
2020-12-07 12:06:51
阅读次数:
6