自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

命z的博客

知识储备中~~

  • 博客(84)
  • 收藏
  • 关注

原创 算法-01背包问题【对于 f[i][j] 的 j 为不超过、恰好等于、剩余空间的详解】

对于01背包问题的三种情况以及代码分析有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件...

2020-03-20 13:57:54 1029 2

原创 算法【凑数问题】

用两个正整数 ( a, b)来凑正整数c,即ax + by = c 。x,y为整数那么那些数凑的出来?那些数凑不出来呢?分别讨论 x,y,c 的情况,进行分析。(1)当a,b互质的( gcd(a, b) = 1)(x,y为整数)无论 c 为何值,都有整数 x,y 能把 c 凑出来(x,y为非负整数)凑不出来的 c 的个数有限,且最大凑不出来的 c = a * b - a - b(...

2020-03-18 19:10:49 2610

翻译 k倍区间——前缀和

问题描述  给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i <= j)之和是K的倍数,  我们就称这个区间[i, j]是K倍区间。    你能求出数列中总共有多少个K倍区间吗?输入格式  第一行包含两个整数N和K。(1 <= N, K <= 100000)  以下N行每行包含一个整数Ai。(1 &l...

2020-02-29 14:09:50 403

原创 【有重复数字的全排列_求法 & 计算个数】

输入一组数字(可能包含重复数字),输出其所有的排列方式。样例输入:[1,1,1,2]输出: [ [1,1,1,2], [1,1,2,1], [1,2,1,1], [2,1,1,1], ]最暴力的解法:当重复的数字不存在,做正常的全排列,最后在结果集中去重即可。另外一种解法:找重复数字在...

2020-03-30 22:54:41 4583 1

原创 算法【二分搜索?啥时候用】

在说二分搜索前先说一下二分查找。二分查找的前提条件的是有序的。这样才能保证每一次都排除一半的数据,时间复杂度才是O(logN)实现:#include <iostream>using namespace std;//二分查找 返回位置标号 时间复杂度O(logN) //参数:数组list,数组区间[left, right], 要查找的数numberint b...

2020-03-26 22:14:12 707

原创 01背包问题【f [i][j] 为剩余空间情况——数组实现】

有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个...

2020-03-20 13:47:06 416

原创 01背包问题【f [i][j] 为恰好等于情况——数组实现】

有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个...

2020-03-20 13:42:28 438

原创 01背包问题【f [i][j] 为不超过 j 情况——数组实现】

有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个...

2020-03-20 12:50:54 193

原创 C/C++【函数形参 int a,int *a ,int &a的区别】

例子如下:#include<iostream>using namespace std;void swap1(int a, int b) { cout << "swap1中:&a="; cout << &a << " &b=" << &b << endl; int tmp =...

2020-03-07 15:59:38 3208 1

翻译 C/C++中【变量、变量名、地址之间的关系】

变量:用来标识一块内存区域,即变量就是一块内存区域,而这个区域里面的值可以更改,故叫做‘变’量变量名:是一个标识符,用来指代一块内存区域,即变量,变量名并不占用内存空间,使用变量名让我们操作内存以区域、以块为单位,提高了方便性实例说明:编译:变量名是给编译器看的,编译器根据变量是局部还是全局分配内存地址或栈空间,所谓的变量名在内存中不存在,操作时转换成地址数存放在寄存器中了。编译器会将...

2020-03-07 14:51:08 2037 1

转载 C/C++中 ' & ' 和 ' * ' 的区别和用法

当申明变量int * p 的时,表示p是一个储存地址的变量;比如int p=0,表示p指向地址为00000000的地址单元。当申明指针p之后,再用p表示p指向的储存空间的内容;&表示取变量的地址;#include<iostream>using namespace std;int main(){ int a=123; //&a表示a在内存中的地址...

2020-03-07 13:27:09 1301

原创 分治——大整数乘法(趣学算法)

问题分析:当分到只有一位数时候,问题将会变的简单。算法设计分析伪代码详解算法复杂度分析

2020-03-04 22:32:59 372

翻译 约瑟夫问题

约瑟夫生者死者游戏约瑟夫游戏的大意:30个游客同乘一条船,因为严重超载, 加上风浪大作,危险万分。因此船长告诉乘客,只有将全船 一半的旅客投入海中,其余人才能幸免于难。无奈,大家只 得同意这种办法,并议定30 个人围成一圈,由第一个人数起,依次报数,数到第9人,便把他投入大海中,然后再从 他的下一个人数起,数到第9人,再将他投入大海中,如此 循环地进行,直到剩下 15 个游客为止。问:哪些位置是...

2020-03-03 20:57:59 661

转载 C++的函数c_str()的用法

语法:const char c_str();c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同.这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针比如:最好不要这样:char c;st...

2020-02-27 14:04:49 206

转载 C++中输入字符串的方法

cin、cin.get()、cin.getline()、getline()、gets()、getchar()cin://用法一:最常用、最基本的用法,输入一个数字:#include <iostream>using namespace std;main (){int a,b;cin>>a>>b;cout<<a+b<<end...

2020-02-23 21:31:09 1638

转载 python中if not 的用法

var = None def fun_not_var(var_data): if not var_data: print('哈哈哈哈') else: print('嘿嘿嘿')fun_not_var(var) # 哈哈哈哈 def fun_var(var_data): if var_data: print('...

2019-12-19 16:40:11 748

转载 python——爬虫基础知识

用BeautifulSoup 解析html和xml字符串#!/usr/bin/python# -*- coding: UTF-8 -*-from bs4 import BeautifulSoupimport re#待分析字符串html_doc = """<html><head> <title>The Dormouse...

2019-12-18 15:39:42 94

转载 el及${对象}

JSTL的发布包有两个版本:Standard-1.0 Taglib、Standard-1.1 Taglib,它们在使用时是不同的。Sun发布的标准JSTL1.1标签库有以下几个标签:核心标签库:包含Web应用的常见工作,比如:循环、表达式赋值、基本输入输出等。国际化标签库:用来格式化显示数据的工作,比如:对不同区域的日期格式化等。...

2019-07-13 17:06:14 710

翻译 Java的IO流

流的分类:IO流指的是输入输出流,用来处理设备上的数据,这里的设备指硬盘、内存、键盘录入、网络传输等。1) 根据数据的流向来分:输出流:是用来写数据的,是由程序(内存)--->外界设备。输入流:是用来读数据的,是由外界设备--->程序(内存)。2) 根据流数据的格式来分:字节流:处理声音或者图片等二进制的数据的流,比如 InputStream;...

