基础算法
施小赞
人生苦短,我爱Java
展开
-
HDU 1789 Doing Homework again
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1789转载 2014-11-21 22:50:53 · 431 阅读 · 0 评论 -
FOJ 1036 四塔问题
题目链接:http://acm.fzu.edu.cn/problem.php?pid=1036解题思路: 数据太大,只能通过递推后找规律,求解。 递推做法:http://blog.csdn.net/dyangel2013/article/details/40790199代码:#include#include#includeusing namespace std;原创 2015-01-19 20:20:07 · 427 阅读 · 0 评论 -
ZOJ 1088 System Overload
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=88题意:有几幢楼分别从1~n编号,现在1号楼首先断网,从下一幢未断网的楼从1开始数(数的是未断网的楼)到m,对数到m的楼进行断网,求当有n幢楼时,m是多少2号楼是最后断网的。例:当n=10时,m=3,2号楼是最后断网的,断网顺序:1;4;7;10;5;9;6;3原创 2015-01-22 14:09:48 · 392 阅读 · 0 评论 -
ZOJ 3844 Easy Task
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3844题意:给你n个数,每次找到最大的数a与最小的数b,用a-b来代替a和b,一直到所有的数相等,输出最后的值代码:#include #include#includeusing namespace std;int main(){ in原创 2015-01-22 15:59:29 · 411 阅读 · 0 评论 -
ZOJ 3846 GCD Reduce
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3846题意:给定一个长度为n的数列每次可以选个二元组(a[i],a[j])换成他们的最大公约数然后问能不能在5*n次操作内把他们全部换成1,输出每次选择的是第几个与第几个数解题思路:因为每次操作都是换成GCD 因此n个数的最大公约数肯定为1,如果原创 2015-01-22 16:05:56 · 677 阅读 · 0 评论 -
ZOJ 1622 Switch
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1622题意:有一串电灯,1表示亮,0表示不亮,要转换成亮与不亮间隔着,问最少所需的操作数代码:#include #includeusing namespace std;int main(){ int a[10005]; int原创 2015-01-22 16:09:37 · 435 阅读 · 0 评论 -
POJ 2909 Goldbach's Conjecture
题目链接:http://poj.org/problem?id=2909题意:判断一个数可以拆分成多少对不同的两个素数和,两个素数可以相等代码:#include #include#includeusing namespace std;#define N 45000bool prime[N];int primes[N];void make_prime(){ mems原创 2015-01-22 16:17:01 · 346 阅读 · 0 评论 -
HDU 1128 Self Numbers
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1128题意:一个数n,比如n=75,或者n=39,则n可以根据下面这种规则生成87与51这两个数,所以87跟51这两个数就不是self number,而当有一个数不能由其他数根据这种方法生成过来的时候,这个数就称为self number. d(75) = 75 + 7 + 5 = 87 d(39原创 2015-01-22 16:22:00 · 408 阅读 · 0 评论 -
ZOJ 1889 Ones
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1889题意:给出一个不能被 2 和 5 整除的整数 n (0 例如:n = 7 时, 7 * 15873 = 111111;包含 6 个 1,因此结果为 6。分析:可以很明显的看到,该体产生的数字已经远超过整型类型表达的范围。因此不能试图用整型去寻找原创 2015-01-22 16:26:53 · 532 阅读 · 0 评论 -
ZOJ 1350/POJ 1218/HDU 1337 The Drunk Jailer
题目链接:http://poj.org/problem?id=1218http://acm.hdu.edu.cn/showproblem.php?pid=1337http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1350题意:一个喝醉了酒的监狱守卫干了这么一件事:有n个房间从1到n,原创 2015-01-22 16:34:32 · 417 阅读 · 0 评论 -
FOJ 1021 飞船赛
题目链接:http://acm.fzu.edu.cn/problem.php?pid=1021解题思路:速度Vi(0给出的飞船信息按照起跑位置Xi的升序排列,即X1因此只需在每次输入一条船的信息时判断在它之前有几条速度大于它的船,这些船会超过他,加起来就是超越次数。代码:#include#include#includeusing namespace std;int ma原创 2015-01-19 20:02:12 · 445 阅读 · 0 评论 -
HDU 1010 Tempter of the Bone
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1010题意:有一只小狗被困在迷宫里面了,迷宫用S(起点)、D(出口)、X(墙)、.(过道)组成,小狗每秒移动一格,出去的条件是在正好t秒时走到D处,而且每个点上只能呆一秒,不能走已经走过的路。Sample Input4 4 5 S.X...X...XD....3 4转载 2014-12-21 19:16:29 · 306 阅读 · 0 评论 -
HDU 5105 Math Problem
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5105原创 2014-11-21 21:12:45 · 440 阅读 · 0 评论 -
HDU 5104 Primes Problem
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5104首先将10000内的素数筛出来(约1000个),直接枚举前两个 p1, p2, 检查n-p1-p2是不是素数。是则答案加一。原创 2014-11-15 22:59:04 · 326 阅读 · 0 评论 -
HDU 2124 Repair the Wall
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2124代码:#include #include#includeusing namespace std;bool cmp(int a,int b){ return a>b;}int main(){ int L,N; int p[605]; while原创 2014-11-22 00:13:42 · 322 阅读 · 0 评论 -
HDU 2602 Bone Collector
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602代码:#include #include#includeusing namespace std;struct node{ int volume,value;}p[1005];int main(){ int t; int n,v; int dp原创 2014-11-22 18:50:41 · 342 阅读 · 0 评论 -
01背包
01背包问题,是用来介绍动态规划算法最经典的例子,网上关于01背包问题的讲解也很多,我写这篇文章力争做到用最简单的方式,最少的公式把01背包问题讲解透彻。 01背包的状态转换方程 f[i,j]= Max{ f[i-1,j-Wi]+Pi( j >= Wi ), f[i-1,j] }f[i,j]表示在前i件物品中选择若干件放在承重为 j 的背包中,可以取得的最大价值。Pi表示第i件物品转载 2014-11-22 18:57:32 · 542 阅读 · 0 评论 -
HDU 2546 饭卡
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2546原创 2014-11-23 15:26:18 · 354 阅读 · 0 评论 -
HDU 2955 Robberies
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955这是一道01背包的变体,原创 2014-11-23 18:39:02 · 293 阅读 · 0 评论 -
HDU 3449 Consumer
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3449题意:有n个箱子,总共有多少money,箱子的价格为pi元,箱子价值为0,每个箱子里装有mi个物品,每个物品价格cj元价值vj元,要买该箱子里的物品,必须得买了该箱子,求在那么多的money下,最多能买到多少价值的物品。Sample Input3 800300 2 30 5原创 2014-11-25 20:31:05 · 339 阅读 · 0 评论 -
HDU 1065 I Think I Need a Houseboat
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1065题目大意: 告诉你房子的坐标,每年以(0,0)为圆心的一个半圆的面积会增加50,问多少年后这个房子的位置会在那个半圆内,房子被淹。 注意:pi必须取3.1415926才能过 (这是一个天坑);解题思路: 面积=n*50=1/2*pi*原创 2014-12-21 14:33:05 · 345 阅读 · 0 评论 -
位运算
C语言位运算符:与、或、异或、取反、左移和右移 位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。 C语言提供的位运算符列表:运算符含义 描述& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0| 按原创 2015-01-23 14:53:36 · 521 阅读 · 0 评论 -
ZOJ 1814/HDU 1034/POJ 1666 Candy Sharing Game
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1814http://acm.hdu.edu.cn/showproblem.php?pid=1034http://poj.org/problem?id=1666题意: 题目说的是一个分糖果的游戏,n个学生围成一圈,每个人手上有a[i]个原创 2015-01-23 19:01:24 · 573 阅读 · 0 评论 -
HDU 1021/ZOJ 2060 Fibonacci Again
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2060http://acm.hdu.edu.cn/showproblem.php?pid=1021代码:#include #includeusing namespace std;int main(){ int n; whil原创 2015-02-08 22:37:35 · 388 阅读 · 0 评论 -
HDU 1995 汉诺塔V
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1995#include #include#includeusing namespace std;int main(){ int t; scanf("%d",&t); while(t--) { int n,k; scanf("原创 2015-02-08 22:45:32 · 361 阅读 · 0 评论 -
HDU 1093 A+B for Input-Output Practice (V)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1093代码:原创 2014-09-15 19:24:03 · 374 阅读 · 0 评论 -
HDU 1092 A+B for Input-Output Practice (IV)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1092代码:原创 2014-09-15 19:19:19 · 398 阅读 · 0 评论 -
HDU 1091 A+B for Input-Output Practice (III)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1091代码:原创 2014-09-15 19:13:10 · 523 阅读 · 0 评论 -
HDU 1090 A+B for Input-Output Practice (II)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1090原创 2014-09-15 19:03:09 · 354 阅读 · 0 评论 -
HDU 1089 A+B for Input-Output Practice (I)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1089原创 2014-09-14 18:38:46 · 341 阅读 · 0 评论 -
HDU 2064 汉诺塔III
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2064代码:#include <iostream>#include<cstdio>using namespace std;__int64 p[40];void hannuo(){ p[1]=2; for(int i=2;i<=38;i++) ...原创 2015-02-08 22:47:29 · 356 阅读 · 0 评论 -
HDU 2077 汉诺塔IV
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2077代码:#include <iostream>#include<cstdio>using namespace std;int f[25],rl[25],s[25];void hannuo(){ f[1]=2; int cc=2; for(int...原创 2015-02-08 22:49:31 · 325 阅读 · 0 评论 -
HDU 5170 GTY's math problem
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5170原博客链接:http://blog.csdn.net/sky_miange/article/details/43611547解析:这个数据一看就知道不能用普通的方法。1000的1000次方。C语言无法表达的。可以想到用对数。比较log(a^b)转载 2015-02-08 14:29:44 · 366 阅读 · 0 评论 -
ZOJ 1292/HDU 1047 Integer Inquiry
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1292http://acm.hdu.edu.cn/showproblem.php?pid=1047注意:HDU上有个测试数据输入0立即输出0#include #include#includeusing namespace std;int原创 2015-02-07 18:20:28 · 355 阅读 · 0 评论 -
HDU 1049/ZOJ 1494 Climbing Worm
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1049http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1494原创 2015-01-23 19:20:34 · 430 阅读 · 0 评论 -
POJ 2361/ZOJ 1908 Tic Tac Toe
题目链接:http://poj.org/problem?id=2361http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1908题目描述:Tic Tac Toe是一个小孩玩的游戏,在一个3×3的棋盘中进行。游戏在两个玩家之间进行。其中一个玩家(用字符“X”表示)先走棋,在一个没有被占用的网格位置放置一个X,原创 2015-01-23 21:55:12 · 1091 阅读 · 0 评论 -
POJ 2612/ZOJ 1862 Mine Sweeper
题目链接:http://poj.org/problem?id=2612http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1862题目描述:扫雷游戏是在n×n的网格内进行的,其中藏有m颗地雷,这些地雷分布在不同的位置。游戏者不停地点开网格中的位置。如果点开了地雷,则引爆地雷,游戏失败。如果点开了没有地原创 2015-01-24 18:52:49 · 820 阅读 · 1 评论 -
HDU 5163 Taking Bus
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5163问题描述Bestland有一条非常长的马路,马路上设有n个公交汽车站。公交汽车站从左到右标号为1到n。有m个人想要乘公交。你的任务是找出每个人到终点为止所需要的时间。注意:你需要用来解决这道题目的信息在Input里面,请仔细阅读。输入描述输入的第一行包含一个整数T原创 2015-01-25 19:47:06 · 638 阅读 · 0 评论 -
HDU 5162 Jump and Jump...
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5162问题描述有n小孩在比赛跳远,看谁跳的最远。每个小孩可以跳3次,这个小孩的成绩就是三次距离里面的最大值。例如,一个小孩跳3次的距离分别时10, 30和20,那么这个小孩的成绩就是30。给出每个孩子三次跳的距离,问最终每个孩子的排名是多少。输入描述输入文件的第一行有一个原创 2015-01-25 19:57:35 · 842 阅读 · 0 评论 -
HDU 1482/ZOJ 1184/FOJ 1003/POJ 1013 Counterfeit Dollar
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1482http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1184http://acm.fzu.edu.cn/problem.php?pid=1003http://poj.org/problem?id=10转载 2015-01-26 13:51:34 · 566 阅读 · 0 评论