摘要:
地址:http://acm.hdu.edu.cn/showproblem.php?pid=1260题意:有个人卖票。从8:00:00am开始卖。后面有n个人,每个人卖票需要ki的时间,但是相邻两个人可以合起来买,需要di的时间。问卖票人最早回家的时间。mark:一个水dp加一个时间的转换。本来可以1A的但是3wa。第一次错是因为小时数忘记处理成不大于12的数字,第二次错是因为把m%=60写成了h%=60,第三次是忘记删除调试语句。都是脑残错误。。。代码: 1 # include 2 3 4 int s[2010], d[2010], dp[2010] ; 5 6 7 int min(... 阅读全文
摘要:
地址:http://acm.hdu.edu.cn/showproblem.php?pid=2603题意:从高度为3米距离天花板0.5米处抛掷一物体,倾角为a,质量为m,初速度为v。若碰到天花板则以反射定律反射出去。问物体能抛多远。mark:推公式解的物理数学题。只要还记得S = vt + 0.5gt^2的自由落体公式,根据其求出总飞行时间,剩下的都很好解决。注意解方程的时候考虑若有2个解,取哪一个。代码: 1 # include 2 # include 3 4 5 double pi = acos(-1.0), g = 9.87 ; 6 7 8 int main () 9 {10 ... 阅读全文
摘要:
地址:http://acm.hdu.edu.cn/showproblem.php?pid=2602题意:骨头收集者在收集骨头。有容量为V的袋子,n个骨头,给出每个骨头的体积和价值。问最大能收集的价值。01背包。代码: 1 # include 2 # include 3 4 5 int dp[1010] ; 6 int max(int a, int b){return a>b?a:b;} 7 int val[1010], vol[1010] ; 8 9 10 void work()11 {12 int n, v, i, j, ans = 0 ;13 scanf ("%d... 阅读全文
摘要:
地址:http://acm.hdu.edu.cn/showproblem.php?pid=2600题意:给一个区间p和q表示年份。给n个战争的起始年份、终止年份和战争名字(其实无用)。问[p,q]区间内最大没有战争的年份是多少。mark:600w*2的区间*100个战争如果直接开bool数组实在是很勉强。可以把战争先按起始年份再按终止年份排序,for一遍,维护一个last变量表示已经检查过的战争里最大的结束年份。具体看代码。代码: 1 # include 2 # include 3 4 5 int a[110][2] ; 6 int max(int a, int b){return a... 阅读全文