上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 37 下一页
摘要: 题目链接:http://codeforces.com/contest/404/problem/B?csrf_token=6292hf3e1h4g5e0d16a996ge6bgcg7g2解题报告:一个正方形的跑道,边长是a,然后教练给运动员一个规定,每跑d米就额外补充一次饮料,然后输入一个n,表示一共将补充n次,比赛的出发点是(0,0),也就是左下角的那个点,然后让你求出每次补充饮料的坐标。本来看起来应该挺简单的一个模拟题,结果没想到一波三折,哎,技术问题啊。首先要注意的就是它规定的是精确到小数点后的四位,所以我在处理的时候,先把输入全部乘以10000然后转化成整数来处理,这样就可以把小数点后四 阅读全文
posted @ 2014-03-20 14:26 xiaxiaosheng 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1229解题报告:A+B 1 #include 2 3 int main() 4 { 5 int a,b,k; 6 while(scanf("%d%d%d",&a,&b,&k) && !(a == b && a == 0)) 7 { 8 int sum = a + b; 9 while(a % 10 == b % 10 && k)10 {11 k--;12 a /= 10;13 ... 阅读全文
posted @ 2014-03-19 20:05 xiaxiaosheng 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159解题报告:这题实际上是一个二维的背包问题,也可以由01背包扩展而来,01背包用一维数组,可想而知二维背包应该二维数组,然后每一维表示它的一种不同的需要付出的代价,普通的二维背包的递推公式是dp[j][k] = max(dp[j][k],w[j-v[i][k-n[i]] + w[i]);,要注意的是这是一般的二维背包的递推公式,但是在这题中有一点小小的变化,就是怪的个数有无限个,也就是说每件物品都可以取无限次,所以还要再加上一层循环,这个应该简单。具体见代码: 1 #include 2 #inc 阅读全文
posted @ 2014-03-17 20:59 xiaxiaosheng 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 题意:一天一共有1440分钟,主人公每天有n件事要做,给出这n件事开始跟结束的时间,然后让你求出,空闲的时间的总分钟数是多少。解题报告:简单模拟,只要开个一维数组标记那个每个分钟是否是有事的就可以了,有事的每次输入都标记掉就可以了。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 bool flag[2000]; 8 int trans(int x,int y) 9 {10 return 60 * x + y;11 }12 13 int main()14 {15 int n;16 ... 阅读全文
posted @ 2014-03-16 13:16 xiaxiaosheng 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 题意:有n种食物,每种食物可以给湫湫带来一个幸福感a,同时也会给她带来b的卡路里的摄入,然后规定她一天摄入的卡路里的量不能超过m,一共有n种食物,问可以得到的最大的幸福感是多少?解题报告:一开始以为是01背包,没看题,然后发现题目里面没有说每种食物只能吃一次,才发现是个完全背包,一开始还以为题目的第... 阅读全文
posted @ 2014-03-15 23:24 xiaxiaosheng 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 题意:就是输入一个数组,这个数组在不断滚动,而且每滚动一次后都要乘以一个数,用公式来说就是a[i] = a[i-1] * k;然后最后一位的滚动到第一位去。解题报告:因为题目中的k要乘很多次,达到了10^9级别,所以,这题其实就是一个二分快速幂,先求出k的t次方,然后只要注意下输出时不一定是从数组的第一个数开始输出就是 了。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 typedef __int64 INT; 7 const INT MOD = 1000000007; 8 INT que[10005] 阅读全文
posted @ 2014-03-15 22:40 xiaxiaosheng 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 题意:吉哥的假期是1到n天,然后有m个工作可以让吉哥选择做,每个工作都有一个开始 t_s 和结束的时间 t_e ,都用天来表示,然后每个工作必须从第一天做到最后一天,从头到尾做完之后就可以得到C的报酬,现在要求吉哥这个假期最多能赚到多少钱?解题报告:这个题就是一个典型的一维的动态规划,规划的公式是dp[i] = max(dp[i-(job[j].t_e-job[j].t_s+1)]+job[j].c,dp[i]);然后这题还有一个可以优化的地方,就是可以将所有的工作先按照结束的时间从小到大排个序,这样的话,如果判断到循环到的那个工作的结束的时间比当前正在更新的时间晚的话,就可以退出这一层的循环 阅读全文
posted @ 2014-03-13 16:29 xiaxiaosheng 阅读(250) 评论(0) 推荐(0) 编辑
摘要: Sereja is a coder and he likes to take part in Codesorfes rounds. However, Uzhland doesn't have good internet connection, so Sereja sometimes skips rounds.Codesorfes has rounds of two types: Div1 (for advanced coders) and Div2 (for beginner coders). Two rounds, Div1 and Div2, can go simultaneous 阅读全文
posted @ 2014-03-12 20:38 xiaxiaosheng 阅读(279) 评论(0) 推荐(0) 编辑
摘要: Vanya loves playing. He even has a special set of cards to play with. Each card has a single integer. The number on the card can be positive, negative and can even be equal to zero. The only limit is, the number on each card doesn't exceed x in the absolute value.Natasha doesn't like when Va 阅读全文
posted @ 2014-03-12 20:37 xiaxiaosheng 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 最大连续子序列Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 17014Accepted Submission(s): 7474 Problem Description给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj },其中 1 2 #include 3 #include 4 #include 5 using namespace std; 6 int que[1000. 阅读全文
posted @ 2014-03-12 20:31 xiaxiaosheng 阅读(187) 评论(0) 推荐(0) 编辑
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 37 下一页