- 博客(58)
- 收藏
- 关注
原创 全排列问题(递归)
上次上课老师讲了全排列算法,现在刚刚看自己的写的全排列算法,看了好一会才看懂。。。。应该是自己理解的不够彻底所以今天彻彻底底的来分析一下先看图:思路:先固定一个字符,然后将固定的字符与它后面的每一个进行交换,一直递归下去,直到固定的字符后面只有一个字符我们先看看图,框外面的字符是被固定的字符,框里面的字符的没有被固定的字符,具体做法就是每次将框里面的第一个字符与框里面的字符...
2018-03-31 21:31:00 11824
原创 L2-014. 列车调度
L2-014. 列车调度时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 火车站的列车调度铁轨的结构如下...
2018-03-30 19:26:00 160
原创 L2-008. 最长对称子串
L2-008. 最长对称子串时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 对给定的字符串,本题要求你...
2018-03-30 17:10:00 124
原创 整数划分问题之递归法
整数划分问题是算法中的一个经典命题之一,有关这个问题的讲述在讲解到递归时基本都将涉及。所谓整数划分,是指把一个正整数n写成如下形式: n=m1+m2+...+mi; (其中mi为正整数,并且1 如果{m1,m2,...,mi}中的最大值不超过m,即max(m1,m2,...,mi)例如但n=4时,他有5个划分,{4},{3,1},{2,2},{2,1,1},{1,1,1,1};注意4
2018-03-30 11:20:51 684
原创 分治法之归并排序(递归+分治)
/*归并排序思想:1.分而治之,将一个无序的数列一直一分为二,直到分到序列中只有一个数的时候,这个序列肯定是有序的,因为只有一个数,然后将两个只含有一个数字的序列合并为含有两个数字的有序序列,这样一直进行下去,最后就变成了一个大的有序数列2.递归的结束条件是分到最小的序列只有一个数字的时候时间复杂度分析:最坏情况:T(n)=O(n*lg n)平均情况:T(n)=O(n*lg n)稳
2018-03-30 11:20:49 326
原创 L2-005. 集合相似度
L2-005. 集合相似度时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定两个整数集合,它们的相似度定义为
2018-03-30 11:20:46 65
原创 分治法之棋盘覆盖问题
写此博文目的:1.刚学了棋盘覆盖问题,自己实现它,加深自己的理解很感悟2.给为棋盘问题困惑的朋友带来一点思路 开始分析! 什么叫做分治法呢?:简单来说就是分而治之,先把问题分解成很多个小问题,然后再处理它棋盘覆盖问题就是一个很经典的分治问题首先我们先来看一下棋盘覆盖问题到底是个什么问题?题目引用自:https://blog.csdn.net/acm_jl/article/det
2018-03-30 11:20:44 322
原创 L2-003. 月饼
L2-003. 月饼时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 月饼是中国人在中秋佳节时吃的一种传统食品,不
2018-03-30 11:20:41 85
原创 L1-048. 矩阵A乘以B
L1-048. 矩阵A乘以B时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定两个矩阵A和B,要求你计算它们的
2018-03-30 11:20:38 126
原创 L1-046. 整除光棍(模拟竖式计算除法)
L1-046. 整除光棍时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 翁恺 这里所谓的“光棍”,并不是指单
2018-03-30 11:20:36 281
原创 L1-034. 点赞
L1-034. 点赞时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 微博上有个“点赞”功能,你可以为你喜欢的博文
2018-03-30 11:20:33 89
原创 HDU变形课
变形课Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 28226 Accepted Submission(s): 10289Problem Description呃......变形课上Harry碰到了一点小麻烦,因为他并不像H
2018-03-30 11:20:31 162
原创 不容易系列之(4)——考新郎
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2049国庆期间,省城HZ刚刚举行了一场盛大的集体婚礼,为了使婚礼进行的丰富一些,司仪临时想出了有一个有意思的节目,叫做"考新郎",具体的操作是这样的:首先,给每位新娘打扮得几乎一模一样,并盖上大大的红盖头随机坐成一排;然后,让各位新郎寻找自己的新娘.每人只准找一个,并且不允许多人找一个.最后,揭开盖
2018-03-30 11:20:28 206
原创 HDU2045
不容易系列之(3)—— LELE的RPG难题Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 61475 Accepted Submission(s): 24560Problem Description人称“AC女之杀手”的超级偶
2018-03-30 11:20:25 204 1
原创 单词数
lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。Input有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。Output每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。Sample Inputyou a
2018-03-30 11:20:23 65
原创 L1-006. 连续因子
L1-006. 连续因子时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 一个正整数N的因子中可能存在若干连续的数
2018-03-30 11:20:20 83
原创 L1-002. 打印沙漏
L1-002. 打印沙漏时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 本题要求你写个程序把给定的符号
2018-03-30 11:20:18 91
原创 ZCMU 1019: 分金币
解题思路:附上刘汝佳老师的解题过程:首先最终每个人的金币数量可以计算出来,它等于金币总数除以人数n。接下来用M来表示每个人最终拥有的金币数。 现在假设编号为 i 的人初始有Ai 枚金币,对于1号来说,他给了4号x1枚金币,还剩Ai -x1枚金币;但是2号给了他x2枚金币,所以还剩A1-x1+x2枚金币。所以A1-x1+x2=M。同理对于第2个人,有A2-x2+x3=M。最终得到n个方程,实际上
2018-03-30 11:20:15 190
原创 KMP算法之从懵逼到入门
写本文的目的:1.加深自己的理解,以便自己日后复习2.给看到此文的人一点启发KMP算法看懂了就觉得特别简单,思路也好理解,但是看不懂之前,查各种资料看大佬的博客,都很懵逼......1. 算法过程解释 首先,字符串"BBCABCDAB ABCDABCDABDE"的第一个字符与搜索词"ABCDABD"的第一个字符,进行比较。因为B与A不匹配,所以搜索词后移一位。 就这样,直到
2018-03-30 11:20:12 285 4
原创 带编译器的codeblocks下载地址
曾下载过一个没有编译器的codeblocks,弄了很久才发现自己下载的版本没有编译器,所以将带编译器的codeblocks放在腾讯微盘中,方便自己也方便他人,这样就不用去官网下载了,官网有时候真的是有毒.......下载速度还贼慢下载地址:https://share.weiyun.com/e218b040639d7bc2b4e71696ab32d1e8
2018-03-30 11:20:10 10106 7
原创 联想拯救者s15k重装w10系统教程
目的:1.自己平常健忘,且总是要重装系统,2.给看到此篇文章的人一点参考ps:联想拯救者s15k系列,带有两个硬盘,一个是装系统的硬盘,大小约120G,一个是资料盘,大小约900G,系统重装在小硬盘,速度才会快,资料盘自己分区(我使用的是U大师启动盘,重新安装w10系统,分区采用的是u大师启动盘中自己带的磁盘精灵)第一步:设置u盘启动,长按f2,进入Boot菜单,将前面两行都设置为L开头的选项
2018-03-30 11:20:07 5478
原创 w10下Oracle 11g完全干净卸载
1.关闭oracle所有的服务。可以在windows的服务管理器中关闭; 2.打开注册表:regedit 打开路径: 运行->regedit> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ 删除该路径下的所有以oracle开始的服务名称,这个键是标识Oracle在windows下注册的各种服务。 3.打开注册表,
2018-03-30 11:20:05 1598
原创 sql sever和mysql 卸载及oracle安装
sql sever和mysql的卸载及Oracle安装目的:本人健忘,以后难免会重装系统啥的,软件卸了装是常有的事,特此写此详细教程,一是方便自己以后重装的时候可以看看;二是如果有某位初学者有幸光临,也可以给一点参照。sql sever版本:20161.sql sever 的卸载下面是删除c盘中的sql相关文件然后打开注册表(开始键+R打开下面界面,然后输入regedit
2018-03-30 11:20:02 320
原创 高清图片爬取
目标网站:https://unsplash.com/目的:爬取一些图片作为Java小程序的背景图代码如下:import requests,json,time,sysfrom contextlib import closingnext_page =[]#存放下一页面网址next_page_0='http://unsplash.com/napi/feeds/home'#起始爬取页面n
2018-03-30 11:20:00 527 1
原创 中国部分大学排名爬虫
目标网站:http://www.zuihaodaxue.com/zuihaodaxuepaiming2016.html目的:爬取目标网站上中国大学的排名代码如下: 1 import requests#引入requests库 2 from bs4 import BeautifulSoup 3 import bs4#引入bs4库 4 def getHTMLText(url):#获得网页
2018-03-30 11:19:57 141
原创 selenium和PhantomJS的安装
针对w10系统selenium安装pip install selenium 默认安装的是3.x版本,但是3.x版本不支持PhantomJS,所以要安装2.x版本pip install selenium==2.48.0phantomjs安装下载链接:http://phantomjs.org/download.html解压之后如图:改一下名称:phantomjs,我的是放在E盘,如图:
2018-03-30 11:19:54 1216
原创 NYOJ2—括号配对问题
括号配对问题时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述现在,有一行括号序列,请你检查这行括号是否配对。 输入第一行输入一个数N(0输出每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No样例输入3[(])(])([[]()])样例输出NoNoYes算法:采用栈这种数据结构,遍历字符串遇到'('和
2018-03-30 11:19:51 111
原创 爬虫之小说爬取
以笔趣阁网站为例,爬取一念永恒这本小说链接如下:http://www.biqukan.com/1_1094 具体代码如下: 1 from bs4 import BeautifulSoup 2 from urllib import request 3 import requests 4 import re 5 import sys 6 def Down_this_chapter(
2018-03-30 11:19:48 1154
原创 数据库系统概论书本基础知识
数据库系统概论复习重点 第一章 绪论1. 实体:客观存在并且相互区别的事物,例如:一个学生,学生的一次选课2. 属性:实体所具有的某一特性,例如学生的成绩3. 码:唯一标识
2018-03-30 11:19:46 2956 1
原创 黑板客爬虫关卡之第三关
链接:http://www.heibanke.com/lesson/crawler_ex02 1 import requests 2 from bs4 import BeautifulSoup 3 4 url_1='http://www.heibanke.com/accounts/login' 5 url_2='http://www.heibanke.com/lesson/craw
2018-03-30 11:19:42 173
原创 黑板课爬虫闯关之关卡二
关卡二地址:http://www.heibanke.com/lesson/crawler_ex01/ 1 import requests 2 url = 'http://www.heibanke.com/lesson/crawler_ex01/' 3 for i in range(0,30): 4 data={} 5 data['username']='yb' 6
2018-03-30 11:19:39 189
原创 黑板客爬虫闯关之关卡一
黑板客爬虫闯关之关卡一分析:从起始界面获得下一个界面的地址信息然后开始跳转,然后又在另外界面获得下一个界面的地址信息,直到通关闯关地址:http://www.heibanke.com/lesson/crawler_ex00/ 注意二者的区别 1 import re 2 import datetime 3 import requests 4 def Go1(url,i): 5
2018-03-30 11:19:37 141
原创 关于Object类下所有方法的简单解析
类Object是类层次结构的根类,是每一个类的父类,所有的对象包括数组,String,Integer等包装类,所以了解Object是很有必要的,话不多说,我们直接来看jdk的源码,开始我们的分析之路1.hashcode()public native int hashCode();//native说明跟机器有关,跟对象的地址有关如果我们新建一个类,而hashcode没有被重写的话,那么hash
2018-03-30 11:19:34 200
原创 NYOJ915——+-字符串
+-字符串时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述Shiva得到了两个只有加号和减号的字符串,字串长度相同。Shiva一次可以把一个加号和它相邻的减号交换。他想知道最少需要多少次操作才能把第一个字符串变换成第二个字符串。你现在要去帮助他完成那个这个问题。 输入多组测试数据 每组数据有两行,每行包含一个由”+”和”-“最成的字符串。每个子符串长度不超过
2018-03-30 11:19:32 121
原创 NYOJ-106 简单背包问题
首先观察题目,n表示输入数据的个数,s表示物品个数,m表示背包容重量,v表示物品单位重量的价值,w表示单个物品的总重量,物品可以分割,并且每个物品只可以拿一次,要求输出在满足包容重量的前提下包内物品价值和的最大值分析:定义一个表示物品的结构体,属性有单位价值和重量,将每个物品按照单位价值来进行排序,要满足价值和最大的条件的话,那我们的背包就要先从单位价值最大的开始装起,直到背包满代码如下:
2018-03-30 11:19:29 161
原创 为什么覆写equals()方法的时候总是要覆写hashcode()?
要回答这个问题,我们应该先认识一下obj中的equals和hascode方法1.equals()方法在obj中定义如下:public boolean equals(Object obj) { return (this == obj); } 可以看到因为‘==’,所以是将两个对象的地址值进行比较(比较对象的引用是不是相同),但是在String和Integer等包装类中已经重写了equals(
2018-03-30 11:19:26 389
原创 对Java中堆栈的解析
Java把内存分为两种:一种是栈内存,一种是堆内存栈内存:在函数中定义的一些基本类型的变量和对象的引用变量,当超过变量的作用域之后,Java自动释放该变量内存堆内存:存放new创建的对象和数组,由JVM的GC(Java虚拟机的自动垃圾回收器)管理 附加1:跟C++不一样,Java自动管理栈和堆栈的 优势:存取速度快,栈数据可以共享(具体参考附加2) 缺点:存在栈中的
2018-03-30 11:19:22 149
原创 对Java中多态,封装,继承的认识(重要)
一.Java面向对象编程有三大特性:封装,继承,多态在了解多态之前我觉得应该先了解一下封装和继承的概念,个人觉得继承和封装都是为了多态服务的,且看我一一道来!1.封装:将属性private,提供public的方法来访问private属性,这样对数据就设置了访问权限,使得程序更加的安全实例: 1 package test_1; 2 class Time { 3 private
2018-03-30 11:19:19 115
原创 Java中参数传递问题
Java中参数传递可以分为值传递和引用传递,话不多说直接撸代码1.传原始类型(int,String等)数据是值传递 1 package test_1; 2 public class Test { 3 public static void main(String[] args) { 4 String str = new String("abc"); 5
2018-03-30 11:19:11 76
原创 整数划分问题之递归法
整数划分问题是算法中的一个经典命题之一,有关这个问题的讲述在讲解到递归时基本都将涉及。所谓整数划分,是指把一个正整数n写成如下形式: n=m1+m2+...+mi; (其中mi为正整数,并且1 <= mi <= n),则{m1,m2,...,mi}为n的一个划分。如果{m1,m2,...,mi}中的最大值不超过m,即max(m1,m2,...,mi)<=m,则...
2018-03-29 20:26:00 437
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人