HDU
文章平均质量分 58
miss_minor
坚持,请你坚持
展开
-
hdu 4497 GCD and LCM(排列组合)
题目:hdu 4497 GCD and LCM题目大意:给出三个数的最大公约数,和最小公倍数,问这三个数的排列组合关系。解题思路:最小公倍数/最大公约数 == 三个数不同部分的乘积。这样来考虑的话,三个数都要有最大公约数的部分,其余的部分就是由LCM / GCD 里面的因子构成。这里面的因子可能会有 2 2 3 这样的情况, 不同的因子之间是不会相互干扰的,但是相同的会出原创 2014-05-01 15:42:52 · 980 阅读 · 0 评论 -
HDU4998Rotate(矩阵变换)
题目大意:HDU4998Rotate(矩阵变换)题目大意:要求你将一个图形每次绕原创 2014-09-15 17:23:53 · 971 阅读 · 0 评论 -
HDU4883TIANKENG’s restaurant
题目:HDU4883TIANKENG’s restaurant题目大意:一间餐厅,给你每组客人的人数和来的时间,离开的时间,问最少需要的椅子。解题思路:这题本来想用区间覆盖做,可是后面发觉不太对。这题貌似暴力也是可以过的,因为时间才1440.其中的一种做法:把每个区间的开始和结束时间点都标记上是来人还是走人,对应的椅子数加上减去。然后在枚举一下时间,在这个过程中维护椅子的最原创 2014-09-02 09:56:32 · 846 阅读 · 0 评论 -
HDU4908BestCoder Sequence(组合数学)
题目:HDU4908BestCoder Sequence(组合数学)题目大意:给出一串数字,要求找妻子原创 2014-09-03 14:39:52 · 619 阅读 · 0 评论 -
HDU4907Task schedule(并查集)
题目:HDU4907Task schedule(并查集)题目大意:中文题意自己看。解题思路:并查集。代码:#include #include #include #include using namespace std;const int N = 2e5 + 5;int num[N];int p[N];int n, m;void in原创 2014-09-03 14:44:11 · 692 阅读 · 0 评论 -
HDU4932Miaomiao's Geometry(暴力)
题目:HDU4932Miaomiao's Geometry(暴力)题目大意:给出N个点,然后要求你将这些点都覆盖。覆盖的条件,用等长的线段,并且一条线段覆盖这个点要求这个点在这个线段的左端或是右端。解题思路:一开始就直接暴力,但是题意没有理解清楚,一条线段可以有覆盖两个点的情况。一个点要不作为左端点,要不做为右端点,长度就取暴力中的最小的线段长度,最后再取最大的长度。可是这原创 2014-09-04 14:51:17 · 699 阅读 · 0 评论 -
HDU5014Number Sequence(贪心)
题目链接题目大意:给出n,然后给出一个数字串,长度为n + 1, 范围在[0, n - 1].然后要求你找出另外一个序列B,满足上述的要求,并且使得t = A0^B0 + Ai + 1 ^ Bi + 1 + ... + An ^ Bn 最大。解题思路:对于一个数字进行异或,要求结果最大的话,那么取这个数字的二进制互补数字是最好的情况,并且可以发现每次找到一个数字和对应的互补原创 2014-09-17 10:25:25 · 1078 阅读 · 0 评论 -
HDU5015 233 Matrix(矩阵快速幂)
HDU5015 233 Matrix(矩阵快速幂)题目链接题目大意:给出n∗m矩阵,给出第一行a01, a02, a03 ...a0m (分别是233, 2333, 23333...), 再给定第一列a10, a10, a10, a10,...an0.矩阵中的每个元素等于左边的加上上面的,求出anm.解题思路:先要根据矩阵元素的特征得出相乘的矩阵T, 然后就是求原创 2014-09-17 10:51:44 · 890 阅读 · 0 评论 -
HDU5050Divided Land(java大数)
HDU5050Divided Land(java大数)题目链接题目大意:给你一个长和宽的矩形,要求你把这片面积划分成多个边长为N的正方形,不能有剩余的空间。要求N尽量大。给你二进制的长和宽,输出的N也是二进制形式。解题思路:求L,M的GCD。但是因为这题的输入是二进制数非常大,只是中间求GCD的时候转成十进制求得N,并且输出N也是二进制形式。代码:import原创 2014-09-28 18:06:34 · 867 阅读 · 0 评论 -
HDU5053the Sum of Cube(水题)
HDU5053the Sum of Cube(水题)题目链接题目大意:给你L到N的范围,要求你求这个范围内的所有整数的立方和。解题思路:注意不要用int的数相乘赋值给longlong的数,会溢出。代码:#include #include const int N = 10005;typedef long long ll;ll t[N];void原创 2014-09-28 18:12:08 · 892 阅读 · 0 评论 -
HDU5047Sawtooth(java大数)
HDU5047Sawtooth(java大数)题目链接题目大意:在一个矩形内画n个“M”,问怎样画能够把这个矩形分成最多的区域。给出这个区域的数目。解题思路:最好的方式就是每条新画的“M”的线都和原来已经有的线相交,这样可以发现ai = ai - 1 + (i - 1) ∗ 4 ∗ 4 + 1.画一下就可以发现每次一条新的先和原有的边就会多出4个区域出来。最后还原创 2014-09-28 18:30:03 · 818 阅读 · 0 评论 -
HDU5100Chessboard(数论)
HDU5100Chessboard(数论)题目链接题目大意:用k∗1的瓷砖区铺n∗n的矩形,问能铺上的最大的面积。解题思路:这题没有直接得出结论:l = n%k, ans = max[(n^2 - l^2), (n^2 - (k - l)^2)],但是在画的过程中发现了,最好的情况就只有两种铺法,要不按照贪心的策略来铺,直到铺不下为止。或者是一圈一圈的铺,铺完一圈后最后还会原创 2014-11-12 14:23:12 · 731 阅读 · 0 评论 -
HDUPhysical Examination(贪心)
HDUPhysical Examination(贪心)题目链接题目大意:给N个队列,每个队列在0时刻体检的时候完成时间是ai,如果超过t(s),那么就是ai + t∗bi.问怎样组合才能用最短的时间完成体检(每个队列都要去一趟)。结果要取模一个给定的数。解题思路:相邻交换法,将这N个队列排下先后体检的顺序,然后在计算要花费的时间就可以了,要用long Long,ai ∗原创 2014-11-19 21:40:27 · 872 阅读 · 0 评论 -
HDU4452Running Rabbits(模拟)
HDU4452Running Rabbits(模拟)题目链接题目大意:给N∗N的格子,然后有两只兔子分别在(1,1)和(N, N)上。现在给这两只兔子一个出发方向,和每秒跳跃格子数和每过t秒方向就向左转这些条件。如果这只兔子跳到一定的步数碰到了墙壁,没法往那个方向跳了,那么就回头继续将剩余的步数跳完(这一点我之前没理解。。弄了半天)。如果两只兔子在k点的时候在同个一个位置上,那原创 2014-11-19 21:20:09 · 1061 阅读 · 0 评论 -
HDU1789Doing Homework again(贪心)
HDU1789Doing Homework again(贪心)题目链接题目大意:给你n们作业的最后期限和过了这个期限没做需要扣的分数,问怎样安排可以使得扣分最少。解题思路:贪心,将扣分多的作业排在前面,扣分相同的按照最后期限前的排前面,然后用一个数组来表示第i天是否有安排。每次都将第i个作业放到它的最后期限的那天完成,但如果这一天被占了,那么就只能往前移动,找空闲的天。如果原创 2014-11-02 22:20:33 · 653 阅读 · 0 评论 -
HDU4451Dressing(计数)
HDU4451Dressing(计数)题目链接题目大意:给你N件衣服, M条裤子, K双鞋子,现在有P个不合理的的搭配(衣服和裤子或者裤子和鞋子),要求不用P中不理的搭配方式来将衣服裤子鞋子三件搭配起来有多少种方案。解题思路:本来只要给一个不合理的搭配方案的话,那么就是用总的搭配数目减掉2.但是可能会有衣服1 裤子1 ,裤子1 鞋子1这样的不合里搭配,那么衣服1 裤子1 鞋原创 2014-11-19 21:29:12 · 1196 阅读 · 0 评论 -
HDURevenge of Segment Tree(第二长的递增子序列)
HDURevenge of Segment Tree(第二长的递增子序列)题目链接题目大意:这题是求第二长的递增子序列。解题思路:用n^2的算法来求LIS,但是这里还要记录一下最长的那个序列是否有多种组成方式,如果>= 2, 那么第二长的还是最长的LIS的长度,否则就是LIS - 1;代码:#include #include #include using原创 2014-11-02 21:58:14 · 655 阅读 · 0 评论 -
HDU4994Revenge of Nim(博弈)
题目:HDU4994Revenge of Nim(博弈)题目大意:有两个人在玩取石子的游戏,每个人只能从最前面的那堆取石子,至少取一个,最后取完石子的人win。问先手是否能获胜。解题思路:每堆只有一个石子的话,那么这个人只能取完这一堆,然后当某一堆有超过1个石子的话,那么最先取这堆的人就可以根据后面的情况来调控这个石子(将这堆全取完,或者是取得只剩一个)。所以这题先手是否胜原创 2014-09-15 16:58:56 · 810 阅读 · 0 评论 -
HDU5007Post Robot
题目:HDU5007Post Robot题目大意:给你一段字符,如果你碰到“Apple”, “iPhone”, “iPod”, “iPad”就输出“MAI MAI MAI!”,如果碰到Sony,就输出“SONY DAFA IS GOOD!” 。注意大小写敏感。解题思路:字符串遍历。代码:#include #include const int max原创 2014-09-15 17:15:00 · 1098 阅读 · 0 评论 -
hdu 4496 D-City(并查集)
题目:hdu 4496 D-City题目大意:n代表n座城市,m代表m条关系。刚开始所有的城市都是连在一起的,这样就是一个联通分量,然后给出m条关系,每条关系x y 代表x y之间有一条通道使两座城市相连,问按顺序去掉这样的通道后,每次去掉一条会变成几个联通分量。解题思路:这题题目保证最后一定会变成n个联通分量,即这n个城市都是不相连,这样从后往前每一条边的加入可能会改变联原创 2014-05-01 15:18:34 · 783 阅读 · 0 评论 -
HDU 4720 :Naive and Silly Muggles
题目:HDU 4720 :Naive and Silly Muggles题目大意:这题的意思是给出三个点, 然后在给出另一个点,问这个点会不会在覆盖前面三个点的最小的圆里面(包括边界), 在里面最输出danger, 如果任何情况下这个点都不在圆里面,那么就输出safe。解题思路:三个点最小的覆盖的圆是三角形的外接圆,这样的圆面积一定是最小的。 但是相同面积的圆,所在的位置,原创 2014-05-06 16:54:38 · 925 阅读 · 0 评论 -
BNUOJ 34025 -Poor Warehouse Keeper(贪心)
题目:BNUOJ 34025 -Poor Warehouse Keeper(贪心)题目大意:有一个商品的信息表,上面是数量,下面是总价,然后旁边各有一个按钮。上面的数量按钮按一下数量就加1,然后价格对应的也要在加上一个当前的单价。下面的按钮按一下的话,就对应的总价加1.初始状态是 1 1,然后给出终点状态,问能否得到。可以的话输出最少要按几次按钮,否则输出-1;总价每次输出都是下取整。原创 2014-05-15 22:50:51 · 852 阅读 · 0 评论 -
hdu:4771Stealing Harry Potter's Precious(bfs + 全排列)
题目:hdu:4771Stealing Harry Potter's Precious题目大意:给出n* m的矩阵,代表n * m间room,然后每个房间又有脆弱和坚固之分,分别用‘.'和'#‘代替。’@‘代表Dudely所在的起点。题目说Dudely想要偷Harry的宝物,他知道宝物的位置,但是他的魔法只能穿过脆弱的room。愚蠢的他又想偷完harry所有的宝物,并不在乎如何人出原创 2014-07-07 10:51:41 · 847 阅读 · 0 评论 -
hdu:4772 Zhuge Liang's Password
题目:Zhuge Liang's Password题目大意:给出两个N * N 的数组,问后一个数组(可以旋转)与前一个数组比较,相同位置上的相同数字的最大个数。解题思路:把3个旋转后的数组的坐标理起清楚就可以了。代码:#include #include const int N = 35;int p1[N][N], p2[N][N];int原创 2014-07-07 10:38:08 · 736 阅读 · 0 评论 -
hdu4770:Lights Against Dudely(回溯 + 减枝)
题目:hdu4770:Lights Against Dudely题目大意:同样是n*m的矩阵代表room,房间同样也有脆弱和坚固之分,现在要求要保护脆弱的房间,需要将每个脆弱的房间都照亮,但是坚固的房间不允许照到灯。灯是成L形的,即在x,y上有一盏灯,那么(x - 1, y)和(x, y + 1)就可以被照亮,当然包括(x,y)。题目又提供了一盏特殊的灯,它可以该改变方向,但是只有一盏原创 2014-07-07 22:13:30 · 1134 阅读 · 0 评论 -
hdu4847:Wow! Such Doge!(字符串匹配)
题目:hdu4847:Wow! Such Doge!题目大意:在给出的段落里面找出“doge”大小写都可以。解题思路:字符串匹配问题,可以在之前将字母都转换成统一格式。代码:#include #include const int N = 1e6;char str[N];const char *s1 = "doge";int find () { i原创 2014-07-09 09:49:43 · 1656 阅读 · 0 评论 -
hdu4944FSF’s game(数论)
题目:hdu4944FSF’s game(数论)题目大意:给定N,然后会有N * ( N + 1)/2个等级的矩形,(1 * 1, 2 * 1, 2* 2, ...N * 1, N * 2.. N* N).将这些矩阵分成大小相同的K * K 的正方形,能够获得金币A * B / gcd(A/ K, B/ K);然后给定N,问能够得到的总金币。解题思路:对于sum(N):原创 2014-08-13 10:01:33 · 630 阅读 · 0 评论 -
hdu4930Fighting the Landlords(直接枚举)
题目:hdu4930Fighting the Landlords(直接枚举)题目大意:给你两手牌,前面的是你的牌。问仅仅当前这一轮,你手中的牌可以赢吗?赢的条件:你手中的牌出完了,或者是你出的牌对方要不起。这里的规则和斗地主的基本是一致的,只是没有顺子。规则就不详述了。解题思路:总共最多就17张牌,先判断是否有双飞,有就获胜。然后将每种不同种类的牌(单支和对子算不同种类原创 2014-08-08 10:10:40 · 722 阅读 · 0 评论 -
hdu4925Apple Tree(找规律)
题目:hdu4925Apple Tree(找规律)题目大意:给出N* M 的矩阵,然后每个格子要不种苹果,要不施肥:在(X,Y)施肥后,它上下左右的苹果树的产量会翻倍。种了苹果数,产量为1.求这样的N * M个矩阵能得到的最大的苹果数。解题思路: 对于2 * 2的矩阵: X代表施肥 , 有数字代表种树 X 2 这样是最好的。各自上的数字原创 2014-08-08 10:27:52 · 1152 阅读 · 0 评论 -
HDU5024Wang Xifeng's Little Plot(记忆化搜索)
HDU5024Wang Xifeng's Little Plot(记忆化搜索)题目链接题目大意:给一张地图,#代表不能走的位置,.代表可以走的位置。现在要求找一条最长的路径,并且拐弯最多只能有一个并且还要是90度的。解题思路:记忆化搜索,dp[x][y][k][d] : x, y 代表坐标,k代表拐了k次90弯,d代表方向。因为这里最多只能转一次弯,而且还必须是90度的,那原创 2014-09-20 20:45:24 · 817 阅读 · 0 评论 -
hdu4939Stupid Tower Defense(DP)
题目:hdu4939Stupid Tower Defense(DP)题目大意:保卫游戏。给出一条长度n的道路,这条道路上每个单元长度可以放一个塔。现在有三种塔:红塔:怪经过这个塔的时候受到X的伤害每秒。绿塔:怪经过这个塔之后,以后的每秒都受到Y的伤害。蓝塔:怪经过这个塔后,之后每经过单元长度的时间加长为t + Z;问怎样选择这三种塔能够使得伤害值最大。解题思路:一开始没有想原创 2014-08-13 11:16:42 · 757 阅读 · 0 评论 -
HDU4995Revenge of kNN(暴力)
题目:HDU4995Revenge of kNN(暴力)题目大意:给你一维的N个点,每个点有X坐标,和V值,然后现在给你M个修改,接下来的M行每行给你一个Qi(前面的N个点的序号1--N)。要求每次取离X(Qi)最近的K个邻居,然后将X(Qi)的值改为(这K个邻居的值的平均值),最后输出这M次修改值的和。如果距离相同的话就取原先读入下标小的那个邻居。解题思路:先将这N个点按原创 2014-09-13 19:46:07 · 956 阅读 · 0 评论 -
HDU4737A Bit Fun
题目:HDU4737A Bit Fun题目大意:给出N个数,然后问里面有多少个子串,对于每个子串做或运算的结果小于m。解题思路:这题测试数据比较水,暴力就可以过。正解:把每个数都用二进制存起来,然后一开始head和tail都指向1.每次tail都++,对于每个tail求出离他最远的head。然后求和一下每个tail满足条件的子串。注意当head到tail的和超过m的时候,就原创 2014-09-09 10:50:42 · 652 阅读 · 0 评论 -
hdu4884TIANKENG’s rice shop(模拟)
题目:hdu4884TIANKENG’s rice shop(模拟)题目大意:一家餐厅买炒饭,给你客人来的时间和要买的炒饭的数量种类,并且也知道炒一次炒饭最多的分数和时间,问这些客人最早的离开时间。注意:每次炒饭的那段时间是不接单的。解题思路:模拟。题意好坑,还有根本不会有23:59 , 00:00这样的输入数据,只是输出可能会跨一天。然后就是模拟了。好恶心的题目。详细的看原创 2014-09-02 09:47:29 · 1149 阅读 · 0 评论 -
HDU5012Dice(隐式图搜索)
题目:HDU5012Dice(隐式图搜索)题目大意:给你一个两个晒子原创 2014-09-15 17:08:31 · 988 阅读 · 3 评论 -
HDU5086Revenge of Segment Tree(数论)
HDU5086Revenge of Segment Tree(数论)题目链接题目大意:给出长度为n的数组,然后要求累计里面的每个子串的和。解题思路:枚举起点和终点,判断每个数属于多少条线段,那么这个数就要被加这么多次。可以得出每个位置被加次数的公式: i (n - i + 1);那么结果就是累计(arr[i] i) mod * (n - i + 1) % mod,注意两原创 2014-11-02 21:40:50 · 733 阅读 · 0 评论