![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 74
在路上-小武
这个作者很懒,什么都没留下…
展开
-
对象序列化,向文件中写入对象,然后实现查询
import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;原创 2013-05-30 12:15:45 · 673 阅读 · 0 评论 -
poj 1035 Spell checker &nyoj 162 Spell checker(优化)
java 由于在nyoj上水过,受之前水过代码的影响,在poj上一直过不了,优化不彻底,各种改各种tle......终于行了,不过还是要注意几点,详见代码DescriptionYou, as a member of a development team for a new spell checking program, are to write a module that will c原创 2012-12-11 21:00:01 · 400 阅读 · 0 评论 -
nyoj 620畅通工程(并查集)
畅通工程时间限制:2000 ms | 内存限制:65535 KB难度:3描述 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? 输入测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分原创 2012-11-25 20:12:14 · 476 阅读 · 0 评论 -
nyoj 20 吝啬的国度(vector+bfs)
描述 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来。现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城市是几号城市(假设你不走重复的路)。输入第一行输入一个整数M表示测试数据共有M(1每组测试数据的第一行输入一个正整数N(1随后的N-1行,每行有两个正整数a,b(1输出每组测试数据输N个正整数,其中,第i个原创 2012-08-10 11:33:34 · 610 阅读 · 0 评论 -
洗牌问题
1的位置,很容易发现1的位置是从1->2->4->8……如果超过数尾则从头偏移,总之只要经过若干次移动,1再次移动在1的位置,就能够保证洗牌洗回了原序列。描述 设2n张牌分别标记为1,2,…,n,n+l,…,2n,初始时这2n张牌按其标号从小到大排列。经一次洗牌后,原来的排列顺序变成n+l,l,n+2,2,··,,2n,n。即前n张牌被放到偶数位置2,4,·,·,2n,而后n张原创 2012-11-24 18:52:48 · 741 阅读 · 0 评论 -
组合数,擅长排列的小明,素数环,深度优先搜索,递归(尤其是素数环)
组合数时间限制:3000 ms | 内存限制:65535 KB 难度:3描述 找出从自然数1、2、... 、n(0输入输入n、r。输出按特定顺序输出所有组合。特定顺序:每一个组合中的值从大到小排列,组合之间按逆字典序排列。样例输入5 3样例输出543542541532531521432431421321原创 2012-11-17 16:04:55 · 602 阅读 · 0 评论 -
nyoj 63小猴子下落(主要是解题思想)
算法分析:令 a 为第 a 个出去的猴子; 如果 a 为偶数, 说明 a 所在的节点(设ans为 a 所在节点的值) 的开关是开着的,往右走 ans=ans*2+1 , a=a/2 ; 如果 a 为基数 则往左走 ans=ans*2 ,a=a/2+1.思路:每个小球都会落在根节点上,因为前两个小球必是一个在左字数,一个在右子树。一般的,只需看小球编号的奇偶性,就能指导它是最终在哪棵子树中。对于原创 2012-11-23 23:32:59 · 665 阅读 · 0 评论 -
nyoj 贪心(动态规划也可,重点是贪心策略)Jumping Cows
7 2 1 8 4 3 5 6 可分成 7 (2 1) 8 (4 ,3) (5 6); 在奇数时间取上升序列中最大的,在偶数时间取下降序列中最小的。不过最后有一点需要注意,当整个序列进行完时,最后肯定是加上一个数,7 (2 1) 8 (4 3) (5 6) 1给你n个数,找一些数(可以不连续,但顺序不可乱),奇数位置的数+,偶数位置的数-。最后得出的最大结果是?从前往后搜,交替执行原创 2012-11-22 22:51:02 · 455 阅读 · 0 评论 -
nyoj 项链,dp(类似矩阵相乘)
项链时间限制:1000 ms | 内存限制:65535 KB难度:3描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链。在项链上有N颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记。因为只有这样,通过吸盘(吸盘是Mars人吸收能量的一种器官)的作用,这两颗珠子才能聚合成原创 2012-11-22 10:35:54 · 356 阅读 · 0 评论 -
java 链表,移动小球
链表,头尾指针都是类,node类自引用移动小球时间限制:1000 ms | 内存限制:65535 KB难度:2描述 给你n个小球,从左到右编号依次为1,2,3,4,5,6.........n,并规定小球1的左边的球号为n,小球n的右边的球号为1.现在有以下3种操作:A x y表示把编号为x小球移动到编号为y的小球的左边,B x y表示把编号为x小球移动原创 2012-11-22 07:22:09 · 503 阅读 · 0 评论 -
uestc 1720 square-free integer(无平方因子数)&nyoj 580square-free integer(容斥,数论)
无平方因子数即对于任意一个素数p,p^2都不会整除那个数,如,3,5,7,15=3*5都是无平方因子数,而20=4*5=2^2*5不是!先找素数,然后用容斥原理,递归求解描述 In mathematics, a square-free integer is one divisible by no perfect square, expect 1.Such as 10,but 12原创 2012-12-05 11:08:15 · 758 阅读 · 0 评论 -
hdu 1045 fire net &nyoj 587 blockhouses(dfs!)
Suppose that we have a square city with straight streets. A map of a city is a square board with n rows and n columns, each representing a street or a piece of wall. A blockhouse is a small castle原创 2012-12-04 20:11:16 · 397 阅读 · 0 评论 -
隐式图搜索 三个水杯 典型题目
描述 给出三个水杯,大小不一,并且只有最大的水杯的水是装满的,其余两个为空杯子。三个水杯之间相互倒水,并且水杯没有标识,只能根据给出的水杯体积来计算。现在要求你写出一个程序,使其输出使初始状态到达目标状态的最少次数。输入第一行一个整数N(0接下来每组测试数据有两行,第一行给出三个整数V1 V2 V3 (V1>V2>V3 V10)表示三个水杯的体积。第二行给出三个整数E1 E2 E3 (原创 2012-12-10 15:31:19 · 520 阅读 · 0 评论 -
nyoj 174Max Sequence&poj 2593(dp)
考察点:动态规划 思路:虽然题目给出了3000ms的时间,但考虑到数据量可以达到100000,如果用O(N^2)的算法的话,还是极有可能会超时的,于是决定采用这种O(N)时间效率的动规。在输入的同时,进行一次DP,计算出从左到右的最大值,并把它保存在数组dp的对应的下标元素中,这样之后,对于下标为i 的元素,它其中保存的便是前面所有元素可能的最大连续和。再从右到左进行一次DP,计算从右到原创 2012-12-13 09:51:58 · 337 阅读 · 0 评论 -
算法作业(最优二叉查找树)
import java.util.Scanner;public class Main { public static float p[],q[],c[][],w[][],root[][]; public static float max=Float.MAX_VALUE; public static void bestsolution(float root[][],int i,int原创 2013-04-09 07:03:52 · 580 阅读 · 0 评论 -
算法作业(机器人登山问题,求逆序数)
作业1:求逆序数(归并排序求逆序数)//分治法:两个阶段,分和治,注意分和治的方法和边界条件import java.util.Arrays;import java.util.Scanner;public class Main { //定义数组Aarray和数组Barray大小 public static int [] Aarray=new int[1000010]; publi原创 2013-03-31 11:54:53 · 894 阅读 · 0 评论 -
jsp/java连接mysql数据库中文出现乱码问题(设置+代码)
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class Demo1 { /** * @param args * @throws SQ原创 2013-02-28 20:28:23 · 1286 阅读 · 0 评论 -
java绘制国际棋盘(组件实现,Graphics画布)
组件实现package demo;import java.awt.Color;import javax.swing.BorderFactory;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;public class Demo extends JPanel{原创 2013-02-28 14:38:19 · 1596 阅读 · 0 评论 -
排序总结(代码实现):选择排序,插入排序,归并排序,快速排序,堆排序
循环选择的时候可以用二分,效率高选择排序:/*O(n方)选择排序*/public class Main { public static int [] sort; public static void swap(int x,int y) { int temp; temp=sort[x]; sort[x]=sort[y]; sort[y]=temp; } p原创 2013-03-09 16:55:14 · 663 阅读 · 0 评论 -
会场安排问题 java 中用class实现结构体的功能struct,实现二级排序/优先队列也可以实现
import java.util.Arrays;import java.util.Scanner;class node implements Comparable{ public int start; public int end; public node(int x,int y) { this.start=x; this.end=y; } public int com原创 2012-11-14 13:37:31 · 491 阅读 · 0 评论 -
获取ip地址
import java.net.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*; public class showip extends JFrame implements ActionListener{ private JTextFi原创 2013-01-14 16:21:14 · 337 阅读 · 0 评论 -
nyoj orz(容斥原理)
一个数n和一个包含m个数的集合,让你求小于n的有多少个数能整除这m个数中的任意一个import java.util.Scanner;public class Main { static long nums[]=new long[25],m,n,sum; static int count; static long gcd(long a,long b) { return b==0?a原创 2013-01-05 19:03:01 · 383 阅读 · 0 评论 -
poj 2356 &&poj 3370(开挂) 抽屉原理(鸽巢原理)同nyoj 636世界末日
poj 2356 http://poj.org/problem?id=2356import java.util.Scanner;public class Main { //抽屉原理(鸽巢原理)最基础的原理便是n+1的物体放到n个盒子里,至少有一个盒子放了两个物体 //有n个数,从中选出几个数的和是n的倍数。 //结论是任意的n个数,必然能找到连续的m个数之和是n的倍数。原创 2013-01-05 12:49:08 · 470 阅读 · 0 评论 -
nyoj 647 奋斗小蜗牛在请客(浮点数转换二进制)
import java.util.Scanner;public class Main { static String convert(double x) { String string=""; for(int n=0;n<20;n++) { x*=2; if(x==0)break; if(x>=1) { string+="1"; x-=1;原创 2013-01-05 13:18:08 · 355 阅读 · 0 评论 -
java tcp点对点聊天程序(单人/多人)
单点对单点,enter键不是button,而是使用keylistener事件keyadapter适配器客户端代码:package chatroom;import java.awt.Dimension;import java.awt.Toolkit;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;im原创 2013-01-03 16:51:22 · 2366 阅读 · 0 评论 -
java map容器类实现统计功能
Map是java中的接口,Map.Entry是Map的一个内部接口。Map提供了一些常用方法,如keySet()、entrySet()等方法,keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry。它表示Map中的一个实体(一个ke原创 2012-11-18 11:31:13 · 722 阅读 · 0 评论 -
nyoj 找球号(二) c/c++中vector数组记录离散化后的数据,java用vector没过,java里直接给boolean数组赋值
java里面用boolean数组,100000100大小的boolean数组不超内存找球号(二)时间限制:1000 ms | 内存限制:65535 KB难度:5描述在某一国度里流行着一种游戏。游戏规则为:现有一堆球中,每个球上都有一个整数编号i(0<=i<=100000000),编号可重复,还有一个空箱子,现在有两种动作:一种是"ADD",表示向空箱子里放m(0原创 2012-08-02 16:06:59 · 1514 阅读 · 0 评论 -
过河问题,谈论两种贪心策略
将单独过河所需要时间最多的两个旅行者送到对岸去,有两种方式:1> 最快的(即所用时间t[0])和次快的过河,然后最快的将船划回来,再次慢的和最慢的过河,然后次快的将船划回来.2> 最快的和最慢的过河,然后最快的将船划回来,再最快的和次慢的过河,然后最快的将船划回来.这样就将过河所需时间最大的两个人送过了河,而对于剩下的人,采用同样的处理方式,接下来做的就是判断怎样用的时间最少.1>原创 2012-11-15 08:54:16 · 451 阅读 · 0 评论 -
nyoj 递推求值(矩阵二分幂)
1,http://www.matrix67.com/blog/archives/276比较好的矩阵二分幂文章2,对于递推辅助矩阵的计算,参考http://wenku.baidu.com/view/42f0080c4a7302768e99390d.html递推求值时间限制:1000 ms | 内存限制:65535 KB难度:4描述 给你一个递推公式:f(x)=a*原创 2012-11-27 21:32:48 · 364 阅读 · 0 评论 -
迷宫寻宝(一)bfs,注意搜索条件,有点儿技巧
描述一个叫ACM的寻宝者找到了一个藏宝图,它根据藏宝图找到了一个迷宫,这是一个很特别的迷宫,迷宫里有N个编过号的门(N 输入输入可能会有多组测试数据(不超过10组)。每组测试数据的第一行包含了两个整数M,N(1.表示可以走的路S:表示ACM的出发点G表示宝藏的位置X表示这里有墙,ACM无法进入或者穿过。A,B,C,D,E表示这里是门,a,b,c,d,e表示对原创 2012-11-25 15:17:13 · 1168 阅读 · 0 评论 -
nyoj 糖果(策略选择)
找出糖果中数量最大的一种,设其数量为max,然后让其他的所有来往中间插,只有当剩余的糖果数大于等于max-1时才能满足要求糖果时间限制:1000 ms | 内存限制:65535 KB难度:2描述 topcoder工作室的PIAOYIi超级爱吃糖果,现在他拥有一大堆不同种类的糖果,他准备一口气把它们吃完,可是他有一个习惯,他不喜欢同一种类的糖果连着吃,他喜欢先吃一种,然后再吃原创 2012-11-25 16:21:46 · 473 阅读 · 1 评论 -
中缀,前缀,后缀表达式
本文摘自http://www.java3z.com/cwbwebhome/article/article8/83542.html?id=4612它们都是对表达式的记法,因此也被称为前缀记法、中缀记法和后缀记法。它们之间的区别在于运算符相对与操作数的位置不同:前缀表达式的运算符位于与其相关的操作数之前;中缀和后缀同理。举例:(3 + 4) × 5 - 6 就是中缀表达式- × +转载 2012-11-09 13:33:51 · 397 阅读 · 0 评论 -
java PriorityQueue优先队列
懒省事的小明时间限制:3000 ms | 内存限制:65535 KB难度:3描述 小明很想吃果子,正好果园果子熟了。在果园里,小明已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。小明决定把所有的果子合成一堆。 因为小明比较懒,为了省力气,小明开始想点子了: 每一次合并,小明可以把两堆果子合并到一起,消耗的体力等于两堆果子的重原创 2012-11-06 21:26:58 · 417 阅读 · 0 评论 -
java math.ceil() floor()
math.floor(i)小于等于i的最大整数math.ceil(i)大于等于i的最小整数原创 2012-11-02 22:55:11 · 352 阅读 · 0 评论 -
nyoj 485
import java.util.Scanner;public class Main { /** * @param args * 起首要知道:k*10^m %9=k (¥) (这个斗劲好证实,10……0%9 = 1) 设n的各位数相加得f(n),有n%9 * = f(n)%9。证实如下: 中国残剩定理(a+b)%c = (a%c+b%原创 2012-10-20 18:39:49 · 375 阅读 · 0 评论 -
p次方求和
import java.math.BigInteger;import java.util.Scanner;public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc原创 2012-10-19 21:39:59 · 502 阅读 · 0 评论 -
JAVA读写文件指定字符集
JAVA读取和写入文件时如果不指定字符集,那么都是采用操作系统默认的字符集.当我们在Windows平台上创建一个文件包含有中文,然后在Linux 平台下用JAVA读出来,那么很有可能会出现乱码.这是因为:在Windows中文版平台下,系统的默认字符集为GB18030,而且Linux的则为 UTF-8.如果我们不使用其它工具,一般来说,一个文件是用什么字符集写的,那么应该用同样的字符集才能不出错地读原创 2012-10-29 22:13:42 · 1010 阅读 · 0 评论 -
hdu 1115 Lifting the Stone(计算多边形重心,注意java格式输出)
Lifting the StoneTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3670 Accepted Submission(s): 1517Problem DescriptionThere are ma原创 2012-11-28 19:29:35 · 486 阅读 · 0 评论 -
SwingUtilities.invokeLater()方法
可以解决组件显示不出来的问题!!!内容如下:现在我们要做一个简单的界面。包括一个进度条、一个输入框、开始和停止按钮。需要实现的功能是:当点击开始按钮,则更新进度条,并且在输入框内把完成的百分比输出(这里只做例子,没有真正去做某个工作)。代码1:import java.awt.FlowLayout; import java.awt.event.Action转载 2012-11-28 20:48:04 · 3037 阅读 · 0 评论 -
nyoj Light Bulb(三分方法,公式求解)
注意三分的思想 http://acm.bupt.edu.cn/dahao/wiki/index.php?title=6.8_%E8%BF%AD%E4%BB%A3%E9%80%BC%E8%BF%91&oldid=355描述 Compared to wildleopard's wealthiness, his brother mildleopard is rather poo原创 2012-12-04 09:23:54 · 522 阅读 · 0 评论