
HDU
JeraKrs
本人目前就职于百度商业研发部,有需要内推的朋友简历可发我邮箱 jerakrs@qq.com
展开
-
hdu 4223 Dynamic Programming?
DescriptionDynamic Programming, short for DP, is the favorite of iSea. It is a method for solving complex problems by breaking them down into simpler sub-problems. It is applicable to problems exh原创 2013-07-25 09:39:34 · 1286 阅读 · 0 评论 -
hdu 4508 湫湫系列故事――减肥记I(完全背包)
对于吃货来说,过年最幸福的事就是吃了,没有之一! 但是对于女生来说,卡路里(热量)是天敌啊! 资深美女湫湫深谙“胖来如山倒,胖去如抽丝”的道理,所以她希望你能帮忙制定一个食谱,能使她吃得开心的同时,不会制造太多的天敌。 当然,为了方便你制作食谱,湫湫给了你每日食物清单,上面描述了当天她想吃的每种食物能带给她的幸福程度,以及会增加的卡路里量。 Input原创 2013-08-01 00:11:44 · 1518 阅读 · 0 评论 -
hdu 2514 Another Eight Puzzle(DFS+回溯)
Filling G with 1 and D with 2 (or G with 2 and D with 1) is illegal since G and D are connected and 1 and 2 are consecutive .However ,filling A with 8 and B with 1 is legal since 8 and 1 are not conse原创 2013-07-25 09:45:02 · 1154 阅读 · 0 评论 -
hdu 4500 小Q系列故事――�丝的逆袭(检索)
毕业于普通本科的小Q一直自称是资深�丝,不仅学校不知名,甚至他自己在这个普通学校也是默默无闻――直到临近毕业的时候,班里5朵金花中的2位甚至从没和他说过话! 谁又能想到,如此不起眼的小Q在历经重重面试环节后,竟然如愿以偿加入了心仪已久的腾讯公司!消息刚刚传开的那几天,这在他们班甚至整个学院都是讨论的热门话题,如果这时候你还表示不知道小Q是谁,你都会被大家当作怪物的。 正所谓野百合也有春原创 2013-08-01 00:11:31 · 1743 阅读 · 0 评论 -
hdu 1285 确定比赛名次(拓扑排序)
Problem Description有N个比赛队(1 Input输入有若干组,每组中的第一行为二个数N(1 Output给出一个符合要求的排名。输出时队伍号之间有空格,最后一名后面没有空格。其他说明:符合条件的排名可能不是唯一的,此时要求输出时编号小的队伍在前;输入数据保证是正确的,即输入数据确保一定能有一个符合要求原创 2013-08-02 09:53:03 · 1641 阅读 · 0 评论 -
hdu 4510 小Q系列故事――为什么时光不能倒流
Description 我以为我会是最坚强的那一个 我还是高估了自己 我以为你会是最无情的那一个 还是我贬低了自己 就算不能够在一起 我还是为你担心 就算你可能听不清 也代表我的心意 那北极星的眼泪 闪过你曾经的眼角迷离 那玫瑰花的葬礼 埋葬的却是关于你的回忆 如果时光可以倒流 我希望不要和你分离 如果注定分离 我希望不要和你相遇原创 2013-08-01 00:12:03 · 987 阅读 · 0 评论 -
hdu 2647 Reward(拓扑排序+邻接表)
RewardTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2658 Accepted Submission(s): 771Problem DescriptionDandelion's uncle is原创 2013-08-02 12:22:38 · 1602 阅读 · 0 评论 -
hud 1811 Rank of Tetris(拓扑排序+并查集+STL)
值得一做的题目,新手入门,求带!网上有0ms的,求解释?原创 2013-08-03 00:57:18 · 2079 阅读 · 0 评论 -
hdu 1016 Prime Ring Problem(DFS)
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.Not原创 2013-08-01 00:03:11 · 1047 阅读 · 0 评论 -
hdu 3068 最长回文(manachar求最长回文子串)
题目连接:hdu 3068 最长回文解题思路:通过manachar算法求最长回文子串,如果用遍历的话绝对超时。#include #include const int N = 220005;int rad[N];char string[N], tmpstr[N];int max(int a, int b) { return a > b ? a : b;原创 2013-08-19 23:53:02 · 1402 阅读 · 0 评论 -
hdu 1047 Integer Inquiry(高精度加法)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1047题目大意:给出测试组数,每组之间有空行,结束为“0”, 求每组给出的数字之和,输出每两组之间空行。解题思路:处理一下空行就可以了,‘+’法套模板。模板连接:http://blog.youkuaiyun.com/keshuai19940722/article/detail原创 2013-08-20 09:32:07 · 1075 阅读 · 0 评论 -
hdu 1715 大菲波数(高精度加法+打表 + 斐波那契数)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1715题目大意:求第N个菲波数 f(x) = f(x - 1) + f(x - 2).解题思路:因为要求到第1000个,所以非常数值非常大,得用高精度做。题目已经确定1000个了,可以打表,以防超时。模板连接:http://blog.youkuaiyun.com/keshu原创 2013-08-20 09:54:38 · 1205 阅读 · 1 评论 -
hdu 1316 How Many Fibs?(高精度加法+ 斐波那契数)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1316题目大意:给出两个数,求两个数之间有多少个斐波那契数。解题思路:通过打表的方式将斐波那契数求到10^100,大概450个左右,然后找到给出的两个数的下标(前后大小不一定)。模板连接:http://blog.youkuaiyun.com/keshuai19940722/art原创 2013-08-20 13:59:36 · 1004 阅读 · 0 评论 -
hdu 1002 A + B Problem II(高精度加法)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1002题目大意:求两个大数的和。解题思路:高精度加法模板。模板连接:http://blog.youkuaiyun.com/keshuai19940722/article/details/10087993int main() { int n, cas = 1原创 2013-08-20 11:07:01 · 1119 阅读 · 0 评论 -
hdu 1865 1sting((高精度加法+ 斐波那契数)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1865题目大意:给出n 个1, 两个相邻的1 可以合成2,问给出的字符串有多少种表现形式。解题思路:这题就是变相的斐波那契数,num[i] = num[i -1] + num[i - 2];模板连接:http://blog.youkuaiyun.com/keshuai1994原创 2013-08-20 14:40:31 · 1269 阅读 · 0 评论 -
hud 2199 Can you solve this equation?(二分搜索)
DescriptionNow,given the equation 8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 == Y,can you find its solution between 0 and 100;Now please try your lucky. InputThe first line of the input con原创 2013-08-08 08:14:17 · 1087 阅读 · 0 评论 -
hdu 1250 Hat's Fibonacci(高精度加法+缩进+斐波那契数)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1250题目大意:求一个斐波那契数列的第n 项, n的上限是10000.解题思路:因为本题的上限是10000,所以对于高精度要进行缩进。#include #include using namespace std;const int MAXN = 10000000原创 2013-08-20 15:45:28 · 1378 阅读 · 0 评论 -
hdu 1297 Children’s Queue(高精度加法+情况分析+打表)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1297题目大意:校长要给孩子们排队,要求不能有单独的女孩子站在最后,问,对于n个人(男女不限)的合法队列有多少。解题思路:num[n] = num[i - 1] + num[ i - 2] + num[i - 4];不懂的话介绍一篇:http://www.cnblogs.co原创 2013-08-20 10:28:47 · 1015 阅读 · 0 评论 -
hdu 4642 Fliping game
DescriptionAlice and Bob are playing a kind of special game on an N*M board (N rows, M columns). At the beginning, there are N*M coins in this board with one in each grid and every coin may be upw原创 2013-08-08 00:35:05 · 998 阅读 · 0 评论 -
hdu 2955 Robberies(01背包)
DescriptionThe aspiring Roy the Robber has seen a lot of American movies, and knows that the bad guys usually gets caught in the end, often because they become too greedy. He has decided to work i原创 2013-08-08 08:32:39 · 1061 阅读 · 0 评论 -
hdu 1042 N!(高精度乘法 + 缩进)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1042题目大意:求n!, n 的上限是10000。解题思路:高精度乘法 , 因为数据量比较大, 所以得用到缩进,但因为是乘法,缩进只能在10^5, 不然在乘的过程中就超过int型。然后数值位数大概在8000位以下。#include #include using n原创 2013-08-20 16:18:31 · 1102 阅读 · 0 评论 -
hdu 1003 Max Sum(连续最大和)
题目连接:1003 Max Sum题目大意:在一个数组中, 找到连续最大的和, 并输出它们的范围, 尽量长。解题思路:累计求和, 复杂度o(n), 听别人讲了一下这种方法, 就来试试看了。#include const int N = 100005;const int low = -0xfffffff;int main() { int cas, t原创 2013-09-01 21:51:11 · 933 阅读 · 0 评论 -
hdu 1231 最大连续子序列
题目连接:1231 最大连续子序列hdu 1003 的变形, 没什么好说的。#include const int N = 10005;const int low = -0xfffffff;int main() { int n, num[N], l, r, rec, Max, sum; while (scanf("%d", &n), n) { for原创 2013-09-01 22:07:10 · 952 阅读 · 2 评论 -
hdu 4715 Difference Between Primes(stl)
题目连接:4715 Difference Between Primes题目大意:给出n个x, 0 解题思路:将2 ~ 10^6 + 10以内的素数表求出, 对应的去匹配pri[i] + x是否为素数, 这里我借用了stl里面的set.#include #include #include #include using namespace std;con原创 2013-09-08 20:22:59 · 1115 阅读 · 0 评论 -
hdu 4707 Pet(图 + 邻接表)
题目连接:4707 - Pet题目大意:给出n和deep, 然后给出n - 1个关系(关系图为有向无环图,0~n - 1), 然后找出和0的关系大于deep的点有多少个。解题思路:用邻接表(借助vector)保存关系, dfs搜索, 当d >= 2时返回, 然后遍历一遍所有点, 统计没有搜索过的点。#include #include #include us原创 2013-09-08 20:44:04 · 1043 阅读 · 0 评论 -
hdu 4710 Balls Rearrangement
题目连接:4710 Balls Rearrangement题目大意:给出N, A 和B。N 代表有N个球, 原本N个球放在旧的A个箱子里面, 后来又买了B个新的箱子, 求要将N个球转移到新的箱子中需要多少移动距离。 放球的原则是 序号为 x 的球要放在 x mod A(或者B)序号的箱子里, 对于每个球的移动距离为| a - b |。解题思路:因为N的上限是10^9, 所原创 2013-09-08 21:01:04 · 1143 阅读 · 0 评论 -
hdu 1753 大明A+B(实数高精度)
题目连接:1753 大明A+B解题思路:将实数的整数部分和小数数部分分开储存, 小数部分正序储存,由两个数中小数位数最大的地方开始相加(普通的高精度加法), 注意赋值的时候要清零,这里默认没有位数的地方为零。 如果加到i =0位后任有剩, 要保留到整数为进行加法。#include #include const int N = 405;struct bign {原创 2013-09-02 19:23:55 · 1710 阅读 · 0 评论 -
hdu 4706 Children's Day(找规律)
题目大意:4706 Children's Day、题目大意:用a~z写出大小为3~10的N。解题思路:找规律。#include const int N = 26;int solve(int n, int c) { int dist = 2 * (n - 1); for (int i = 0; i < n; i++) { for (int原创 2013-09-08 20:35:26 · 1041 阅读 · 0 评论 -
hdu 4708 Rotation Lock Puzzle(模拟)
题目连接:4708 Rotation Lock Puzzle题目大意:现在给出一个n * n 的矩阵, 像题目中图所给的一样,矩阵可以分成n / 2个圈, 每个圈可以进行顺时针可逆时针的旋转, 现在要求在矩阵的两条对角之和要最大并且旋转次数最少, 输出最大值和最少步数。解题思路:先把每一个圈复制到数组中处理, 求的每个圈的最大值, 以及到达最大值的最短路径,求最短路径的时候原创 2013-09-08 20:31:20 · 1033 阅读 · 0 评论 -
hdu 2100 Lovekey(进制下的高精度加法)
题目连接:2100 Lovekey解题思路:直接加法模拟, 只是将10 换成26.#include #include const int N = 205;int change(char *str, int num[]) { int len = strlen(str); memset(num, 0, sizeof(num)); for (int原创 2013-09-02 21:52:50 · 1450 阅读 · 0 评论 -
hdu 3342 Legal or Not(拓扑排序)
Legal or NotTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3151 Accepted Submission(s): 1432Problem DescriptionACM-DIY is a原创 2013-08-02 10:26:33 · 2034 阅读 · 0 评论 -
hdu 1133 Buy the Ticket(卡特兰数 + 高精度)
题目连接:1133 Buy the Ticket题目大意:有n + m 个人去电影院买票, 每张票卖50块, 现在m 个人手上有50快, n个人手上是100块, 然后电影院的售票厅又没有准备零钱, 问,n + m个人有多少种排队的方式可以使得售票可以不用中断, 中断是因为没有零钱可以找回。解题思路:问题可以简单理解成将n + m个人排序, 满足任意一个位置前, 拿100的人原创 2013-09-03 21:09:10 · 1678 阅读 · 0 评论 -
hdu 1022 Train Problem I(栈)
题目链接:hdu 1022 Train Problem I题目大意:有一列火车,给出车厢数和车厢的序列,目标序列,通过一个类似栈的车轨,能不能变成目标序列,能得话输出方案。解题思路:虽说有一种遍历的方式可以判断,即当目标序列存在a,b,c这样的序列时,若f(a) > f(c) > f(b)时即为不可变为的序列,(f(i)代表第i个元素在原序列中的出现的顺序),但对与本体我觉原创 2013-10-18 14:33:36 · 1327 阅读 · 0 评论 -
hdu 1671 Phone List(二叉树)
题目连接:hdu 1671 Phone List题目大意:给出n个电话号码,判断是否存在某个电话号码是另外一个电话号码的前缀。解题思路:建一个二叉树进行搜索时的优化。#include #include #define min(a,b) (a)<(b)?(a):(b)const int N = 50;int n, flag;struct node原创 2013-10-19 22:54:54 · 986 阅读 · 0 评论 -
hdu 4455 Substrings(计数)
题目链接:hdu 4455 Substrings题目大意:给出n,然后是n个数a[1] ~ a[n], 然后是q次询问,每次询问给出w, 将数列a[i]分成若干个连续且元素数量为w的集合,计算每个集合中出现的数字种类,输出总和。解题思路:一开始想到遍历的算法,保持集合元素为w,每次剔除最前一个,加入一个,移动集合,维护数字种类,这种算法的复杂度为o(n^2), 但是超时了,原创 2013-11-01 17:21:17 · 1198 阅读 · 0 评论 -
hdu 1013 Digital Roots
题目链接:hdu 1013 Digital Roots题目大意:给出一个数num,计算num每一个位数上的值之和,的到新的num,如果num>= 10, 重复操作,直到为个数。解题思路:第一次输入的时候位数很多,得用字符串读入。#include #include #include const int N = 10005;int main () {原创 2013-11-01 17:42:35 · 896 阅读 · 0 评论 -
hdu 3910 Liang Guo Sha
题目链接:hdu 3910 Liang Guo Sha题目大意:Alice和Bob这两个小伙伴又发明了一种新游戏, 叫两国杀, 每个人手上有两张牌,“杀” 和“闪”, 然后有三个数值A,B和C, 当两个人都出“杀”的话,Alice加A分,Bob减A分;当两人都出“闪”的话,Alice 加B分,Bob减B分;否则Bob加C分,Alice减C分,问说Alice的分的期望值(不受Bob出牌的原创 2013-11-01 17:38:04 · 1376 阅读 · 0 评论 -
hdu 1166 敌兵布阵(树状数组 | 线段树)
题目链接:hdu 1166 敌兵布阵题目大意:略。解题思路:树状数组的水题。这篇题解很好,适合初学树状数组的人。题解连接#include #include const int N = 50005;const int M = 105;int n, v[N];void add(int x, int val) { while (x <= n) {原创 2014-01-28 01:30:44 · 1566 阅读 · 0 评论 -
hdu 4031 Attack(树状数组)
题目链接:hdu 4031 Attack题目大意:有一个长为n的长城,进行q次操作,d为防护罩的冷却时间,Attack表示区间a-b的墙将在1秒后受到攻击,询问表示计算第a块墙受到攻击的次数,被防护罩抵消的不算。解题思路:树状数组,更新区间查询点,每次攻击区间a-b时,只要进行add(a,1); add(b+1, -1);然后第i堵墙受到的总攻击次数即为sum(i)。实原创 2014-01-29 00:28:43 · 1614 阅读 · 0 评论 -
hdu 1754 I Hate It(树状数组 | 线段树)
题目链接:hdu 1754 I Hate It题目大意:略。解题思路:方法一:树状数组,注意查询的时候,如果为一个的时候要与当前的数进行比较。#include #include #include using namespace std;const int N = 200005;int n, m, b[N], v[N];void add(i原创 2014-01-28 19:31:11 · 1316 阅读 · 0 评论