acm
文章平均质量分 57
用于记录acm的解题记录
帅气的东哥
这个作者很懒,什么都没留下…
展开
-
poj1016
大致题意:题意不难懂,对于任意的数字串n,都可以压缩存储为c1 d1 c2 d2 .... ck dk 形式的数字串而存在一些特别的数字串,其压缩前后的样子是一模一样的定义这种数字串为self-inventorying 当我们把n看成原串,A为n压缩1次后的数字串,B为n压缩2次后的数字串(即A压缩1次后的数字串)....以此原创 2013-04-22 21:59:32 · 1063 阅读 · 0 评论 -
poj1002的类似题目
问题描述:Felicia发现电话机上的数字下方有对应的三个英文字母:A, B, C 对应 2 D, E, F 对应 3 G, H, I 对应 4 J, K, L 对应 5 M, N, O 对应 6 P, R, S 对应 7 T, U, V 对应 8 W, X, Y 对应 9Q和Z没有对应的数字。于是,她在记录电话号码的时候为了好记,有的就换成数字所对应的转载 2013-04-15 07:41:39 · 1161 阅读 · 0 评论 -
poj1002的java实现
import java.io.BufferedInputStream; import java.io.DataInputStream; import java.io.IOException; import java.util.Iterator; import java.util.Map; import java.util.Scanner; impor原创 2013-04-15 09:09:38 · 1988 阅读 · 0 评论 -
对java中Map的一些分析
Map:存入键值对,同时要保证键的唯一性. |--HashMap: 采用哈希表数据结构.判断重复元素需要覆盖hashCode、equals方法,HashSet由HashMap得来. 线程不安全,可以存放null键、null值. |--HashTable:数据结构同样是哈希表,线程安全,不可以存放null键、null值,效率低,被HashMap取代. |--TreeMap: 采转载 2013-04-15 07:26:57 · 1291 阅读 · 0 评论 -
poj017
详细的注释可以参考之前的那一版package com.njupt.acm;import java.util.Scanner;public class TestPOJ1017 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int pac原创 2013-04-23 20:11:49 · 924 阅读 · 0 评论 -
poj1005的java实现
问题描述:Fred Mapper 正在考虑在路易斯安那州购买一些土地来建他自己的房子。在研究土地的过程中,他发现,路易斯安那州的土地每年都会被密西西比河侵蚀掉 50 平方里。因为 Fred 希望在这个房子里度过余生,所以他需要知道他的那些土地是否会被侵蚀掉。在做了更多的调查之后,Fred 发现这些土地是以半圆的形状被侵蚀的。这个半圆所对应的正圆的圆心在坐标原点 (0, 0), 坐标原创 2013-04-16 20:23:39 · 1691 阅读 · 0 评论 -
poj1006的java实现
本文参考了http://blog.csdn.net/lyy289065406/article/details/6648551解题思路:中国剩余定理,本题难点不在编程,而是分析题目并转化为数学公式要引入本题解法,先来看一个故事 “韩信点兵”: 传说西汉大将韩信,由于比较年轻,开始他的部下对他不很佩服。有一次阅兵时,韩信要求士兵分三路纵队,结果末尾多2人,改成原创 2013-04-16 21:54:58 · 1366 阅读 · 1 评论 -
poj1004的java实现
import java.text.DecimalFormat;import java.util.Scanner;public class Testpoj1004 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);float value = 0 ;原创 2013-04-16 19:29:21 · 1806 阅读 · 0 评论 -
poj1018(1)
其实这道题我也没有完全的弄明白,糊里糊涂就ac了 本文问题部分参考http://blog.csdn.net/lyy289065406/article/details/6676781大致题意:某公司要建立一套通信系统,该通信系统需要n种设备,而每种设备分别可以有m1、m2、m3、...、mn个厂家提供生产,而每个厂家生产的同种设备都会存在两个方面的差别:带宽bandwid原创 2013-04-24 22:01:58 · 1338 阅读 · 0 评论 -
一个acm过来人的心得
刻苦的训练我打算最后稍微提一下。主要说后者:什么是有效地训练? 我想说下我的理解。 很多ACMer入门的时候,都被告知:要多做题,做个500多道就变牛了。其实,这既不是充分条件、也不会是必要条件。 我觉得一般情况下,对于我们普通学校的大学生,各方面能力的差距不会太大,在这种情况下,训练和学习的方法尤为重要。 其实,500题转载 2013-04-16 22:07:27 · 2163 阅读 · 0 评论 -
poj018(2)
再贴一版poj1018,其实与之前的那一版差不多,只是去掉了注释,这样可能看起来会舒服一点package com.njupt.acm;import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Arrays;import java.util.Scanner;p原创 2013-04-24 22:04:29 · 994 阅读 · 0 评论 -
poj1007
本文的翻译参考了http://blog.sina.com.cn/s/blog_61eccf0e0100epql.html1007 DNA 排序题目大意: 序列“未排序程度”的一个计算方式是元素乱序的元素对个数。例如:在单词序列“DAABEC'”中,因为D大于右边四个单词,E大于C,所以计算结果为5。这种计算方法称为序列的逆序数。序列“AACEDGG”逆序原创 2013-04-17 20:10:33 · 1183 阅读 · 0 评论 -
poj1008
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int times = scan.nextInt();原创 2013-04-17 23:05:26 · 1016 阅读 · 0 评论 -
poj1019
本文问题分析参考http://blog.csdn.net/lyy289065406/article/details/6648504大致题意:有一串数字串,其规律为1 12 123 1234 12345 123456 1234567 12345678 123456789 12345678910 1234567891011 123456789101112······k输原创 2013-04-26 22:17:26 · 1091 阅读 · 0 评论 -
poj1010的问题分析
本文章的问题描述部分参考了http://blog.csdn.net/cugbliang/article/details/2742242#reply问题重述: 给出n种邮票,每种邮票有自己的面值(面值可能重复) 指定m种“总面值”,对每种“总面值”,求解满足如下条件的组合以达到该“总面值”(1) 所用邮票在n种中可以重复选取(2)转载 2013-04-18 11:49:40 · 1039 阅读 · 0 评论 -
poj1010
本文的翻译部分参考了http://blog.csdn.net/xuezhongfenfei/article/details/8661484大致题意:给出一些邮票的价值,其中有些邮票的价值相等但是是不同种类的,然后给出顾客对邮票总价值的需求,其中,顾客最多能买四张邮票,如果有多种情况,则取种类最多的那种,如果种类相同则取数量最小的那种,如果数量还相同则取其中邮票价值最大的原创 2013-04-18 17:53:50 · 1645 阅读 · 0 评论 -
与编程无关,与生活相关
在编程的日子里,比较喜欢一个听一个电台“12点钟”。在这里郑重声明,本人与12点钟并无什么利益上的关系,我只是其中的一个很普通的粉丝。只是觉得它很好。。。。为什么要郑重声明一下??前几天我的一篇文章被突然从首页撤下来,原因我想了很久,才突然发现,或许是我在里面推荐了一个网站。遇见爱,勇敢爱” 《檐前雨》——蔡淳佳 《剪爱》——关喆 《遇见爱,勇敢爱》“成长是一步步熬出来的” 背景:贾原创 2013-04-18 23:19:53 · 1531 阅读 · 0 评论 -
约瑟夫问题
解题思路:本题与poj1012题的需求并不相同,poj1012题实际上是求一个能连续删掉k个数的值m。而本题则是则是求解在给定参与游戏的人数、开始序号、报数的情况下,求解出局r的序列package com.njupt.acm;import java.util.ArrayList;import java.util.List;import java.util.Sca原创 2013-04-21 12:06:55 · 1165 阅读 · 0 评论 -
poj1011
c++的实现方式可以参考http://blog.csdn.net/lyy289065406/article/details/6647960解题思路:DFS+剪枝 POJ2362的强化版,重点在于剪枝 令InitLen为所求的最短原始棒长,maxlen为给定的棒子堆中最长的棒子,sumlen为这堆棒子的长度之和,那么InitLen必定在范围[max原创 2013-04-20 23:22:57 · 1582 阅读 · 0 评论 -
poj1012的打表程序
package com.njupt.acm;import java.util.Arrays;/** * 这个程序的主要作用就在于建立好人数k,和k所对应的应该报的数m时间的关系: * 如下图所示: * [0, 2, 7, 5, 30, 169, 441, 1872, 7632, 1740 * , 93313, 459901, 1358657, 2504881原创 2013-04-21 10:54:27 · 1325 阅读 · 0 评论 -
背包问题汇总
P01: 01背包问题题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v]=max转载 2013-04-21 20:50:08 · 904 阅读 · 0 评论 -
poj1012
本文的问题分析过程参考了http://blog.csdn.net/lyy289065406/article/details/6648444大致题意:有k个坏人k个好人坐成一圈,前k个为好人(编号1~k),后k个为坏人(编号k+1~2k)现在有一个报数m,从编号为1的人开始报数,报到m的人就要自动死去。问当m为什么值时,可以使得在出现好人死亡之前,k个坏人先全部死掉?原创 2013-04-21 10:58:31 · 1337 阅读 · 0 评论 -
poj1013
本题问题分析部分参考http://blog.csdn.net/lyy289065406/article/details/6661421大致题意:有一打(12枚)硬币,其中有且仅有1枚假币,11枚真币用A~L作为各个硬币的代号假币可能比真币略轻,也可能略重现在利用天枰,根据Input输入的3次称量,找出假币,并输出假币是轻还是重。原创 2013-04-21 17:43:11 · 1402 阅读 · 0 评论 -
猴子吃桃问题
import java.util.Scanner;public class p10_4 { static int peach(int n) //猴子吃桃算法 { int pe; if(n==1) { return 1; //第10天就只剩1个了 } else { pe=(peach(n-1)+1)*2;原创 2013-05-21 11:59:53 · 1452 阅读 · 0 评论 -
舍罕王赏麦算法
import java.util.Scanner;public class P10_5 { static double mai(int n) //舍罕王赏麦算法 { int i; double temp,sum; temp=1; sum=0; //总合 for(i=1;i<=n;i++) //计算等比级数的和 {原创 2013-05-21 12:00:53 · 4458 阅读 · 0 评论 -
百钱百鸡问题
以下给出百钱百鸡问题的算法public class p10_1 { static void BQBJ(int m,int n) //百钱买百鸡算法 { int x,y,z; for(x=0;x<=n;x++) //公鸡数量 { for(y=0;y<=n;y++) //母鸡数量 { z原创 2013-05-21 11:55:41 · 1230 阅读 · 0 评论 -
五家共井问题
public class P10_2 { static void WJGJ(int[] len1,int[] len2,int[] len3,int[] len4,int[] len5,int[] len) //五家共井算法 { for(len5[0]=4; ;len5[0]+=4) //len5为4的倍数 for(len1[0]=5原创 2013-05-21 11:57:45 · 2451 阅读 · 0 评论 -
鸡兔同笼问题
import java.util.Scanner;public class P10_3 { static void JTTL(int head,int foot,int[] tu,int[] ji) { tu[0]=(foot-2*head)/2; //兔子的数量 ji[0]=head-tu[0]; //鸡的数量 } public stati原创 2013-05-21 11:58:43 · 1308 阅读 · 0 评论 -
南邮OJA题
描述南邮ACM暑期集训队一年一度的选拔如火如荼的开始了。按照以往的惯例,通过ACM校赛预赛和决赛的两轮选拔,成绩优异者将入选集训队,获得下半年在各大赛区现场赛上与各路神牛角逐奖牌的机会。但是,校赛的竞争太过激烈,难免有些小神牛因为心态不稳,一不小心错失入选机会。于是,校队决定在校赛同期举行5场常规赛,作为选拔队员的第二渠道。常规赛以网络赛形式举办,每周一场,共5场。任何人可原创 2013-05-26 21:04:17 · 1554 阅读 · 0 评论 -
zoj分类
zoj分类搜建模搜来的。。。简单题#1001 -____-b A+B。#1110 Dick and Jane 胡乱枚举收缩一下情况就可以了。#1115 a[i+1] = a[i] 的全部数位上的加起来,直到剩下一个,直接模拟。#1414 太弱太弱,按照模 4 分类讨论一下即可。#1713 简单的字符串截取和字符计数。#1716 简单的二维数组区间求和,原创 2013-05-26 16:01:24 · 4934 阅读 · 1 评论 -
复数的简单运算
模板: 方法名(A的实部,A的虚部,B的实部,B的虚部,结果的实部,结果的虚部)公式:乘法 (a*c - b* d) + (b * c + a * d)i 除法 (a* c + b* d )/(c*c + d* d) + (b * c - a * d )/(c * c + d* d)i代码如下:package com.njupt.acm;pu原创 2013-05-25 17:55:03 · 2026 阅读 · 0 评论 -
南邮OJ C题
C. 数字三角形时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte总提交:154 测试通过:57描述如图所示,是一个数字搭成的三角形。若起始位置在三角形的顶端,结束位置在三角形底边,每一步只能向下方或向右下角移动一格。请编程计算一条路径,使得路径上经过的数字和最大。(图中路径7→原创 2013-05-26 23:06:40 · 1885 阅读 · 0 评论 -
java随机数的生成算法
java中随机数的生成算法主要有3种1、Math.random()//产生一个0-1之间的随机数,类型为double类型2、new Random() random.nextInextInt(100)//产生一个0-100之间的随机数,类型是int类型3、System.currentTimeMillis()//返回从1970年1月1日0时0分0秒到现在的毫秒数,类型是lon原创 2013-05-25 17:10:55 · 3896 阅读 · 0 评论 -
南邮OJ B题
B. 有序集合时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte总提交:536 测试通过:100描述在C++里,有一个神奇的东西,叫做STL,这里提供了很多简单好用的容器,用来实现常用又很难书写的数据结构,如栈(stack)等。其中,有一个容器叫set,译作“有序集合”。首先,这是一个集合,所以原创 2013-05-26 21:49:23 · 1715 阅读 · 0 评论 -
南邮OJ D题
D. 幻方时间限制(普通/Java):1500MS/5000MS 运行内存限制:65536KByte总提交:212 测试通过:44描述河图,黑点白点排列奥秘数阵;洛书,纵横斜三条线上数和皆15。这是一个古老的数字游戏,将1~9填入一个九宫格,使得每行、每列、对角线上数字的和都相同(为15)。在西方,满足类似规律的矩阵称之为幻方。原创 2013-05-27 12:27:20 · 1811 阅读 · 0 评论 -
POJ 动态规划题目列表
声明:1.这份列表当然不是我原创的,从文库里下载了一份,放到这里便于自己浏览和查找题目。※最近更新:Poj斜率优化题目1180,2018,3709 列表一:经典题目题号:容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1191,1208, 1276, 1322原创 2013-06-03 11:07:53 · 2100 阅读 · 0 评论 -
ACM的一些建议
acm题都是追求效率的,java不用考虑c必会,c++可选(c++可以用stl库)英语好可以迅速了解题意,算是小小的优势吧注重逻辑思维能力,很多大牛都不是计算机专业的,而是数学专业的需要灵活运用 数据结构、算法(排序、剪枝、分治法、动态规划、贪心……),楼上说的《算法导论》很经典。平时多上OJ做题北大的acm题库http://acm.pku.edu.cn/JudgeOnline/原创 2013-06-16 20:02:30 · 1652 阅读 · 0 评论 -
计算机科学中最重要的32个算法
奥地利符号计算研究所(Research Institute for Symbolic Computation,简称RISC)的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做了一个调查,参与者大多数是计算机科学家,他请这些科学家投票选出最重要的算法,以下是这次调查的结果,按照英文名称字母顺序排序。A* 搜索算法——图形搜索算法,从给定起点到给定终点计算出原创 2013-06-20 00:12:02 · 1251 阅读 · 0 评论 -
Taxi
DescriptionAfter the lessons n groups of schoolchildren went outside and decided to visit Polycarpus to celebrate his birthday. We know that the i-th group consists of si friends (1 ≤ si ≤ 4), a原创 2013-07-14 19:51:15 · 1174 阅读 · 0 评论 -
Theatre Square
DescriptionTheatre Square in the capital city of Berland has a rectangular shape with the size n × m meters. On the occasion of the city's anniversary, a decision was taken to pave the Square with原创 2013-07-14 18:29:10 · 2005 阅读 · 0 评论