2019-05-06 17:29:12 139

翻译 秒懂:抽象类、抽象方法、接口

抽象类可以没有抽象方法,有抽象方法的类必须是抽象类。抽象类不能再实例化,即不能直接构造一个该类的对象。修饰符:abstractabstract class类中定义抽象方法必须在具体(Concrete)子类中实现,所以,不能有抽象构造方法或抽象静态方法。如果子类没有实现抽象父类中的所有抽象方法,那么子类也必须定义为abstract类型。==================...

2019-05-05 19:18:55 749

翻译 将 字符串 反转的 6种Java 方法

方法一:递归法(分治思想)public static String reverse1(String s) { int length = s.length(); if (length <= 1){ return s; } String left = s.substring(0, length / 2); String right = s.substrin...

2019-05-05 18:56:33 333 1

转载 jaxen-1.1-beta-6.jar的用处

使用XPath以简化dom4j查找节点时必须导入jaxen-1.1-beta-6.jar,否则会出现异常:NoClassDefFoundError: org/jaxen/JaxenExceptiondom4j是如今用来解析xml文档的最多的一种解析方式,XPath 是一门在 XML 文档中查找信息的语言,它简化了dom4j查找节点的过程。详细例子:Dom4j 中集成了对XPath的支持。在...

2019-05-02 18:17:45 5214

转载 git与github的区别

一开始接触git或是github的程序员可能搞不太清楚这些名词到底指代的是什么,所以在这里稍微说明一下。git和github是两个完全不同的概念。git是一个版本管理工具,是可以在你电脑不联网的情况下,只在本地使用的一个版本管理工具,其作用就是可以让你更好的管理你的程序,比如你原来提交过的内容,以后虽然修改了,但是通过git这个工具,可以把你原来提交的内容重现出来,这样对于你后来才意识到的一些...

2019-04-29 23:01:44 232

转载 String str = "hello" 与 String str = new String("hello") 的区别

1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,...

2019-04-27 17:07:52 1964 2

翻译 String为什么不是基本数据类?

String类并不是基本数据类。 String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。 String 对象是 System.Char 对象的有序集合用于表示字符串。String 对象的值是该有序集合的内容,并且该值是不可变的。java 中String 是个对象,是引用类型。基础类型与引用类型的区别是:基础类型只表示简单的字符或数...

2019-04-27 16:58:26 3744 1

转载 Java中Math.round()

首先:它的返回值类型是long。如果Math.round(11.5f),那它的返回值类型就是int,这一点可以参考API。其次Returns the closest long to the argument, with ties rounding to positive infinity它返回的是一个最接近参数的long 值例如:Math.round(11.6) = 1...

2019-04-27 16:51:47 864

翻译 final的理解运用

1.修饰类  当用final修饰一个类时,表明这个类不能被继承。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为final方法。  在使用final修饰类的时候,要注意谨慎选择,除非这个类真的在以后不会用来继承或者出于安全的考虑,尽量不要将类设计为final类。2.修饰方法  下面这段话摘自《Java编程思想》第四版第143页...

2019-04-27 16:41:53 165

翻译 hashcode()和equals()的作用、区别、联系

介绍一、 hashCode()方法和equal()方法的作用其实一样,在Java里都是用来对比两个对象是否相等一致,那么equal()既然已经能实现对比的功能了,为什么还要hashCode()呢? 重写的equal()里一般比较的比较全面比较复杂,这样效率就比较低,而利用hashCode()进行对比,则只要生成一个hash值进行比较就可以了,效率很高,那么ha...

2019-04-27 16:17:38 206

翻译 Java的内存机制和内存地址解析

问题一:String str1 = "abc";String str2 = "abc";System.out.println(str1==str2); //true问题二:String str1 =new String ("abc");String str2 =new String ("abc");System.out.println(str1==str2); // false...

2019-04-22 15:48:09 532

翻译 jdk,jre,jvm的区别和联系,JVM体系结构与运行原理

JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre。jdk 是整个 Java 开发的核心,它集成了 jre 和一些好用的小工具。例如:javac.exe,ja...

2019-04-21 12:17:11 224

转载 java解决组合问题

问题1:假设袋子里有编号为1,2,...,m这m个球。现在每次从袋子中取一个球几下编号,放回袋中再取,取n次作为一组,枚举所有可能的情况。分析:每一次取都有m种可能的情况,因此一共有种情况。这里我们取m = 3, n = 4,则有种不同的情况。代码:import java.util.Stack;public class Test { static int cnt...

2019-03-20 19:41:10 779

转载 java中的四大输入:System.in,Scanner,InputStreamReader,BufferesReader的用法与区别【改】

Java中获取键盘输入值的方法以前写算法都是C/C++写的,现在用Java写,虽然算法是独立于语言的,但是Java从键盘获取输入确实有些不一样。在C/C++中我们可以用scanf和cin来获取用户从键盘上的输入,但是在Java中并没有这种方法,不过代替的是BufferedReader、InputStreamReader、Scanner和System.in四种方法。1.System.in...

2019-03-17 16:53:36 725

转载 剪枝算法

一:剪枝策略的寻找的方法1)微观方法:从问题本身出发,发现剪枝条件2)宏观方法:从整体出发,发现剪枝条件。3)注意提高效率,这是关键,最重要的。总之,剪枝策略,属于算法优化范畴;通常应用在DFS 和 BFS 搜索算法中;剪枝策略就是寻找过滤条件,提前减少不必要的搜索路径。二:剪枝算法(算法优化)1、简介在搜索算法中优化中,剪枝,就是通过某种判断,避免一些不必要...

