ICode9

精准搜索请尝试: 精确搜索
  • 公共基础2022-09-01 01:02:45

    数据结构 算法 解题方案的准确而完整的描述 基本特征 可行性:能解决问题 确定性:每个步骤必须是明确定义的,不许模棱两可,也不许有多义性 有穷性:算法必须在有限时间内做完,在执行有限个步骤后终止 拥有足够的情报:要有一定的输入数据,必须 有输出结果 基本要素 对数据对象的运算和操作:算

  • hzx的CSP-J模拟赛题解2022-08-31 22:05:24

    T1 按题意模拟即可,注意不用考虑闰年。 T2 \(30\%\) 的数据:使用 \(Floyd\) 求出图的全源最短路,时间复杂度 \(O(n^3)\)。 \(50\%\) 的数据:对图上每个点使用 \(Dijkstra\) 求出最短路,时间复杂度 \(O(n^2 \log n)\),需要较优秀的常数才能通过。常数十分优秀的 \(Johnson\) 也可获得此部

  • P1452/CF429D/P6247/P1429/P78832022-08-31 12:33:16

    (P1452)给定 \(n\) 个点,求最远点对。 \(n\leq 5\times10^4\) 。 (CF429D)给定 \(n\) 个点,求最近点对。 \(n\leq 10^5\) 。 (P6247)给定 \(n\) 个点,求最近点对和最远点对。 \(n\leq 10^5\) 。 (P1429)给定 \(n\) 个点,求最近点对。 \(n\leq 2\times10^5\) 。 (P7883)给定 \(n\) 个点,求最近点对

  • LeetCode 21. 合并两个有序链表2022-08-29 10:33:41

    题目 题目链接:https://leetcode.cn/problems/merge-two-sorted-lists/ 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] 示例 2: 输入:l1 = [], l2 = [] 输出:[] 示例 3:

  • leetcode-793. 阶乘函数后 K 个零2022-08-28 15:34:46

    793. 阶乘函数后 K 个零 图床:blogimg/刷题记录/leetcode/793/ 刷题代码汇总:https://www.cnblogs.com/geaming/p/16428234.html 题目 思路 首先我们令\(zeta(x)\)为\(x!\)末尾零的个数。根据172.阶乘后的零有\(zeta(x)=\sum_{k=1}^\infty\left\lfloor\frac{x}{5^k}\right\rfloor\)

  • leetcode-172. 阶乘后的零2022-08-28 12:00:08

    172. 阶乘后的零 图床:blogimg/刷题记录/leetcode/172/ 刷题代码汇总:https://www.cnblogs.com/geaming/p/16428234.html 题目 思路 n!中有几个0与[1,n]中出现多少个5的因数有关。例如7! = 1×2×3×4×5×6×7出现了1次5,故最后末尾会出现1个0。26!中出现了5,10,15,20,25其中5的个

  • 函数的作用2022-08-27 20:01:56

    以下选项中,属于函数的作用的是( B C D ) A.提高代码执行速度B.复用代码C.增强代码可读性D.降低编程复杂度 答案解析:函数的作用是复用代码、增强代码可读性、降低编程复杂度,而并不能提高代码的执行速度。

  • 线性排序上2022-08-27 13:05:51

    目录线性排序算法介绍桶排序(Bucket sort)计数排序(Counting sort)基数排序(Radix sort)思考 线性排序算法介绍 线性排序算法包括桶排序、计数排序、基数排序。 因为这些排序算法的时间复杂度是线性的,所以我们把这类排序算法叫作线性排序 线性排序算法的时间复杂度为O(n)。 此3种排序算

  • 【TPC附加赛YSTG】星坠比赛题解2022-08-24 22:03:15

    零、写在前面 比赛地址 本人比较菜,在这场接近提高组的模拟赛中获得了 \(30 + 100 + 30 + 50 = 210\) 的 烂 分 事实上只要把暴力打足成绩一般就不会差 但后来本人在 ZYF 神犇的指导下侥幸 AK 了 言归正传,接下来就是本场比赛的解题思路了 坐稳扶好 壹、碑文 这是本场比赛最难

  • 动态规划——leetcode55、跳跃游戏2022-08-24 18:01:35

    题目描述:     解题方法:动态规划   动态规划解题步骤:     确定状态: 最后一步:如果能跳到最后一个下标,我们考虑他的最后一步到n-1(最后一个下标),这一步是从 i 跳过来的,i<n-1;           这需要满足两个条件: 可以跳到 i ; 最后一步跳跃的距离 <= 从i可以跳跃

  • 考研数据结构与算法(一)绪论2022-08-24 15:01:23

    目录一、数据结构概念1. 1 数据的逻辑结构1.2 数据的存储结构二、基本术语2.1 数据2.2 数据元素2.3 数据对象2.4 数据类型三、抽象数据类型ADT四、算法和算法分析4.1 算法4.2 好算法的标准4.3 时间复杂度4.4 空间复杂度 一、数据结构概念 引用《数据结构-严蔚敏》的解释: 数据结构

  • 对抗软件复杂度的战争2022-08-23 13:34:23

       服务一个人的系统,和服务一亿人的系统,复杂度有着天壤之别。本文从工程师文化、组织战略、公司内部协作等角度来分析软件复杂度形成的原因,并提出了一些切实可落地的解法。   服务一个人的系统,和服务一亿人的系统,复杂度有着天壤之别。本文从工程师文化、组织战略、公司内部协

  • [题解]轮流拿牌问题_一道博弈论笔试题(C++)2022-08-23 12:32:14

    题目 A和B轮流从一个数组左右两端取数,A先B后,每次取一个数,最终取数总和大者获胜,两人每次都会选择最有利的策略,求获胜者取数的和。 思路 笔试时遇到的一道算法题,也是博弈论中非常经典的入门题目了。从先后手的角度考虑,先手在行动一次后获得左右两端数中的一个,然后转换为后手;而后手在

  • LeetCode - 三数之和2022-08-23 11:04:55

    题目信息 源地址:三数之和 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0,请你找出所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 提示信息 示例 1 输入:nums = [-1,0,1,2,-1,-4] 输出:[[-1,-1,2],[-1,0,1]] 示例 2 输

  • 【树套树与分治】2022-08-22 17:04:11

    降维方法 可持久化 条件:静态问题,且一般都是在线,因为可以离线的话,通常会用各方面更优的离线(分治)算法。 减少一个维度后,时间复杂度去掉一个log 对于二维问题,可持久化一维,如:二维数点用可持久化线段树在线维护 对于三维问题,选一个维度可持久化,即可持久化树套树,但不会写,应该不考。 扫

  • Learn Dijkstra For The Last Time2022-08-22 13:03:19

    博客链接:https://www.codein.icu/learn-dijkstra/ Introduction Dijkstra 算法是用于求解非负权图单源最短路的经典算法。 市面上的大部分教程都仅仅停留在「如何实现 Dijkstra 算法」的层面。从应用角度,这当然无可厚非。但理解算法本身,也不失为一件乐事。 问自己这样几个问题: Di

  • 二叉树遍历方法总结2022-08-21 17:33:42

    二叉树基本概念 面试的时候提到的树, 大部分都是二叉树. 所谓二叉树是树的一种特殊结构, 在二叉树中每个节点最多只能有两个子节点, 在二叉树中最重要的操作莫过于遍历, 即按照某一顺序访问树中的所有节点. 树的遍历方式 通常树有如下几种遍历方式: 前序遍历 中序遍历 后续遍历

  • 顺序表2022-08-21 00:04:30

    一、算法思想 二、代码实现 1、结构体定义 typedef struct { int data[maxSize]; int length; }Sqlist; 2、操作 (1)查找元素 (2)插入元素 (3)删除元素 三、时间复杂度分析

  • 排序(上)2022-08-20 10:00:49

    目录冒泡排序(Bubble Sort)插入排序(Insertion Sort)选择排序(Selection Sort)冒泡排序和插入排序的比较 最经典的、最常用的有:冒泡排序、插入排序、选择排序、归并排序、快速排序、计数排序、基数排序、桶排序 冒泡排序(Bubble Sort) 冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对

  • ARC100E口胡2022-08-20 09:03:38

    垃圾 \(O(3^n)\) 做法/kk 对于每个 \(k\) 分别计算答案,注意到 \(i\) 一定是 \(k\) 的子集所以先枚举一个 \(i\),此时 \(j\) 应该是被钦定 \(i\) 为 \(1\) 的部分为 \(0\),剩下 \(k\) 的子集部分可以随意取 \(0/1\)。 于是弄一个类似前缀和的东西 \(f[S]\),\(S\) 的第 \(i\) 位为 \(0/

  • 题解CF94B Friends2022-08-20 07:31:19

    简洁题意:求出任三点之间是否存在直接连通或都不连通,若存在,输出 WIN ,否则输出 FAIL 由于数据范围非常小, m<=10 ,则我们可以采用暴力枚举三个点的方式求出答案 #include<bits/stdc++.h> #define N 100010 using namespace std; typedef long long ll; ll G[17][17],m,fri,maxn,unfr

  • 2492. HH的项链2022-08-19 02:03:24

    题目链接 2492. HH的项链 HH 有一串由各种漂亮的贝壳组成的项链。 HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义。 HH 不断地收集新的贝壳,因此他的项链变得越来越长。 有一天,他突然提出了一个问题:某一段贝壳中,包含了多少种不同的贝壳?

  • 代码圈复杂度治理小结2022-08-17 14:03:42

    简介: 我们一直在说系统很复杂,那到底什么是系统复杂度呢?作为团队的稳定性底盘负责人,也经常和大家探讨为什么会因为圈复杂度高而被扣分。那么,怎么才能写的一手可读,可扩展,可维护的好代码?本文作者尝试结合在团队内部的实践,分享下过程中心得。 作者 | 陈胜利(李渔)来源 | 阿里开发

  • 排序(王道考研,自用)2022-08-16 21:03:04

    插入排序,折半插入排序,希尔排序 冒泡排序 快速排序 选择排序 堆排序 归并排序 基数排序 常考 稳定:插入排序,折半插入排序,冒泡排序,归并排序,基数排序 不稳定:希尔排序,选择排序, 快速排序,堆排序 比较次数与初始状态有关:插入排序,希尔排序,冒泡,快排,堆排序,归并 比较次数与初始状态无关:选

  • #C220816C. 时间复杂度2022-08-16 21:00:16

    #C220816C. 时间复杂度 C220816C 校内模拟赛 背景 注意:本题采用捆绑测试。 题目描述 在你的帮助下,小凯成功找到了宝藏价值最大的方案。接下来他在闲逛时被一个游戏机吸引了。 游戏机中共有 \(n\) 个带颜色的小球,第 \(i\) 个小球的颜色是 \(a_i\) 。小凯需要选出一个区间(假设长度为

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有