- 博客(266)
- 收藏
- 关注
原创 分治思想《算法竞赛入门经典》
三步法 1,划分问题 2,递归求解 3,合并问题首相分治法可以用了优化最大连续和 优化后时间复杂度为o(nlogn)第一步:利用m=x+(y-x)/2,设置划分点。注意划分格式为[x,m),[m,y),这样不仅符合左边去到右边取不到的规范,而且不用m-1,m+1这些容易出错的步骤。 第二步:划分后近似相当于T(n)=2(n/2),然后对两边递归求解,最小不可分元素就是当一段连续和中只有一个
2016-09-08 20:03:32 423
原创 文章标题
#pragma warning(disable:4996)#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<vector>#include<algorithm>#include<iostream>#include<time.h>#include<map>using namespace
2016-09-07 23:42:03 248
原创 POJ(2503)(两种方法,二分,Map)
#pragma warning(disable:4996)#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<vector>#include<algorithm>#include<iostream>#include<time.h>using namespace std;const int
2016-09-07 21:58:30 404
原创 POJ(2388)
#pragma warning(disable:4996)#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<vector>#include<algorithm>#include<iostream>#include<time.h>using namespace std;const int
2016-09-07 20:27:44 213
原创 POJ(2299)
#pragma warning(disable:4996)#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<vector>#include<algorithm>#include<iostream>#include<time.h>using namespace std;const int
2016-09-07 20:17:16 348
原创 《算法入门竞赛经典》(第八章)8.1
最大连续和 三种方法: 1,暴力枚举(三重for循环)n^3; 2,记录从开始到每个点的总和,通过两个点的总和相减来求各段区间的长度n^2 3,利用分治的思想,求左边L的最大值和右边R的最大值,L+R就为最大连续和nlogn1,第一种#pragma warning(disable:4996)#include<cstdio>#include<cstring>#include<string
2016-09-07 16:36:48 452
原创 UVA11464
#pragma warning(disable:4996)#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<vector>#include<algorithm>#include<iostream>#include<time.h>using namespace std;const int
2016-09-06 18:29:21 296
原创 LA2995
#pragma warning(disable:4996)#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<vector>#include<algorithm>#include<iostream>#include<time.h>using namespace std;#define R
2016-09-06 16:01:22 501
原创 UVA(11384)
#pragma warning(disable:4996)#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<vector>#include<algorithm>#include<iostream>#include<time.h>using namespace std;long long
2016-09-05 20:34:40 338
原创 UVA(11300)
#pragma warning(disable:4996)#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<vector>#include<algorithm>#include<iostream>#include<time.h>using namespace std;long long
2016-09-05 20:23:36 319
原创 UVALive
#pragma warning(disable:4996)#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<vector>#include<algorithm>#include<iostream>#include<time.h>using namespace std;const doub
2016-09-05 19:46:48 362
原创 UVA(10881)
#pragma warning(disable:4996)#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<vector>#include<algorithm>#include<iostream>#include<time.h>using namespace std;int order[
2016-09-05 17:58:25 223
原创 UVA(11729)
#pragma warning(disable:4996)#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<vector>#include<algorithm>#include<iostream>#include<time.h>using namespace std;struct nod
2016-09-05 15:51:53 270
原创 UVA11292
#pragma warning(disable:4996)#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<vector>#include<algorithm>#include<iostream>#include<time.h>using namespace std;int a[2000
2016-09-05 09:09:54 215
原创 POJ(2739)
#pragma warning(disable:4996)#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<vector>#include<algorithm>#include<iostream>#include<time.h>using namespace std;int Count;
2016-09-05 00:38:22 414
原创 NOI(杂题类)
#pragma warning(disable:4996)#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<vector>#include<algorithm>#include<iostream>#include<time.h>using namespace std;int a[3000
2016-09-05 00:21:35 317
原创 Java(求最小公倍数)
import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while(in.hasNext()) {
2016-09-04 08:32:43 926
原创 HDU2012(Java)
package Main;import java.io.*;import java.util.*;public class Main{ public static void main(String args[]) { Scanner in=new Scanner(System.in);
2016-09-04 08:31:14 926
原创 文章标题
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String a=new String(); while(in.hasNext())
2016-09-04 08:29:30 252
原创 Codeforce Round 363(Div2)A(Java)
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n; char ch[]; while(in.hasNext())
2016-09-04 08:26:10 293
原创 HDU1040(Java)
import java.io.*;import java.util.*;public class Main{ public static void main(String args[]) { Scanner in=new Scanner(System.in); int T;
2016-09-04 08:24:26 296
原创 Java(发牌机器)
package card;import java.util.Random;public class Ex3_4 { public static void main(String[] args) { int[] total=new int[108]; int[][] player=new int [4][25]; int leftNum=108;
2016-09-04 00:51:02 880
原创 Java(ATM机实验)(源程序)
package ATM;import java.io.BufferedReader;import java.io.InputStreamReader;class Account{ private String number=null; private String name=null; private String password=null; private do
2016-09-04 00:14:52 2673
原创 Java(继承训练)(求面积)
public abstract class Shape{ public abstract double getArea();}public class Square extends Shape{ private double height=0; public Square(double height) { this.height=height;
2016-09-03 20:49:02 3041
原创 Java(学生信息管理系统)(源代码)
package jack;import java.util.*;class Student{ int id; String name; String gender; Date birth; public Student(int id,String name,String gender,Date birth){ this.id=id;
2016-09-03 20:19:27 14655
原创 Java(扩展Socket通信)
import java.io.*;import java.net.*;public class ServerThread extends Thread { private Socket s; private DataInputStream is; private DataOutputStream os; public ServerThread(Socket sock
2016-09-02 10:39:22 346
原创 Java(socket通信)
服务器程序import java.io.DataOutputStream;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.net.ServerSocket;import java.net.Socket;public class chatServer { public static v
2016-09-02 10:08:04 302
原创 文章标题
import java.net.URL;public class ParseURL { public static void main(String[] args)throws Exception { URL cqu=new URL("http://www.cqu.edu.cn/index.html#top"); System.out.println("pro
2016-09-01 23:02:34 260
原创 Java(线程的终止)
中断线程的执行public class InterruptTest extends Thread{ static int result=0; public InterruptTest(String name) { super(name); } public static void main(String[] args) { Sy
2016-09-01 22:49:01 260
原创 Java(线程的生命周期及调度)
一.线程生命周期 线程是动态的,具有一定的生命周期,会经历从创建,执行,阻塞,直到消亡的过程。在每个线程类中都定义了用于完成实际功能的run方法,这个run方法称为线程体。按照线程体在计算机系统内存中的状态不同,可以将线程分为创建,就绪,阻塞,死亡四个状态。1.创建状态 当利用new关键字创建线程对象实例后,它仅仅作为一个对象实例存在,JVM没有为其分配CPU时间片等线程运行资源。 2.就绪状
2016-09-01 22:11:40 656
原创 Java(线程的创建)
可以利用Java提供的类java.lang.Thread来进行多线程编程,这个类提供了大量的方法用于控制线程。创建一个线程就是创建Thread类或者它的子类的对象。 Thread类有很多重载的构造方法。 Thread(); Thread(Runnable target) Thread(Runnable target,String name) Thread(String name) Thr
2016-09-01 20:53:30 310
原创 Java(线程的概念)(线程和进程的比较)(多线程的优点)
一般地,每个程序都会有一个入口,一个出口以及一个顺序执行的序列,执行中的程序称为进程,在进程执行过程中的任何指定时刻,都只有一个单独的执行点。在多线程的情况下,在单个进程内部可以在同一时刻进行多种运算,有多个执行点。 一个单独的线程和进程相似,也有一个入口,一个出口以及一个顺序执行的序列,从概念上说,一个线程是一个进程内部的一个顺序控制流,必须在进程中运行。在一个进程中可以实现多个线程,这些线程同
2016-09-01 20:12:02 1022
原创 Java(多线程的使用)
一般的Java程序在一个时间段内只能完成一个任务,程序代码主要是顺序执行的。有的时候要求一个Java程序在一段时间内并发完成多个任务就需要使用多线程。比如,对从1到1000的数求和,求平方和。普通Java程序可以执行这两个任务,使用多线程后,可以让一个线程执行求和任务,另一个线程执行求平方和人物,两个线程并发执行。样例 分析:创建两个线程,一个是SumThread,求和,另一个是SquareSum
2016-09-01 19:48:51 487
原创 Java(串行化)
对象的寿命通常随着生成该对象的程序终止而终止。某些时候,需要将对象的状态保存下来,将来需要的时候可以恢复。 把对象的这种记录自己状态以便将来再生的能力,叫做对象的持续性(persistence)。对象通过写出描述自己状态的数值来记录自己的过程,叫做对象的串行化(serialization) 串行化的主要任务是写出对象实例变量的数值。如果变量是另一个对象的引用,则引用的对象也要串行化。 Java
2016-09-01 14:37:24 1820
原创 Java(Scanner与其他字符流结合)
除了最基本的字符流外,还有其它类,如CharArrayReader,CharArrayWriter,StringReader,StringWriter,PrintWriter,PushbackReader等,这些字符流的详细使用说明可以参考JavaAPI文档 一般的,名称以Reader结尾的类都是字符输入流,其大部分读取数据的方法都来自Reader类,名称以Writer结尾的类都是字符输出流,其大
2016-09-01 13:49:00 644
原创 Java(字节流向字符流的转化)
字节流和字符流是Java提供的两种输入/输出处理方式。字节流以单个字节为读/写单位,字符流以字符为读/写单位。一般字符由多个字节组成。InputStreamReader和OutputStreamWriter用来作为字节和字符之间的中介,可以把以字节形式表示的流转化为特定平台上的字符表示。可以从一个字节流构造一个字符流对象。可以在构造这些流对象时指定字符编码规范,也可以用当前平台默认编码规划。 In
2016-09-01 13:11:58 521
原创 Java(字符流使用)
尽管字节流提供了处理任何类型数据输入/输出操作的足够功能,但它门不能直接操作Unicode字符。一般文本文件适合用字符流,提供直接的字符输入/输出支持是必要的。1.文件输入/输出字符流 FileReader类是一个以字符方式读取文件内容的字符输入流。 构造函数 FileReader(String filePath) FileReader(File fileObj) 当指定文件不存在时,每一
2016-09-01 12:33:59 398
原创 Java(文件输入/输出字节流)
InputStream和OutputStream都是抽象类,不能实例化,因此在实际应用中使用的都是他们的子类,这些子类在实现其超类方法的同时由定义了特有的功能,用于不同的场合。例如,文件数据流类FileInputStream和FileOutputStream可用于对文件的输入输出处理。1.FileInputStream 用于顺序读取本地文件。从超类继承read(),close()等方法,对文件进行
2016-08-31 23:01:02 1564
原创 Java(字节流的使用)
java.io.File代表文件系统的一个文件,它不能读取文件的内容,但是可以获取文件信息和对文件进行操作。1.File类 在进行文件操作时,需要知道一些关于文件的信息。File类提供了一些方法来操作文件和获取文件的信息。对于目录,Java把它当作一种特殊的文件,即文件名列表。 File类直接处理文件和文件系统。通过File类的方法,可以得到文件或者目录的描述信息,包括名称,所在路径,读写性,长
2016-08-31 20:19:09 1143
原创 Java(标准输入/输出流)
Java通过系统类System实现标准输入/输出的功能,定义了3个流变量:in,out,和err.这3个流在Java中都定义为静态变量,可以直接通过System类进行调用。System.in表示标准输入,通常指从键盘输入数据;System.out表示标准输出,通常指把数据输出到控制台或者屏幕;System.err表示标准错误输出,通常指把数据输出到控制台或者屏幕。1.简单标准输入 System.i
2016-08-31 20:00:22 11991 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人