
ACM/ICPC
文章平均质量分 71
宅男小何
一个快乐的2B程序猿
https://github.com/lazyp/itresource 好的文章资源推荐
展开
-
poj1142 解题报告
求一大于给的那个数的最小的一个数,满足把它分解成几个素数因子,它的素数因子各个位之和等于它本身各个位之和!哦,还有个定理,就是一个合数一定能分解为几个比它的平方根小的素数和一个比它平方根大的一个素数的乘积。呵呵,这是我的语言描述的! 解释的不太清楚,嘿嘿!看下面的代码:import java.util.Scanner;public class Main { public static i原创 2010-01-16 10:37:00 · 691 阅读 · 0 评论 -
poj 2051 最小堆
悲剧的poj2051 最小堆,奉献了无数次后才AC。这道题就是个最小堆,把最先到达的query输出query编号,然后继续排队等待同样的时间,要是某几个请求同时到达的话,就要按照编号从小到大的输出。通过这道题感觉自己考虑问题不够全面。 废话少说了,看下面的代码吧: package poj;import java.util.Scanner;public class原创 2010-05-21 16:19:00 · 1053 阅读 · 0 评论 -
poj 部分题目分类总结
poj部分题目分类总结! 做ACM也有一段时间了,在poj上也做了几十道题了,嘿嘿!偶也学学大牛们,总结下这些题目,把其分类记下来,嘿嘿! poj 1000 A+B 水题(拿来测试平台的) poj 1001 高精度(用JAVA AC很简单) poj 1002 排序(我用JAVA系统排序sort,险过,嘿嘿!) poj 1003 水题(不用多说直接去AC吧) poj 1004 同上 poj 1005 简单数学题 poj 1007 根据逆序排序 以后陆续更新,以前做的好多都忘了,呵呵!原创 2010-08-04 21:38:00 · 1535 阅读 · 0 评论 -
poj 2524 并查集
<br /> 第二次初探并查集,poj2524,一次AC,挺高兴的,呵呵!<br /> ps:这道题是求在一个大学里面有的学生信仰多少个不同的宗教,注意一点就是下面没出现的学生,视为他们各自信仰不同的宗教。<br /> import java.util.Scanner;public class Main{ static int[] r; //static int[] rank; public static void main(String[] args) { Scan原创 2010-06-13 18:05:00 · 768 阅读 · 0 评论 -
poj 1611 初级并查集
<br /> 看并查集算法也有一段时间了,苦于没时间练手,呵呵!昨天把CCNA考试考完了,做了第一道初级并查集的题,有了较深刻的理解,发出来共享下,大家一起学习学习。<br /> http://acm.pku.edu.cn/JudgeOnline/problem?id=1611<br /> 这道题主要的意思是:找和0一组的人有关系的人总数。<br /> import java.util.Arrays;import java.util.Scanner;public class Main {原创 2010-06-12 14:58:00 · 994 阅读 · 0 评论 -
hdu 1257 dp+贪心
<br />杭电oj上的这道题,是个经典的dp+贪心题,很简单。<br />贴下题目:<br />最少拦截系统Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)<br />Total Submission(s): 3683 Accepted Submission(s): 1291<br /><br /><br />Problem Description某国为了防御敌国的导弹袭击,发展出一原创 2010-08-10 17:20:00 · 971 阅读 · 0 评论 -
poj 3630 初级Trie的应用
<br /> 这是一道trie的简单应用题。题意是判断给的那个电话列表里面是否存在一个电话号码是另一个电话号码的前缀,存在输出:NO,不存在<br />输出YES。<br /> 下面简单的介绍下Trie树(多叉树),又称字典树,单词查找树。它的思想就是用空间换时间,利用公共前缀我减少查询的时间复杂度,它还有一个优点就是插入和查询可以并行抄作。查询的时间复杂度是:要查找的单词或者说是字符串的长度length。<br /> import java.util.Scanner;public clas原创 2010-06-21 11:33:00 · 873 阅读 · 0 评论 -
2010年ACM-ICPC亚洲区预选赛共设十五个赛区
<br />1. Amritapuri 阿姆里塔普里赛区<br />现场赛日期:2010年12月11日~12日<br />http://www.amrita.edu/icpc<br /><br />2. Chengdu 成都赛区(四川大学)<br />网络选拔赛日期:2010年9月18日<br />现场赛日期:2010年11月6日~7日<br />3. Dhaka 达卡赛区<br />http://www.northsouth.edu/acm/index.htm<br />4. Fuzhou 福州赛区(福州原创 2010-09-02 11:02:00 · 1851 阅读 · 0 评论 -
poj 2105 解题报告
<br /> 这个道题水题,就是翻译一个32位的二进制为点分制十进制的ip地址,只是需要注意的地方是:每一行输入后面有一个空格字符。<br /> import java.util.Scanner;public class Main { private static int[] iptables = new int[] { 128, 64, 32, 16, 8, 4, 2, 1 }; public static void main(String[] args) { Scann原创 2010-09-02 13:39:00 · 835 阅读 · 0 评论 -
2010 哈尔滨网络预选赛 1003解题报告
<br />这道题其实可以转化为开方一个很大的数。这道题由于是求x使得x*x <= n < (x+1)*(x+1)的值,那么其实我们n的平方根就是居于x和x+1之间,但是这道题只是求x的值,也就是说只需要求一个近似值。如果我们从1开始递增的去测试,这道题不用想肯定是超时的,那么我们怎么很快的估算个x的值的平方非常接近于n呢?<br /> 求一个大数的平方根,在网上有模板算法的!但是基本上都是c/c++的,而且基本上都是求的一个高精度(double或者BigDecimal)的值,这道题本身是不需要求小数点后原创 2010-09-19 21:54:00 · 983 阅读 · 0 评论 -
hdu 2222 AC自动机
http://acm.hdu.edu.cn/showproblem.php?pid=2222 hdu 2222 AC自动机的模板题,题意大楷是:给出一些单词,和一段文本,输出文本中出现的单词个数,重复的不计。 AC自动的原理和KMP的原理差不多,AC自动机的Fail指针和KMP的next数组的原理是一样的。 具体的AC自动机的阐述网上很多,在这里我就不画蛇添足了。 来看看我写的一原创 2010-08-27 17:47:00 · 795 阅读 · 0 评论 -
poj 1163解题报告
这道题是一道简单的dp题,就是求从第一个数到底行中的某个数的路径数字之和最大值。这道题的子问题就是求到每一行的每一个数的路径的最大数字和。设:t[i][j]储存第i行第j列的数字。 maxsum[i][j]储存到第i行第j列数字的路径的最大数字和。 dp方程是: maxsum[i][j] = (maxsum[i - 1][j - 1] + t[i][j])原创 2010-07-27 11:27:00 · 1033 阅读 · 0 评论 -
poj 3767 解题报告
这道题的大意是:由于战争,一个商人想从城市1,回到自己的家城市2,其中城市1始终是由领导1,城市2始终由领导2,其中,商人回家的路中只能有一条路上连接由两个领导领导的城市,还有就是给出的路上双向的,也就是如果城市1能到城市2,那么城市2也同样能到城市1,这是关键。解题算法,最短路径,我用的是dijkstra,代码如下: package poj;import java.util原创 2010-05-12 19:49:00 · 814 阅读 · 0 评论 -
poj 3768 解题报告
好久没做acm的题了,呵呵!最近做了一次poj的月赛,杯具,就只做起了两道题。现在发的这道题是一个模拟题poj3768,来看看这道题的题目意思吧: 就是题目给一个模板串,然后在给个重复的次数level。题意很简单。这道题就是个dfs思想,递归模拟。 我们来看看代码吧: package poj;import java.util.Scanner;public cla原创 2010-05-12 19:36:00 · 1161 阅读 · 0 评论 -
Knight Moves 解题报告
这道题是找出一个骑士去访问另一个骑士的最少移动的步数,可以用bfs解决,做这道题首先要了解马的走法,马先走直线在走斜线,共有8种走法如下图: D4可以走周围标红的位置,可以用一个数组来储存. 算发:用bfs可以解决。 public class Main { private static int[][] position = new int[8][2]; priv原创 2010-01-28 11:02:00 · 939 阅读 · 0 评论 -
poj1321解题报告
dfs深搜,不需要剪枝。http://acm.pku.edu.cn/JudgeOnline/problem?id=1321package poj1321;import java.util.Scanner;public class Main { private static int n; private static int k; private static i原创 2009-12-22 11:42:00 · 906 阅读 · 0 评论 -
poj 2453 位运算
这道题水过,用位运算!前几天做一道题感觉位运算很快,于是收集整理了下位运算的一些常见的应用呵呵!这道题正好用上,水过,一次AC!package poj2453; import java.util.Scanner; public class Main { /** * 获得一个Integer对应的二进制中1的个数 * @param i *原创 2009-12-22 11:45:00 · 955 阅读 · 0 评论 -
zoj 1056 简单的贪吃蛇
一道简单的模拟贪吃蛇的题!http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1056开先一直wa,总觉得自己的算法没错,可是有老是wa,郁闷死了!于是今天下定决心一定要找出bug,在奋斗几个小时后,终于让我找到了,55555555555555,伤心,原来是在判断E时撞到自己身子的时候的输出语句写错了,啊啊啊啊啊啊,丢死人啦原创 2009-12-29 22:29:00 · 875 阅读 · 0 评论 -
toj 3474 解题报告
这道题的解题思路:就递归二分到剩两个时,把这两个数相乘加到结果sum中累加,注意当二分到只剩一位的时候就抛弃,左边的应该等于右边的或者多一位。解题关键题目的提示: Consider a dance with 11 cows numbered 1..11. Here is the sequence of dividing them: 1 2 3 4原创 2010-03-14 20:56:00 · 989 阅读 · 0 评论 -
poj 3268 dijkstra
这道题是求来回用的时间最多的时间。而其中,去参加party和回去的时间都要是最短的,所以可以用dijkstra算法解。 Source Code Problem: 3268 User: wskiwwwxMemory:原创 2010-01-03 22:30:00 · 1074 阅读 · 0 评论 -
poj 2532 stars解题报告
这道题是一道最基础的应用树状数组的题,只要理解了树状数组的含义很快就可能解决。 下面是我写的没优化过的代码,很好理解!import java.util.Scanner;public class Main { public static final int MAX = 32005;// 这里一定要大于等于32005,经测试32004 Runtime error publi原创 2010-01-09 21:16:00 · 1114 阅读 · 0 评论 -
“顶嵌杯”全国嵌入式系统C语言编程大赛初赛解题报告
http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_id=1345 A题:位操作 import java.util.Scanner;public class Main { public static String trans(String[] s) { Long l = Long.parseLong(s[0].trim(原创 2010-03-24 22:42:00 · 1236 阅读 · 0 评论 -
poj 2418 二叉搜索树
http://acm.pku.edu.cn/JudgeOnline/problem?id=2418输入一系列的的单词,然后统计单词出现的频率wordcount / count * 100,输出要从小到大排列输出,结果保留小数点后4位。package poj;import java.text.DecimalFormat;import java.util.Iterator;原创 2010-04-08 08:49:00 · 1215 阅读 · 0 评论 -
poj 2262 解题报告
<br /> 这道题是给一个偶数,然后找出两个素数的a、b和等于这个偶数,如果有多对的话就输出一个a-b最大的组结果。这道题很简单以前AC过,今天我改了一些判断一个数是否是素数的那个方法,但是没想到时间还是和以前的差不多,在poj上提交还慢了几十ms,但是在天津大学大acm oj上提交快了几十ms,呵呵!<br /> import java.util.Scanner;public class Main{ private static int[] prime = new int[] {2,原创 2010-06-28 13:55:00 · 656 阅读 · 0 评论 -
poj 2001 解题报告
import java.util.Scanner;public class Main { private static Trie trie = new Trie(); public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] str = new String[1002]; int sum = 0; while (sc.hasNext()) {原创 2010-06-24 22:25:00 · 812 阅读 · 0 评论 -
2009合肥网赛H题解题报告
这道题先直接求出每个点到其他点的最短距离,然后再枚举每一种组合。可以用dijkstra或者floyed都行!http://acm.ustc.edu.cn/ustcoj/problem.php?id=1123 team579AcceptedJava1600ms27672kb2307import java.util.Array原创 2009-12-29 22:21:00 · 1551 阅读 · 0 评论