- 博客(527)
- 资源 (10)
- 收藏
- 关注

原创 没有什么不可能—记山东省第六届ACM程序设计竞赛(退役总结帖)
大一下学期,第一次听说了ACM这个词,当时每周六也开设了培训课,但我好像一次也没有去过,当时对这个词并没有什么太大的印象。后来学院里引进了自己的OJ,那时候我连基本的输入输出格式都不懂,当经历了一堆的WA,TLE之后突然换来的一个AC竟带来了莫名的喜悦。后来学院举办了第一届ACM程序设计竞赛,我报名参加了新秀赛和团队赛。三个小时的新秀赛,当时貌似做出了三道,意外的拿到了一等奖,这也成为了我大学生活
2015-05-13 20:58:43
4456
14
原创 【代码重构 & JDT】Windows命令行运行Java文件陷入死循环解决办法
通过修改某个Java文件的AST节点生成n个新程序,然后用测试用例分别对这n个新程序进行运行。但是在运行过程中,发现有些新生成的新程序会陷入死循环的情况,后台的java.exe一直在运行。解决方法是:设置每个程序最长运行时间为10秒,超时后,再使用命令行的形式杀掉后台的java.exe进程。代码如下://参数cmd是命令行的形式,指定测试用例的位置以及待测的程序public static ...
2018-12-26 09:49:25
688
原创 【代码重构 & JDT】遍历AST,获取每个节点的所有直接子节点
public class DataNode { public ASTNode node; //所代表的的AST节点 public int label; //编号 public List<Integer> childrenLables = new ArrayList<>(); //直接的子节点的编号 public List<ASTNode> childr...
2018-11-02 18:47:41
3179
1
原创 【代码重构 & JDT】获取指定目录下Java文件对应的ICompilationUnit (可获取Binding)
/* * javaFilePath 文件的绝对路径,比如: D:\test\javatp\1B\14638316\14638316.java * javaName 文件名,比如: 14638316.java * fileDir 文件的所在文件夹路径,比如: D:\test\javatp\1B\14638316 */ public static CompilationU...
2018-10-12 16:54:06
2202
转载 PCA数学原理
文章转载于http://blog.codinglabs.org/articles/pca-tutorial.html,已经过原作者同意。看过很多PCA和SVD的博客,这一篇我感觉是最容易懂的。并且,每篇文章有的公式还不一样,比如有的写的是,有的写的是,有的SVD降维用的是U矩阵,有的写的用的是V矩阵,看的迷迷糊糊。其实它们都是一样的,根本原因是它们采用的原矩阵不一样,也就是 矩阵每一行每一列代表什...
2018-08-02 12:16:48
412
原创 Kickstart Round D 2018 B题 Paragliding
题目大意:有N个塔,水平坐标为 p[i], 高度为 h[i], 每个塔的水平坐标各不相同。 有K个气球,每个气球可看做一个点,坐标为x[i], y[i]。一个人可以爬到每个塔的任意高度位置,然后在该位置可以向左右45度滑行,滑行的轨迹是直线。如果在途中遇到气球,则可获得该气球,如果气球和塔相重叠,也认为可获得气球,要求一共可以获得多少个气球。解题关键点:1. 如果从一个塔( p[j],...
2018-08-01 15:06:41
827
原创 XGBoost 论文笔记
1. 树融合模型假定有一个数据集包含n个样本,每个样本有m个特征。树融合模型是利用K个函数(树)来预测最终的结果。每一个f(x)代表一棵生成的回归树(也称为CART),q代表一棵树的结构,该结构将输入的样本x,映射到该树的叶子结点上去。T代表该树叶子结点的个数, wq(x)表示该树叶子结点上的权重(也是该叶子结点的输出值),wi表示第i个叶子结点的权重。对于给定的一个样本x,它的预...
2018-07-24 23:26:05
1139
原创 梯度下降法中,为什么在负梯度方向函数值下降最快
以下内容整理于高数课本以及李宏毅老师的视频:我们想要利用梯度下降来求得损失函数的最小值。也就是每次我们更新参数,当前的损失函数总比上一次要小。假设只有两个参数θ1和θ2,上图是损失函数的等值线,红色点是初始值当前的状态。以红色点为圆心画圆,在这个圆的范围内,我们想要找到一个损失函数更小的值。如下图:这样我们就更新了一次参数,损失函数值变小了。再进行相同的操作,以当前点为圆心...
2018-07-15 22:48:18
10654
6
原创 SMO算法实现
数据集以及画图部分代码使用的 https://zhiyuanliplus.github.io/SVM-SMOimport numpy as npimport pandas as pdimport matplotlib.pyplot as plt# -- coding: utf-8 --# 没有使用核函数def kij(data_x): return np.dot(dat...
2018-04-08 19:20:58
1481
原创 【代码重构 & JDT】编程实现全部代码修改撤销(包括重构且不弹出确认框)
IUndoContext context= (IUndoContext)ResourcesPlugin.getWorkspace().getAdapter(IUndoContext.class); IWorkbenchPartSite workbenchpartSite = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getA
2017-10-11 15:25:21
657
原创 【代码重构 & JDT】判断一个方法是否是实现重写,继承重写和递归
1. 方法是否是实现重写public static boolean methodIsImplemented(IMethodBinding methodBinding){ ITypeBinding typeBinding = methodBinding.getDeclaringClass(); List allIMethodBindings = new ArrayList();//存
2017-07-06 15:07:18
1363
原创 【代码重构 & JDT】判断一个类IType是否有子类
public static boolean hasSubClasses(IType typeGiven){ try { ITypeHierarchy hierarchy = typeGiven.newTypeHierarchy(new NullProgressMonitor()); IType[] subTypes = hierarchy.getAllSubtypes(typeGi
2017-06-14 22:34:26
715
原创 【代码重构 & JDT】修改Eclipse重构撤回的深度限制
IOperationHistory operationHistory= OperationHistoryFactory.getOperationHistory();operationHistory.setLimit(RefactoringCorePlugin.getUndoContext(), 25);使用上面两句话就可以了,25可以随便改数值。Eclipse默认的是5,也就是最多可以撤回
2017-04-27 21:04:08
1543
原创 leetcode 223
题目链接:Rectangle Area整体思想:给定两个矩形,左上角和右上角点的坐标已经给定。求这两个矩形覆盖的面积。分两种情况,一种是两个矩形不相交,则 覆盖面积为两个矩形的面积和,另一种情况是两个矩形相交,则所求面积为两个矩形面积的和减去相交的面积,这里要注 意一个矩形可能为一个点,或者一条直线,要特殊判断一下。参考代码:public class Solution { public
2016-10-25 11:15:00
862
原创 leetcode 003
题目链接:Longest Substring Without Repeating Characters整体思想:题意为求一个字符串中最长连续子序列,该子序列里面不包含重复的字符。用到了哈希思想和两个指针。 r右指针是连续递增扫描的,而l左指针是跳跃的,只考虑[l, r)这部分区间,如果当r指向的字符在[l, r)中出 现过的话,那么更新答案,且将l指针指向r字符在[l, r)出现的位置的下一个位
2016-09-22 19:15:26
1229
原创 [Java笔记] 反射
下列笔记根据慕课网的视频记录,视频地址:http://www.imooc.com/learn/199Class类1)在面向对象的世界里,万事万物皆对象。(java语言中的静态成员,普通数据类型不是面向对象)类是对象,是java.lang.Class类的实例对象。2)这个对象到底如何表示?package com.sr.reflect;class Foo{ void pr
2016-08-01 21:03:27
970
原创 [Java视频笔记]day25
正则表达式:符合一定规则的表达式。 作用:用于专门操作字符串。 特点:用于一些特定的符号来表示一些代码操作,这样就简化了书写。 所以学习正则表达式,就是在学习一些特殊符号的使用。 好处:可以简化对字符串的复杂操作。 弊端:符号定义越多,正则越长,阅读性越差。具体操作功能:1. 匹配:Stri
2016-05-13 21:06:56
766
原创 [Java视频笔记]day24
需求:TCP上传图片。 客户端:1. 服务端点。2. 读取客户端已有的图片数据。3. 通过socket输出流将数据发给服务端。4. 读取服务端反馈信息。5. 关闭。import java.io.*;import java.net.*;class PicClient { public static void main(String[] args) throw
2016-05-13 16:17:07
777
原创 [Java视频笔记]day23
网络编程 网络模型:OSI参考模型,TCP/IP参考模型网络通讯要素:IP地址,端口号,传输协议IP地址(对应对象 InetAddress) 网络中设备的标识 不易记忆,可用主机名 本地回环地址:127.0.0.1主机名:localhostimport java.net.*;class day23 {
2016-05-12 17:09:15
3617
原创 [Java视频笔记]day22
GUI(Graphical UserInterface)图形用户接口用图形的方式,来显示计算机操作的界面,这样更方便更直观。CLI (Command line UserInterface)命令行用户接口 Jav为GUI提供的对象都存在java.Awt和javax.Swing两个包中。java.Awt: Abstract Window ToolKit(抽象窗口工具包),需要调用本
2016-05-11 15:41:43
731
原创 [Java视频笔记]day21
操作对象ObjectInputStream ObjectOutputStream被操作的对象需要实现Serializable(标记接口,没有方法的接口通常称为标记接口)把对象存到硬盘上,叫做对象的持久化。 一般情况:import java.io.*;class Person implements Serializable{ String name; int ag
2016-05-10 19:42:25
1059
原创 [Java视频笔记]day20
File类1. 用来将文件或者文件夹封装成对象2. 方便对文件与文件夹的属性信息进行操作(流只能操作数据)3. File对象可以作为参数传递给流的构造函数 File类常见方法:1. 创建boolean createNewFile();在指定位置创建文件,如果该文件已经存在,则不创建,返回false.和输出流不一样,输出流对象一建立就创建文件,而且文件已经存在,则覆盖
2016-05-10 10:19:30
1326
原创 [Java视频笔记]day19
字符流的缓冲区1. 缓冲区的出现提高了对数据的读写效率。2. 对应类 BufferedWriter BufferedReader3. 缓冲区要结合流才可以使用4. 在流的基础上对流的功能进行了增强 缓冲区的出现是为了提高流的操作效率而出现的。所以在创建缓冲区之前,必须要先有流对象。该缓冲区中提供了一个跨平台的换行符,newLine
2016-05-09 11:40:18
1041
原创 [Java视频笔记]day18
类 System: 类中的方法和属性都是静态的。out: 代表标准输出,默认是控制台。in: 标准输入,默认是键盘。 描述系统的一些信息。获取系统属性信息:Properties getProperties();import java.util.*;class day18{ public static void main(String[] args) { P
2016-05-06 20:57:48
939
原创 [Java视频笔记]day17
集合框架的工具类。Collections:.BinarySearch().sort().max()方法import java.util.*;class day17 { public static void main(String[] args) { sortDemo(); maxDemo(); binarySearch(); } public sta
2016-05-05 18:22:16
992
原创 [Java视频笔记]day16
集合Map:该集合存储键值对,一对一对往里存,而且要保证键的唯一性。1.添加 put(Kkey, V value) putAll(Map m) 2.删除 clear() remove(Objectkey)3.判断 containsValue(Objectvalue
2016-05-04 21:08:57
3988
原创 [Java视频笔记]day15
Set : 无序,不可以元素重复。 |--HashSet:数据结构是哈希表,线程是非同步的保证元素唯一性的原理:判断元素的hashCode值是否相同,如果相同,还会继续判断元素的equals方法,是否为true。 |--TreeSet:可以对Set集合中的元素进行排序。 底层数据结构是二叉树。
2016-05-04 11:18:27
1124
原创 [Java视频笔记]day14
为什么出现集合类?面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。 数组和集合类同是容器,有何不同?数组虽然也可以存储对象,但长度是固定的,集合长度是可变的。数组中可以存储基本对象类型,集合只能存储对象,对象可以不同。1. add方法的参数类型是Object,以便于接收任意类型对象。
2016-05-03 10:01:31
2137
原创 [Java视频笔记]day13
String类字符串是一个特殊的对象。最大的特点:字符串一旦初始化就不可以被改变。 String s1 = “abc”; s1是一个类类型变量,”abc”是一个对象。s1 = “kk”; 字符串”abc”没有改变,只是s1指向的对象变了,”abc”还在内存中 String s2 = new String(“abc”);System.out.println(s1
2016-05-02 10:20:48
3052
原创 [Java视频笔记]day12
线程间通讯:其实就是多个线程在操作同一个资源,但是操作的动作不同。 wait()notify()notifyAll()都是用在同步中(在同步语句之中),因为要对持有监视器(锁)的线程操作。所以要使用在同步中,因为只有同步才具有锁。 为什么这些操作线程的方法要定义在Object类中呢?因为这些方法在操作同步中线程时,都必须要标识它们所操作线程所持有的锁,只有同一个锁上
2016-05-01 12:04:11
625
原创 [Java视频笔记]day10(待完善)
finally里放的是一定执行的代码.finally代码块:定义一定执行的代码。通常用于关闭资源。class NoException extends SQLException{}public void method() throws NoException{ try { 链接数据库 数据操作 //throw new SQLException(); } catc
2016-05-01 11:58:38
852
原创 [Java视频笔记]day11
进程:是一个正在执行中的程序。每一个进程执行都有一个执行顺序,该顺序就是一个执行路径,或者叫控制单元。 线程:就是进程中的一个独立的控制单元。线程在控制着进程的执行。 一个进程中至少有一个线程。 Java虚拟机启动的时候会有一个进程java.exe。该进程中至少有一个线程在负责Java程序的执行。而且这个线程运行的代码存在于main方法中。该线程称之为主线程。
2016-04-29 20:32:29
4323
原创 ListView上下文菜单创建
第一步:定义上下文菜单监听器//定义监听器 private final OnCreateContextMenuListener mCreateContextMenuListener = new OnCreateContextMenuListener() { @Override public void onCreateContextMenu(
2016-04-25 08:54:12
1406
原创 ListView的异步加载(笔记,多线程和AsyncTask)
异步加载最常用的两种方式: 多线程,线程池 AsyncTask实例操作:从一个网站上获取Json数据,然后将数据在ListView上显示。1.创建item_layout布局 , 修改主界面布局item_layout.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/androi
2016-04-13 10:57:56
4608
原创 AsyncTask基础(笔记)
安卓异步任务 ---AsyncTask为什么要异步任务:1.Android单线程模型2.耗时操作放在非主线程中执行AsyncTask为何而生1.子线程中更新UI2.封装,简化异步操作构造AsyncTask子类的参数AsyncTask是一个抽象类,通常用于被继承,继承AsyncTask需要指定如下三个泛型参数:Params: 启动任务时输入的参数的
2016-04-13 10:12:54
2282
原创 BaseAdapter的使用(笔记)
适配器模式的应用:1.降低程序耦合性2.容易扩展BaseAdapterListView的显示与缓存机制:需要才显示,显示完就被会受到缓存。BaseAdapter基本结构--public int getCount(); 适配器中数据集中数据的个数--public Object getItem(int position):获取数据集中与指定索引对应的数据项
2016-04-13 09:50:18
2321
listView异步加载(多线程和AsyncTask)以及缓存的使用
2016-04-13
AsyncTask加载网络图片并模拟进度条更新
2016-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人