03 2015 档案
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1838 这题也挺不错的。首先题目说了,棋盘的右下角一定是'1',另外棋盘里面至少包含一个1,所以最小值是1,然后初始化,刚开始想错了,以为只tu[1][j]=='1'||tu[j][1]=='1'时, dp[
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=4223 求连续子序列和的最小绝对值,水题。
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1712 解释看这里:http://www.cnblogs.com/zhangmingcheng/p/3940332.html 这题之前竟然做过,竟然不记得了,做了一个小时,竟然没A,(我连分组背包干什么的都忘
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1506 刚开始没考虑时间复杂度,直接敲了,直接tle了,之后没有思路,然后看题解,看见大神写的优化非常棒。 大神的解释:(其实对于w[i]来说,如果去求后面连续的值,完全没必要一个个去比对,直接看w[i-1]
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1165 果断不擅长找规律啊,做这种题静不下心来。 Ackermann function can be defined recursively as follows: 递推如上图, 0<m<=3,0<=n<=1
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1158 这题又是看了题解,题意是一项工作需要n个月完成,雇佣一个人需要m1的钱,一个人的月工资为sa,辞退一个人需要花费m2的钱,然后给出n的数字, 代表每月需要的最少员工,问如何进行人员调整使最终花费的钱最
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1081 自己真够垃圾的,明明做过一维的这种题,但遇到二维的这种题目,竟然不会了,我也是服了(ps:猪啊)。 最终还是看了题解。 代码如下: 大神的题解: 这一题就是将一维的最大字段和扩展到二维,在一维的求最大
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1069 这题挺简单的,给定一个箱子的长宽高,要求啰箱子,但必须保证下面箱子的长和宽必须大于上面的箱子。 一个箱子,有六种情况,排序后,按照最长上升子序列来求解就行了。 代码如下:
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=2571 没什么好说的,不过要处理好边界。 代码如下:
阅读全文
摘要:题目:http://poj.org/problem?id=1276 多重背包模板题,没什么好说的,但是必须利用二进制的思想来求,否则会超时,二进制的思想在之前的博客了有介绍,在这里就不多说了。
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1421 又是一道,没有思想的题,看了题解,我发现我的dp题几乎都看了题解,我总是想不好状态转移方程,汗颜,以后怎么比赛啊。 先排序,然后说一个数学问题。 首先,要怎么搬呢?即每一对要怎么取?如果有abcd四个
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1087 水题,可是我却因为dp数组的初始化造成了多遍wa,这题就是求上升序列的最大和。 转移方程: 首先要对dp初始化。 if(w[i]>w[j]) dp[i]=dp[j]+w[i];i>j
阅读全文
摘要:题目: http://acm.hdu.edu.cn/showproblem.php?pid=1160 学的东西还是不深入啊,明明会最长上升子序列,可是还是没有A出这题,反而做的一点思路没有,题意就不多说了,真是怀疑了为什么做这题的时候竟然想用nlog(n)的那个算法, 根本不可能有解啊,真想抽自己一
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1176 这题就是数字三角行的变形,可惜对于我这个渣渣来说就是没发现,区别是他可以保持在三个点,他左边的点,右边的点,还有原点, 从下往上处理。其他就没有什么好说的了,注意一下细节问题,我记得这题我白白贡献了几
阅读全文
摘要:题目: http://acm.hdu.edu.cn/showproblem.php?pid=1003 题意一目了然就不说了,算法是从左往右扫,一个暂时保存结果的值,如果区间结果<0,那么就更改左右区间的值,如果当前计算的值>暂存的最大值,则更改最大值,与其说这题是dp,不如说就是贪心。
阅读全文
摘要:题目: http://poj.org/problem?id=1664 Description 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。 Input 第一行是测试数据的数目t(0 <= t <= 20)。以下
阅读全文
摘要:题目: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很想知
阅读全文
摘要:题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=3165 题意分析: 比赛时这题没有A真伤心,错了11遍,最后发现题意少读了一句。 We note that E\'s count was irrele
阅读全文
摘要:Math类:java.lang.Math类中包含基本的数字操作,如指数、对数、平方根和三角函数。java.math是一个包,提供用于执行任意精度整数(BigInteger)算法和任意精度小数(BigDecimal)算法的类。java.lang.Math类中包含E和PI两个静态常量,以及进行科学计算的...
阅读全文
摘要:UVA10494:If We Were a Child Again 大数除法加取余import java.util.Arrays;import java.util.Scanner;import java.math.*;public class Main{ public static void ...
阅读全文
摘要:HDU1002:大数加法,PE了N次import java.util.Scanner;import java.math.*;public class Main{ public static void main(String[] args) { Scanner cin = n...
阅读全文
摘要:SDUT2525:A-B(模板题)import java.util.Scanner;import java.math.*;public class Main{ public static void main(String[] args) { Scanner ci = new...
阅读全文
摘要:这两天学了一下JAVA的语法,还没有学习后面的核心地方,突然间觉得JAVA这门语言很棒,我要在接下来的时间系统的学习一下。就这么愉快地决定了。Java对于大数计算这方面的优势很大。最重要的是代码量小了(时间复杂度我有点拿不准)。于是针对这两天对Java的摸索,写一篇日志。记录一下针对ACM来说常用的...
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=3123 题意很简单,就是同余模的简单应用。 代码如下:
阅读全文
摘要:题目: 传送门 题解:线段树模板题目。 对递归的题目始终理解不好,我的痛啊,在水的题目都要写很长时间。
阅读全文
摘要:题目: 传送门 题意很简单就不解释了,水题一道。
阅读全文
摘要: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
阅读全文
摘要:题意:传送门 题目描述 As you know, shadow95 is pretty good at maths, especially combinatorial mathematics. Now, he has made a problem for you. We call a subset
阅读全文
摘要:题目:传送门 题目描述 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[
阅读全文
摘要:题目描述 给定n组整数(a,b),计算组合数C(a,b)的值。如C(3,1)=3,C(4,2)=6。 输入 第一行为一个整数n,表示有多少组测试数据。(n <= 100000) 第2-n+1行,每行两个整数分别代表a,b;中间用空格隔开。(a,b <= 40) 第一行为一个整数n,表示有多少组测试数
阅读全文
摘要:题目: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)
阅读全文
摘要:题目:传送门 题目描述 Your task is to find the minimal positive integer number Q so that the product of digits of Q is exactly equal to N. 输入 The first line of
阅读全文
摘要:题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=3138 算法思想:在1-10两个数相乘要产生0,只有 10×1=2×5,2×5。 200!=200×199×198……×2×1=2×5×2×5×2×1
阅读全文
摘要: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().....,原理
阅读全文