ACM
文章平均质量分 69
一天一AC
大块木
JAVA/ACM/DB
展开
-
动态规划——Minimum-sum descent(数塔问题)
题意:给出一个数塔,求出从顶层到底层所经过的数字的最小(或者最大)和。示例:解决方案:采用自底向上的动态规划方法,从最底层向上重构出新数塔,以最后一层为基础,从倒数第二层开始向上重新构造出新数塔,至顶层后唯一的一个数字就是最小值。在这个过程中,推出arr[i][j]=Min(arr[i][j]左孩子,arr[i][j]右孩子)+arr[i][j],即:arr[i][j]原创 2015-05-25 21:36:48 · 2323 阅读 · 0 评论 -
杭电OJ(HDOJ)2095题:find your present (2)(数论)
题意:输入一个奇数n(0示例输入:5 1 1 3 2 2 3 1 2 1 0示例输出:3 2解决方案(1):使用排序,将这个n个数进行升序排序,这样使相同的数两两排列在一起,只有那一个答案打单身。就是可以找出这个答案#include<cstdio>#include<algorithm>using namespace std;int arr[1000000];int main(){原创 2015-04-09 13:29:05 · 948 阅读 · 0 评论 -
杭电OJ(HDOJ)2553题:N皇后问题(回溯法)
题意:在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。你的任务是,对于给定的N,求出有多少种合法的放置方法。示例输入:1850示例输出:19210解决方案:在N*N的棋盘中,假设当前有一个皇后的所在位置为[i,j],则以下四种位置都不能出现其皇后:原创 2015-01-12 22:09:38 · 1764 阅读 · 0 评论 -
杭电OJ(HDOJ)1013题:Digital Roots(数值分解)
题目:输入一个数字,将其各位数相加,小于10原创 2014-10-17 11:17:49 · 2019 阅读 · 0 评论 -
杭电OJ(HDOJ)1018题:求n的阶乘位数(数学公式)
题意:先输入一个整数n,表示有n个测试案例,接下来第输入一个数a(1错误解决方案:采用大数方法进行解决,但a的输入范围太大,使用大数会超时,代码:#include#define N 1000using namespace std;//大数计算函数void calculate(int arr[],int t){ int i; int c=0;原创 2014-10-17 20:06:44 · 1335 阅读 · 0 评论 -
杭电OJ(HDOJ)1019题:求多个整数的最小公倍数(数论)
题意:先输入一个整数n,表示有n原创 2014-10-29 20:49:25 · 2643 阅读 · 0 评论 -
杭电OJ(HDOJ)1016题:Prime Ring Problem(DFS问题)
Problem DescriptionA ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each circle separately, and the sum of numbers in two adjacent circles should be a prime原创 2014-11-03 18:41:48 · 996 阅读 · 0 评论 -
杭电OJ(HDOJ)1097题:A hard puzzle(数论)
题意:给定两个数a,b((0)原创 2014-11-05 13:01:56 · 1762 阅读 · 0 评论 -
杭电OJ(HDOJ)1029题:Ignatius and the Princess IV(数论)
Ignatius and the Princess IV原创 2014-11-09 12:35:40 · 847 阅读 · 0 评论 -
杭电OJ(HDOJ)1014题:Uniform Generator(数论,最大公约数)
题意:示例输出、:示例输出:原创 2014-11-15 00:06:14 · 1201 阅读 · 1 评论 -
杭电OJ(HDOJ)1010题:Tempter of the Bone(DFS,迷宫求解)
题意:一只狗为了一根骨头,陷入一个陷阱当中,原创 2014-11-19 23:33:53 · 3274 阅读 · 0 评论 -
枋电OJ(HDOJ)2023题:求平均成绩(数组操作,水题)
题意假设一个班有n(n原创 2014-11-20 21:55:42 · 1355 阅读 · 0 评论 -
杭电OJ(HDOJ)2036题:改革春风吹满地(几何,数学公式)
题意:示例输入:示例输出:错误解决方案:正确解决方案:原创 2014-11-22 12:40:50 · 1855 阅读 · 0 评论 -
杭电OJ(HDOJ)1030题:Delta-wave
题意:输入两个数m和n(1)原创 2014-11-24 12:28:15 · 2355 阅读 · 5 评论 -
杭电OJ(HDOJ)1005题:Number Sequence(规律递推)
题意:有这样一个序列f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.输入三个整数:A,B,N (1 示例输入:1 1 31 2 100 0 0示例输出:2 5解决方案:f(n)=(A*f(n-1)+B*(f-2))%7,计算过程中A和B的一直没有变,在变的是f(n-1)和f(n-2原创 2014-11-29 19:06:02 · 5965 阅读 · 3 评论 -
杭电OJ(HDOJ)1032题:The 3n + 1 problem(穷举,水题)
题意:有这样一种算法:1. input n2. print n3 .if n==1 then STOP4. if n is odd n5. else n-6.GOTO 2如果输入22,则有这样一种序列: 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1,长度为16,输入i和j,输出[i,j]之间的数字计算所得出的序列长度最长的原创 2014-11-30 23:20:05 · 1177 阅读 · 0 评论 -
杭电OJ(HDOJ)1392题:Surround the Trees(凸包问题)
题意:一个土地上有N棵树,农夫想把所有的树用一根绳子绕起来,给出第棵的坐标(X,Y),求出绳子的最短长度。树至少有1棵,至多的100棵,坐标均为整数且不超过 32767。输出的最短长度保留两位小数。先给出树的棵数n,后输入n棵树的坐标,当n为0时,测试结束。(引用原图)示例输入:9 12 724 9 30 5 41 9 80 7 50 87 22 9原创 2014-12-01 18:30:27 · 1467 阅读 · 0 评论 -
杭电OJ(HDOJ)4920题:Matrix multiplication(线性代数,矩阵相乘)
题意:给出两个N*N的矩阵A,B。求出这两个矩阵的乘积C。为了防止展生大数,结果矩阵C的每个元素都模除3,其中保证10≤Aij,Bij≤109 示例输入:10120 12 34 56 7示例输出:00 12 1解决方案:题目是线性代数中的内容,公式书上和网上都有,矩阵C的i行j列元素就等于A的i行所有元素和B的j行所有元素的乘积和。提原创 2014-12-02 22:02:26 · 1233 阅读 · 0 评论 -
杭电OJ(HDOJ)1231题:最大连续子序列(动态规划)
题意:给出一个长度为K的整数序列(有正有负),求出序列的最大连续子序列。并输入最大的和以及最大连续子序列开始的数字和结束的数字。有多个相同的最大连续子序列输出起始和结束位置最小的(即最靠前的最大连续子序列)。测试输入包含若干测试用例,每个测试用例占2行,第1行给出正整数K( 若所有K个元素都是负数,则定义其最大和为0,输出整个序列的首尾元素。 示例输入:6-2 11 -4 13 -原创 2014-12-05 20:22:11 · 1263 阅读 · 0 评论 -
杭电OJ(HDOJ)1003题:Max Sum(动态规划)
题意:先给出测试用例的次数T(1N(1 -1000 )。对于每一行先输出Case #:换行输出整数序列输出最大连续子序列的和以及开始和结束的下标。示例输入:25 6 -1 5 4 -77 0 6 -1 1 -6 7 -5示例输出:Case 1:14 1 4Case 2:7 1 6解决方案:注意输出的格式,最后一个Case没有换行,基本原创 2014-12-05 20:36:02 · 2193 阅读 · 0 评论 -
杭电OJ(HDOJ)1870题:愚人节的礼物
题意:四月一日快到了,Vayko想了个愚人的好办法——送礼物。嘿嘿,不要想的太好,这礼物可没那么简单,Vayko为了愚人,准备了一堆盒子,其中有一个盒子里面装了礼物。盒子里面可以再放零个或者多个盒子。假设放礼物的盒子里不再放其他盒子。用()表示一个盒子,B表示礼物,Vayko想让你帮她算出愚人指数,即最少需要拆多少个盒子才能拿到礼物。本题目包含多组测试,请处理到文件结束。每组测试包含一个长原创 2014-12-22 21:45:43 · 1720 阅读 · 0 评论 -
杭电OJ(HDOJ)1862题:EXCEL排序(结构体sort)
题意:测试输入包含若干测试用例。每个测试用例的第1行包含两个整数 N (行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,同组测试中没有重复的学号)、姓名(不超过8位且不包含空格的字符串)、成绩(闭区间[0, 100]内的整数)组成,每个项目间用1个空格隔开。当读到 N=0 时,全部输入结束,相应的结果不要输出。对每个测试用例,首先输出1行“Case i:”,其中 i 是测试原创 2014-12-22 21:58:11 · 855 阅读 · 0 评论 -
杭电OJ(HDOJ)1865题:1sting(大数操作——Fibonacci数列)
题意:给出一个长度不超过200的序列,该序列只由数字1组成,只可进行两种操作:1、两个1合并成一个2,2、移动1和2的位置。比如:长度为4的序列1111,经过以上两种操作后可以得到以下5种不同的新序列1111, 121, 112,211,22。先一个整数n(表示测试实例次数),每次输入一个长度不超200的序列,求不同排列的个数。示例输入:311111111示例输出:原创 2014-12-25 21:38:42 · 1006 阅读 · 0 评论 -
杭电OJ(HDOJ)1047题:Integer Inquiry(大数操作——加运算)
题意:先输入一个非负正整数n,n为测试实例次数,每次输入多行大数,最后一行为0表示此次输入结束,计算0以前若干行的大数和,并且输出。共n行输出,第两行输出之间有一个空行。示例输入:112345678901234567890123456789012345678901234567890123456789012345678901234567890123456789原创 2015-01-06 19:45:38 · 1292 阅读 · 0 评论 -
杭电OJ(HDOJ)1063题:Exponentiation(大数操作——幂运算)
题意:操作数有多行,每一个输入一个浮点数R(0,99.99)和一个整数n(0,25],求出R^n。不可使用科学计数法表示结果,如果结果小于1,只输出小数点和小数部分。示例输入:95.123 120.4321 205.1234 156.7592 998.999 101.0100 12示例输出:548815620517731830194541.899025原创 2015-01-06 21:48:14 · 846 阅读 · 0 评论 -
杭电OJ(HDOJ)1316题:How many Fibs?(大数操作——比较)
题意:给一个区间[a,b],其中a示例输入:10 1001234567890 98765432100 0示例输出:54解决方案:用equals()函数,a.equals(b),如果a==b,返回true;a!=b,返回false。附:java 1.7 APIs1、为了节省内存空间,先求出第一个大于10^100的Fib数,结果为480。所以数组最大原创 2015-01-07 12:02:26 · 948 阅读 · 0 评论