09 2019 档案
摘要:反射技术: 反射一般是做框架的时候使用的,在框架执行的时候有一个配置文件去指定要运行这个框架前需要运行什么,那么这个时候就需要反射类去加载它的类,再去运行它 反射类定义: 实例(讲解为什么不直接new出来一个对象,还要这样写): 配置文件: 类: 程序入口: 所以说这是做框架的时候需要用的 私有方法
阅读全文
摘要:dom解析实例: 优点:增删改查一些元素等东西方便 缺点:内存消耗太大,如果文档太大,可能会导致内存溢出 sax解析: 优点:内存压力小 缺点:增删改比较复杂 当我们运行的java程序需要的内存比较大的时候,这个时候可能程序原来默认的内存已经不再符合我们的要求,这个时候就需要在程序运行前设置更大的内
阅读全文
摘要:XML的作用: xml现在主要用于配置文件 文档声明: 如果你使用记事本打开文档,此时如果记事本默认保存数据到硬盘根据的是“GB2312”编码,这个时候如果你在xml文档源码中encoding="UTF-8",这个时候用ie打开的话,ie会用utf-8来还原原来的数据,这个时候就可能会出现乱码 元素
阅读全文
摘要:final修饰类: final修饰成员方法: final修饰局部变量的时候: 对于基本类型来说,变量的数值不能改变 对于引用类型来说,变量的地址不能改变 final修饰成员变量的情况: 权限修饰符:
阅读全文
摘要:接口定义: 默认方法: 默认方法的作用: 如果在你的接口已经投入使用了,这个时候你想要在接口里面加一个方法,这个时候如果你加一个抽象方法的话,所有实现类都要改变源代码(因为实现类要把接口中的所有抽象方法都写一遍,不写就会出错)。但是如果你使用的默认方法,就相当于这个方法已经在接口中定义好了,然后你可
阅读全文
摘要:基本上大量篇章都是为了解决重名造成的各种问题,如果所有名称都不会重名,那么其实不会有多大问题 父类与子类中的成员变量重名问题: 成员方法重名时如果调用方法: 继承中方法的覆盖重写: 继承中构造函数: super的三种用法: this三种用法: 抽象方法: 抽象类的使用: 结果就是“猫吃鱼”
阅读全文
摘要:字符串常量池: 字符串比较函数: 字符串常用方法: 字符串截取函数: 字符串截取函数: static关键字使用: 要调用类中的static类型的变量的时候,可以用“类名.变量名”,一旦一个变量被定义成static类型变量,那么他就被从这个类中new出来的对象所共有且共同使用 静态方法和静态变量是同样
阅读全文
摘要:API定义: 可以网上下载一个jdk_api文档用来查找一些函数。 匿名对象的创建 匿名对象做为返回值和参数实例: Random的使用:
阅读全文
摘要:一、定义 二、类的使用 实例:定义的类要在一个class文件内,实例化类的对象要在另一个文件内 类文件: 实例文件: 对象内存图: 先主函数入栈,之后新开一个对象存入堆内存中,之后调用的call方法先压栈又出栈,之后同样又是sendmessage方法压栈又出栈,最后是main方法出栈 两个对象使用同
阅读全文
摘要:intellij IDEA中的一些快捷键: 一、方法基础 给你一个两个int类型的数相加的例子: 这个例子说明了 二、方法重载 实例: 先看麻烦的: 简化的: 注意: 关于打印函数println方法在源代码中的重载可以通过按下“ctrl”+“点击函数”就可以找出来那个源代码(适用于intellij
阅读全文
摘要:在你程序不出现错误,而且你的编译器已经成功导入后 成功导入的样子 你可以重新打开一个项目 这就可以了^_^
阅读全文
摘要:B题题意: 给你n个物品的价格,你需要找出来一个值b,使得每一个物品与这个b的差值的绝对值小于k。找到最大的b输出,如果找不到,那就输出-1 题解: 很简单嘛,找到上下限直接二分。下限就是所有物品中最小的价格。上限就是所有物品中最大价格加上k 代码: 1 #include<stdio.h> 2 #i
阅读全文
摘要:传送门 B题题意: 给你n个数,让你把这n个数分成k个段(不能随意调动元素位置)。你需要保证这k个段里面所有元素加起来的和是一个奇数。问可不可以这样划分成功。如果可以打印YES,之后打印出来是从哪里开始断开的。 否则打印出NO 题解: 加上奇数可以使和的性质改变,原来使偶数则变为奇数,奇数则变为偶数
阅读全文
摘要:传送门 题意: 这道题把我看得懵懵的(不敢相信),其实就是给你n个点和m条边(无向图),你要找出来任意两点之间的的最短距离,然后再从其中找出来第k个最小值 题解: 正常思维就是floyd多源最短路算法跑一遍,然后把任意两点之间的距离取出来放在数组里面,再排序。之后打印出第k个就可以了 但是n的范围是
阅读全文
摘要:传送门 题意: 给你一个黑白相间的1e9*1e9的棋盘,你需要从里面找出来由b个黑色的格子和w个白色的格子组成的连通器(就是你找出来的b+w个格子要连接在一起,不需要成环)。问你可不可以找出来,如果可以就先打印YES,再打印出所有格子的坐标,否则打印出NO。 题解: 参考博客 如果b和w相等的时候,
阅读全文
摘要:传送门 题意: 给你一个长为n的仅由'R','G','B'构成的字符串s,你需要在其中找出来一个子串。使得这个子串在“RGBRGBRGBRGB........(以RGB为循环节,我们称这个串为str)”里面也是一个子串,这个子串的长度是k 可是有可能s字符串中找不到,那么这个时候就可以改变s字符串中
阅读全文
摘要:传送门 题解: 给你n个数的坐标,你需要把他们移动到一个位置,有两种移动方式 1、向左或者右移动2 2、向左或者右移动1,但是耗费1 求最小耗费 题解: 很简单就可以想到,看一下偶数坐标多还是奇数坐标多 减一加一改变奇偶性,但是减二加二不改变 代码: 1 #include<stdio.h> 2 #i
阅读全文
摘要:传送门 题意: 给你n,k。表示在[1,n]这个区间内,在这个区间内找出来所有x满足x%k==0,然后让所有x的个位加到一起(即x%10),输出。 例如:输入10 2 那么满足要求的数是2 4 6 8 10 那么2%10+4%10+6%10+8%10+10%10=20 那么就输出20 题解: 满足x
阅读全文
摘要:传送门 题意: 你需要输出一个长度为n的字符序列(由小写字母组成),且这个字符串中至少包含k个不同的字符。另外题目还有要求:给你两个长度为p和q的序列,设字符序列存在s中 那么就会有s[Pi]<=s[P(i+1)] (i<p) s[Qi]<=s[Q(i+1)] (i<q) 如果你能找出来满足这些条件
阅读全文
摘要:传送门 题意: 第一行两个数n,m,代表总共有n天,m个安排。接下来有m行,每行是一个安排l,r,代表从第l天到第r天,小sun有安排了。安排可能会重复。 小 sun 非常喜欢放假,尤其是那种连在一起的长假,在放假的时候小 sun 会感到快乐,快乐值等于连着放假的天数,现在小 sun 把他的安排表告
阅读全文
摘要:题意已经很明显了,但是我首先是用暴力方法先把数字离散,再用离散后的值当下标来存这个数字出现了几次 1 #include<stdio.h> 2 #include<string.h> 3 #include<iostream> 4 #include<algorithm> 5 #include<map> 6
阅读全文
摘要:传送门 题意: 题解: 原本想着使用暴力方法: 1 #include<stdio.h> 2 #include<string.h> 3 #include<iostream> 4 #include<algorithm> 5 #include<map> 6 using namespace std; 7 t
阅读全文
摘要:1 //题意:有n只袜子,m天,k个颜色,每个袜子有一个颜色,再给出m天,每天有两只袜子,每只袜子可能不同颜色, 2 //问要让每天的袜子是相同颜色的,要重新染色的袜子数最少是多少。 3 // 4 //这里要注意一点,就是他是一次处理完,之后不会继续染色。这就意味着像 5 //4 3 2 6 //1 1 2 2 7 //1 2 8 //2 3 9 //3 4 10 //这样的一组数据他只能把全部袜
阅读全文
摘要:题意: 最小生成树找出来最小的边权值总和使得n个顶点都连在一起。那么这找出来的边权值中的最大权值和最小权值之差就是本题的结果 但是题目要求让这个输出的结果最小,也就是差值最小。那么这就不是最小生成树了 题解: 思路1、 让所有边这个权值从小到大排序,之后一个权值一个权值的枚举,枚举那个权值就证明我们
阅读全文
摘要:题意:你现在有9个2*2的窗口在4*4的屏幕上面,由于这9这小窗口叠放顺序不固定,所以在4*4屏幕上有些窗口只会露出来一部分。 如果电脑坏了的话,那么那个屏幕上的各小窗口叠放会出现错误。你的任务就是判断一下这个电脑到底坏了没有。 讲题之前简单说一下拓扑排序是干啥的: 它是对有向图顶点的一种排序方式,
阅读全文
摘要:最小路径覆盖 DAG的最小可相交路径覆盖: 算法:先用floyd求出原图的传递闭包,即如果a到b有路径,那么就加边a->b。然后就转化成了最小不相交路径覆盖问题。 这里解释一下floyd的作用如果1->2->3->4那么1可以到达2,3,4只要需要借助一些点,那么就可以直接把1与2,3,4相连,这就
阅读全文
摘要:1 //二分图最大匹配问题 2 //难点在建图方面,如果这个图里面一道墙也没有,那么可以说就是在横坐标(1...n)和纵坐标(1...n) 3 //中个挑选出来一个,那个点就是我们要放置炮台的地方,么个点只能用一次,这样就能保证正确性 4 //现在现在里面有墙了,在横坐标方面那么看到一个墙就把横坐标
阅读全文
摘要:为什么可以这样拆点在 这道题 都已经证明过 代码:
阅读全文
摘要:作者:logosG 链接:https://www.cnblogs.com/logosG/p/logos.html (讲解的KM算法,特别厉害!!!) KM算法: 现在我们来考虑另外一个问题:如果每个员工做每件工作的效率各不相同,我们如何得到一个最优匹配使得整个公司的工作效率最大呢? 这种问题被称为带
阅读全文
摘要:题意: 考虑一个小镇,那里的所有街道都是单向的,并且每条街道都从一个路口通往另一个路口。还众所周知,从一个十字路口开始,穿过城镇的街道,您将永远无法到达同一十字路口,即,城镇的街道没有环。 基于这些假设,您的任务是编写一个程序,以找到可以降落在城镇上的伞兵的最小数量,并以不止一个伞兵不交叉路口的方式
阅读全文
摘要:题意: 给你B个谷仓和n头牛,每个谷仓最多容纳m头牛。此时每头牛对每一个谷仓都有一个喜悦值,你需要把每一头牛都安排某个谷仓内,并且找出来那个每一头牛对它所住的谷仓打的分值,我们对这所有的分值取一个区间,使这个区间包含这每一个值。并且尽量使这个区间小一点。 题解: 对着区间的两个端点[l,r],先让l
阅读全文
摘要:题意: //题意就是给你k个挤奶池和c头牛,每个挤奶池最多可以来m头牛,而且每头牛距离这k这挤奶池//有一定的距离,题目上给出k+c的矩阵,每一行代表某一个物品距离其他物品的位置//这里要注意给出的某头牛和某个挤奶池的距离有可能不是最短的,所以这里要用最短路//来找出来某个物品到其他物品的最小距离,
阅读全文
摘要:解决什么问题:二分图最大匹配要求每个顶点只使用一次,即一连一。那么多重匹配就是解决一连多的问题的。比如给你n个联系人,你要把他们分在m个 组里面,给你每一个联系人可以放在那个组里面。再给你一个限制条件——每个组里面最多可以放入多少人,问你可不可以分组成功 解决方法: 二分图多重匹配分为二分图多重最大
阅读全文
摘要:一、 二分图基础: 参考链接:https://blog.csdn.net/jeryjeryjery/article/details/79596922 https://www.cnblogs.com/penseur/archive/2013/06/16/3138981.html 什么叫二分图:给你一些
阅读全文
摘要:参考博客:http://blog.sina.com.cn/s/blog_95ec9e7401018bga.html https://www.cnblogs.com/owenyu/p/6858508.html 用Dinic实现的二分图匹配的时间复杂度其实是O(M*N^0.5),这也许能够解释为什么一般
阅读全文