2019-03-03 13:22:12 16250

原创 P1009阶乘之和 ---- 蓝桥杯

package com.luogu.test;/* * 计算 s = 1! + 2! + ... + n! * * 100分 */import java.math.BigInteger;import java.util.Scanner;public class P1009FactorialAdd { public static void main(String[] ar...

2019-03-02 22:41:33 485

原创 蓝桥杯 --- 铺地毯

题目描述为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有nn张地毯,编号从11到nn。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。输入输出格...

2019-03-02 19:50:40 357

原创 蓝桥杯--过河卒

package com.luogu.test;/*题目描述棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。棋盘用坐标表示,A点(0, 0)(0,0)、B点(n, m)(n, m为不超过2020的整数),同样马的位置坐标是需要给出的。现在要求你计...

2019-03-02 16:26:20 520

转载 c语言--从.c文件到可执行文件,其间经历了几步?O1,O2,O3是什么?

1.从.c文件到可执行文件,其间经历了几步?高级语言是偏向人,按照人的思维方式设计的,机器对这些可是莫名奇妙,不知所谓。那从高级语言是如何过渡到机器语言的呢?这可是一个漫长的旅途呀!其中,得经历这样的历程:C源程序-&gt;编译预处理-&gt;编译-&gt;汇编程序-&gt;链接程序-&gt;可执行文件1.预处理 读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理。...

2019-03-02 15:58:01 1448

原创 蓝桥杯--匹配对战

import java.util.Scanner;//对局匹配/* 问题描述 小明喜欢在一个围棋网站上找别人在线对弈。这个网站上所有注册用户都有一个积分,代表他的围棋水平。 小明发现网站的自动对局系统在匹配对手时,只会将积分差恰好是K的两名用户匹配在一起。如果两人分差小于或大于K,系统都不会将他们匹配。 现在小明知道这个网站总共有N名用户,以及他们的积分分别是A...

2019-03-02 14:19:43 205

原创 并查集----合根植物

问题描述  w星球的一个种植园,被分成 m * n 个小格子(东西方向m行,南北方向n列)。每个格子里种了一株合根植物。  这种植物有个特点,它的根可能会沿着南北或东西方向伸展,从而与另一个格子的植物合成为一体。  如果我们告诉你哪些小格子间出现了连根现象,你能说出这个园中一共有多少株合根植物吗?输入格式  第一行,两个整数m,n,用空格分开,表示格子的行数、列数(1&lt;m,n...

2019-02-24 14:57:43 108

原创 大数乘法的应用---小计算器

问题描述  模拟程序型计算器,依次输入指令,可能包含的指令有  1. 数字:'NUM X',X为一个只包含大写字母和数字的字符串,表示一个当前进制的数  2. 运算指令:'ADD','SUB','MUL','DIV','MOD',分别表示加减乘,除法取商,除法取余  3. 进制转换指令:'CHANGE K',将当前进制转换为K进制(2≤K≤36)  4. 输出指令:'EQUAL',以当...

2019-02-19 16:39:13 251

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除