随笔分类 - 数据结构
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1520 一个公司去参加宴会,要求去的人不能有直接领导关系,给出每一个人的欢乐值,和L K代表K是L的直接领导,问最大的欢乐值是多少。 将公司的关系建为一棵树,从最大的老板向下dfs dp[i][0] 代表以编
阅读全文
摘要:题目:http://poj.org/problem?id=1185 大神的题解: 方法就是用DP[i][r][p]表示第i行状态为r,第i-1行状态是p时的最多个数。而这里p受到r的限制,而第i-2行状态q则受到r和p两个状态限制。状态转移方程就是: DP[i][r][p] = MAX{DP[i-1
阅读全文
摘要:题目:http://poj.org/problem?id=3254 直接上代码吧,刚开始做时主要的问题就是看不懂二进制,有个博客写的太好了,就直接把题解复制在下面了。 题目大意:农夫有一块地,被划分为m行n列大小相等的格子,其中一些格子是可以放牧的(用1标记),农夫可以在这些格子里放牛,其他格子则不
阅读全文
摘要:求下面函数的返回值(微软) int func(x) { int countx = 0; while(x) { countx ++; x = x&(x-1); } return countx; } 假定x = 9999。 答案:8 思路:将x转化为2进制,看含有的1的个数。 求下面函数的返回值(微软)
阅读全文
摘要:我一直在纠结换零钱这一类型的题目,今天好好絮叨一下,可以说他是背包的应用,也可以说他是单纯的dp。暂且称他为dp吧。 先上一道模板题目。 sdut2777: 小P的故事——神奇的换零钱 题目描述 已知A国经济很落后,他们只有1、2、3元三种面值的硬币,有一天小P要去A国旅行,想换一些零钱,小P很想知
阅读全文
摘要:题目: 传送门 题解:线段树模板题目。 对递归的题目始终理解不好,我的痛啊,在水的题目都要写很长时间。
阅读全文
摘要:HDU 5003 水题,直接上代码(因为题意读错了,WA了一遍)。 HDU 5038 这题的题意真是无比坑啊,还有为么G++超时,C++就过了,尼玛这个大水题浪费了我好几个小时,我百度了一下说只有HDU上面C++快于G++,一般情况下(没算法的情况居多)如果用G++交 TLE了,请在用C++交一遍。
阅读全文
摘要:题目:传送门 题目描述 This is a very simple problem, just like previous one. You are given a postive integer n, and you need to divide this integer into m piece
阅读全文
摘要:题目:传送门 题目描述 整数划分是一个非常经典的数学问题。 所谓整数划分,是指把一个正整数n写成为n=m1+m2+...+mi的形式,其中mi为正整数,并且1<=mi<=n,此时,{m1, m2, ..., mi}为n的一个划分。如果{m1, m2, ..., mi}中的最大值不超过m,即max{m
阅读全文
摘要:题目:传送门 题目描述 You are given an integer array s[] and are asked to count how many positions a, b, c and d satisfy the condition: s[a] + s[b] + s[c] == s[
阅读全文
摘要:题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1607 题目描述 A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n)
阅读全文
摘要:A:http://codeforces.com/problemset/problem/519/A 水题没什么好说的。 B:http://codeforces.com/problemset/problem/519/B 水题,简单排序即可。 C:http://codeforces.com/problem
阅读全文
摘要:A: HDU5170 这题让比较a^b与c^d的大小。1<=a,b,c,d<=1000. 显然这题没法直接做,要利用对数来求,但是在math库中有关的对数函数返回的都是浮点数,所以这又要涉及到eps问题。 其它就没有什么需要注意的了,我用的是log()函数,当然还可以用log10().....,原理
阅读全文
摘要:定理与方法专区: 1.两点间的曼哈顿距离如果为偶数,那么两点间可以走偶数步到达 2.求小于等于n 的素数的个数。(即欧拉函数) 100=(2^2)*(5^2) num[100]=(2+1)*(2+1)=9; 10=2*5 num[10]=(1+1)*(1+1)=4; 48=(2^4)*(3^1) n
阅读全文
摘要:题目链接: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68990#problem/K 题目需求:鞋匠有n个任务,第i个任务要花费ti天,同时第i个任务每耽误一天要有fi的罚金。求完成所有任务的最小罚金。 题目解析: 这题看了题解,解法
阅读全文
摘要:题目: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68990#problem/M 题目需求:数轴上有n个闭区间[ai,bi],选择尽量少的区间覆盖一条指定的线段[0,m]。 题目解析:没什么好说的,就是贪心,具体看代码。
阅读全文
摘要:题目: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68990#problem/H 题目要求: 给出由一些数字组成的集合,然后再输入一个字, 找出集合中不同的两个数的和最接近输入这个数的值。 解法:我是暴力的,好的方法是先在构成的集合中
阅读全文
摘要:10763:水题不解释直接贴代码。 10340:判断a串是不是b串的子串。水题。
阅读全文
摘要:题目:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68990#problem/A 题目需求:,给n个数字,将它们重新排序得到一个最大的数字,好像给出123 456 789 拼为 789456123 最大 这题可以算是一个排序题,不过排序
阅读全文
摘要:题目大意:有1*1,2*2,3*3,...六种小包裹,往6*6的箱子里装,给出六种小包裹各自的数量,求出最少用的箱子的个数。贪心,思路还是比较简单的,先从大的开始往小的装。6*6的包裹,每个单独装一个箱子;5*5的包裹,可以和11个1*1的搭配;4*4的包裹,可以喝5个2*2的搭配,如果2*2的不够
阅读全文