ICode9

精准搜索请尝试: 精确搜索
  • 刷算法题心得2021-04-10 23:01:46

    1、看到题目,想清楚思路在下手写代码 2、遇到关于二叉树的题目,首先想递归 3、遇到一些很抽象的问题,先想在纸上画出来一些,或者代入实际的例子试一试 4、要结合那几种数据结构(map、list、set、数组、栈),看能不能用到这些结构 5、排序数组分析一般会使用双指针法,如下面这道题,求一个数组

  • 重写剑指offer上的一些题:数组中重复的数字+最小的k个数+数组中的第k个最大元素2021-04-10 23:00:16

    1.找出数组中重复的数字。 题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了....... 原地交换的思想。还是有必要把最简单的思路记下来,比如这道题目可以建立哈希表这样就能以O(1)的时间复杂度来进行查找了。 在一个长度为

  • C语言基础知识day012021-04-10 22:58:05

        工欲善其事必先利其器。我最近一段时间在学习C语言,做一些个人总结用来巩固自己所学的知识。首先整理一下C语言的学习路线,我大一上学期学过C语言,但是后来没有继续学习,现在研一,又继续重新拾起这门计算机语言。前期我在B站上学习的,找到了相关的视频。第一章节大体了解一下C语

  • 二进制奇偶位置交换2021-04-10 22:57:09

    import java.util.Scanner; public class d4_10 { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); System.out.println("请输入一个数字:"); int num=scanner.nextInt(); int ret=swap(num);

  • 01.C语言学习(控制结构)2021-04-10 22:52:10

    //选择结构:判断奇数 int main() {     int num;     printf("请输入:");     scanf("%d", &num);          if (num % 2 != 0)         printf("%d是奇数\n", num);     else         printf("%d不是奇数\n",num);     return

  • EOJ月赛-2021.4 --D. Divide(枚举质因子)2021-04-10 22:35:45

    题目链接 题目思路: 预处理1-1e7的所有质因子 然后对区间L,R 我们算出每个质因子的个数 上述操作重复两边(两个区间) 然后check的时候对于所有的质因子是不是都满足num1[i]<=num2[i]就可以了 ll vis[10000002], p[10000002], x; void oula() { for(int i = 2 ; i <= 10000000 ;

  • zxing源码阅读2021-04-10 22:32:07

    关于zxing识别中的源码 其中图像做二值化的部分 bool GlobalHistogramBinarizer::getBlackRow(int y, BitArray& row) const //image处理的成员函数, y是所在行 { int width = _source->width(); if (row.size() != width) row = BitArray(width); else row.clearBits

  • java回顾2021-04-10 22:31:07

    标识符: (1)什么是标识符? (2)标识符的命名规则 关键字:关键字都是小写的 字面值:数据。存储在内存中,具有类型。 java中出现的字面值默认为int类型处理 变量: (1)本质:内存中的一块存储空间 (2)三大组成部分:数据类型、变量名、字面值 (3)作用域/有效范围 (4)分类:成员变量(类体之内,方法体之外)和

  • 1. 两数之和2021-04-10 22:30:37

    题目描述 代码实现 class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { for (int i = 0; i < nums.size() - 1; ++i) { for (int j = i + 1; j < nums.size(); ++j) { if (nums[i] + num

  • Codeforces Round #704 (Div. 2) E. Almost Fault-Tolerant Database2021-04-10 22:29:56

    传送门 题目大意 有n个长为m的数组,我们要找出一个数组a,和之前n个数组比较,每次不能有超过两个数字不同,如果找不到输出No 题解 我们直接暴力就好了,将第一个数组当作我们的答案,然后从第二行开始比较,如果不同的数量超过了2个,我们尝试递归的修改就好了,如果和数组a不同的数量有3个,

  • AQS-ReentrantLock.CountDownLatch 源码2021-04-10 22:29:10

    public void await() throws InterruptedException { sync.acquireSharedInterruptibly(1); } // public final void acquireSharedInterruptibly(int arg) throws InterruptedException { if (Thread.interrupted()) // 若被

  • 个人开发流程2021-04-10 22:04:49

    主要代码: package chapter; import java.util.ArrayList; import java.util.List; import java.util.Stack; public class Master { private static String[] op = { "+", "-", "*", "/" }; public static List<String>

  • [CF1003E] Tree Constructing - 树的直径,构2021-04-10 22:04:36

    [CF1003E] Tree Constructing - 树的直径,构造 Description 给n个点,构造一棵树,树的直径是d,每个点连接的点数(度数)不超过k。 Solution 先把直径画出来,然后从上面每个点开始 DFS 出一棵子树来,满足度数限制并不破坏直径条件 #include <bits/stdc++.h> using namespace std; #define

  • 二叉树的最大路径和2021-04-10 22:04:09

    给定一个二叉树,请计算节点值之和最大的路径的节点值之和是多少。这个路径的开始节点和结束节点可以是二叉树中的任意节点。例如:给出以下的二叉树, 返回的结果为6。 private int res = Integer.MIN_VALUE; public int maxPathSum (TreeNode root) { // write code here if

  • noip.ac 32482021-04-10 22:03:09

    Farmer John 决定给他分别用 11 到 N(1 \leq N \leq 300)N(1≤N≤300) 分别编号的牧草浇水,他可以直接在一颗牧草旁边直接挖一口井来获得水,也可以用管子从任意有水的牧草那里来获得水。 在第 ii 颗牧草旁边挖一口井的代价为 W_i(1 \leq W_i \leq 100,000)Wi​(1≤Wi​≤100,

  • 课后自主练习(dp)1068. 变换种类数 super《编程思维与实践》个人学习笔记2021-04-10 22:01:41

    题目 思路 ①题目要求是对2、3、5、7可以整除,我们不妨取他们的最小公倍数210来进行状态统计(也可以开一个四维数组【2】【3】【5】【7】来记录状态) ②我们不妨先固定住一个位f(0,0) = 1(比如第零位0(因为没有第0位,就默认是0)先固定好,那么后续有以下情况,+1,-1,+12,-12,+123,-123)//需

  • zzulioj1099: 角谷猜想(多实例测试)2021-04-10 22:01:18

    1099: 角谷猜想(多实例测试) 题目描述 任何一个自然数,如果是偶数,就除以2,如果是奇数,就乘以3再加1。最后,经过若干次迭代得到1。也就是说,不管怎样迭代,不断除以2以后,最后是1。现在给你一个自然数n,求出它转变为1所需要的步数。 输入 输入数据有多组,每组输入包含一个自然数n。测试数

  • 实验7-3-1字符串逆序2021-04-10 21:58:29

    输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。 输入格式: 输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。 输出格式: 在一行中输出逆序后的字符串。 输入样例: Hello World! 输出样例: !dlroW olleH #include <stdio.h> int main() { int i;

  • Java编程练习2021-04-10 21:58:08

    Java编程— 跳跃最大长度(java) 题目: 【问题描述】给一个非负整数数组。假设你最初的位置为0,数组中每一个元素的值代表你能跳跃最大的长度,判断是否能达到数组的最后一个位置 【输入形式】第一行数组长度 第二行输入一个非负整数数组 【输出形式】布尔类型的值 【样例

  • Codeforces Round #704 (Div. 2) D. Genius‘s Gambit2021-04-10 21:57:24

    传送门 题目大意 我们有a个1,b个0,我们要构成二进制数x和y,并且都花费a个1和b个0,并且x,y不存在前导0,计算x-y并让他们的结果有k个1 题解 因为没有前导0,所以x和y开头皆为1,我们为了结果有尽量多的1,假设我们有两个1和3个0,我们发现可以另x,y为下值 x:11000 y:10001 这样我们可以让他们的

  • LCA — 欧拉序 + ST表2021-04-10 21:36:14

    LCA — 欧拉序+ST表 \(O(n\log n)\) 预处理,\(O(1)\) 询问​。 \(lca(x,y)=\) 欧拉序中最早出现的 \(x\) 和 \(y\) 中间深度最浅的点。 Luogu P3379 #include <bits/stdc++.h> using namespace std; const int N=500010; inline int read(){ int x=0;bool f=false;char ch=getchar

  • 四月十号java知识点2021-04-10 21:35:48

    1.数组:若干个相同数据类型元素按照一定顺序排列的集合2.JAVA语言内存分为栈内存和堆内存3.方法中的一些基本类型变量和对象的引用变量都在方法中的栈内存中分配4.堆内存用来存放new运算符创建的数组或对象,在堆中存放的内存由java虚拟机的垃圾回收器来自动管理5.在堆中创建一个数组

  • CF1129D Isolation2021-04-10 21:33:50

    题面传送门 蛮好的一道dp题。 显然设\(dp_i\)为到\(i\)的方案数。设\(f(l,r)\)为\([l,r]\)区间内出现一次的个数,那么有方程\(dp_i=\sum\limits_{f(j+1,i)\leq k}{dp_j}\) 这样是\(O(n^2)\)的看上去没法优化。 考虑数颜色的套路就是维护前面最近的。设其为\(pre_i\),那么当\(pre_i\)

  • [CF915E] Physical Education Lessons - 动态开点线段树2021-04-10 21:33:14

    [CF915E] Physical Education Lessons - 动态开点线段树 Description 有 n 天(一开始都是工作日),之后会发布 q 个通知,通知的格式为:l r k。如果 k=1,就说明从第 l 天到第 r 天都变成非工作日;如果 k=2,就说明从第 l 天到第 r 天都变成工作日,每次操作后问有多少个工作日。 Solution 复习

  • 【每日一题】5. 城市网络 (树上倍增)2021-04-10 21:33:07

    补题链接:Here LCA 算法讲解:Here 考虑用 \(f[i][j]\) 表示从i往上走,能买珠宝的第 \(2^j\) 个点是哪个,显然,如果我们知道每个 \(f[i][0]\)的值, 那么 \(f[i][j]=f[f[i][j−1]][j−1]\) ( i 往上的第2 ^j−1 个点再往上 2^j−1个点)。那么 \(f[i][0]\) 怎么求呢?肯定不能暴力,因为暴力

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

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

ICode9版权所有