第一题:http://acm.hdu.edu.cn/showproblem.php?pid=2040

时间减少平方级。求一个数的约数只需要枚举到,sqrt(a) 就可以了,不要小看这一个开平方。相当于时间复杂度从O(n^2) 到O(n)

int yueshu(int x) //求x的约数和
{int ans = 1;for(int i = 2; i < sqrt(x+1); i++){if(x%i == 0){if(i == x/i){ans += i;} else{ans += (i + x/i);}}}return ans;
}

第二题:http://acm.hdu.edu.cn/showproblem.php?pid=2041

打表的方式。当答案是可以在询问之前就可以确定的话,是可以考虑有打表的方式将答案先保存起来,也就是先预处理一下,然后对于后面的查询就会变的容易一些,不同的就是对于每一个题来说,求解的方法是不一样的,需要去思考应该怎么去预处理。

这个就是题目的难点,一般而言,是可以先采用最简单的办法去打印一部分数据,然后去找规律。或者是自己去一步一步的用数学去推理,这样也是可以得到解的。

a[1] = 0; a[2] = 1; a[3] = 2;   // 数组a[i] 就是保存的台阶i,所需要的次数for(int i = 4; i <= 40; i++)a[i] = a[i-1] + a[i-2];

第三题:http://acm.hdu.edu.cn/showproblem.php?pid=2042

和第二题思想一样

long long int ans[31] = {3,4};  // 这里需要用long long 因为这种递推的方式是很容易超出int的范围for(int i = 2; i < 31; i++)ans[i] = 2 * ans[i-1] - 2;

第四题:http://acm.hdu.edu.cn/showproblem.php?pid=2045

和第三题思想一样

a[1] = 3; a[2] = 6; a[3] = 6;for(int i = 4; i<=50; i++)a[i] = 2*a[i-2] +a[i-1];

第五题:http://acm.hdu.edu.cn/showproblem.php?pid=2048

和第四题思想一样,但是这个题相对而言不太容易找到规律。题目需要求一个概率,每次抽签抽的都不是自己的概率。就是求抽中的人没有一个是自己的排列数a[i]除以所有抽球可能的排列s[i]。当有N个人可以抽出没有一个人是自己的可能a[n]后,再添加一个人(n+1个人),和其中任意一个人交换位置都是可以的,结果为n*(a[n]),同时和其中有且只有一个人抽中了自己的人交换位置也是可以的,那就是n*(a[n-1]) ,为什么是n*(a[n-1])呢。 只有一个人抽中了自己,也就是前面有n-1个人是没有抽到自己的,也就是a[n-1]; 所以递推式就是a[n+1] = n*a[n] + n*a[n-1] = n(a[n]+a[n-1])  换一下a[n] = (n-1)*(a[n-1] + a[n-2]);

a[1] = 0 ; a[2] = 1;
for(i = 3; i <= 20; i++)a[i] = (i-1)*(a[i-1] + a[i-2]);sum[1] = 1;
for(i = 2; i <= 20; i++)sums[i] = sum[i-1] * i;///  最后答案就是  a[n]/sum[n]*100.0 

第六题:http://acm.hdu.edu.cn/showproblem.php?pid=2049

和第五题思想一样。有n对夫妻结婚,有m个新郎跪搓衣板。也就是n-m个新郎可以回去洞房。和上面个方法一样.答案就是

m个找错了的a[m],乘以 n个当中选出m

a[m] * sum[n] / sum[n-m] / sum[m]

第七题:http://acm.hdu.edu.cn/showproblem.php?pid=2052

就是一个printf(); 的题。注意控制格式,建议这类题目,先自己在纸上好好的理一下注意事项,容易出错的在于if ...else 没有烤炉到所有情况,或者是考虑了多余的情况。需要仔细的注意。

2018/8/16第二周相关推荐

  1. OUC2022秋季软件工程第16组第二周作业

    OUC2022秋季软件工程第16组第二周作业 目录 文章目录 OUC2022秋季软件工程第16组第二周作业 目录 一.视频学习心得及问题总结 1.学习心得 张欣悦: 赵艳蕊: 杨婷: 郑欣欣: 张维娜 ...

  2. 【回顾九月份第二周】 前端你该知道的事儿

    原链接: http://bluezhan.me/weekly/#/9-2 1.web前端 Angular vs. React vs. Vue: A 2017 comparison 9 Steps: C ...

  3. 第二周-python实战-youtube视频分析

    python实践 前言:本文主要针对kaggle上的一份数据集,内容是关于youtube热点视频的分析,用python进行了一些分析,主要用到的是pandas的一些方法,结合案例加以操作,巩固pyth ...

  4. Emojify - v2 吴恩达老师深度学习第五课第二周编程作业2

    吴恩达老师深度学习第五课第二周编程作业2,包含答案! Emojify! Welcome to the second assignment of Week 2. You are going to use ...

  5. Linux第二周学习笔记(7)

    Linux第二周学习笔记(7) 2.13 文档查看cat_more_less_head_tail (1). cat命令 cat命令:用于查看一个文件的内容并将其显示在屏幕上 cat-A命令:显示所有的 ...

  6. 2月第二周.COM增近12万 ×××域名.XXX减122个

    IDC评述网(idcps.com)02月18日报道:根据Registrar Stats实时数据,截至2014年2月16日,全球.COM域名注册总量已达到了112,369,017个,环比上周新增近12万 ...

  7. LINUX内核分析第二周学习总结——操作系统是如何工作的

    LINUX内核分析第二周学习总结--操作系统是如何工作的 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course ...

  8. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  9. 2019年春季学期第二周作业(文件指针)

    2019年春季学期第二周作业(基础作业) 请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始).并将最大值和对应的最小下标数值写入文件. 输入: 请建立以自 ...

最新文章

  1. mongodb3 分片集群平滑迁移
  2. 机器人研究员的崛起 |《自然》论文
  3. linux watchdog demo hacking
  4. 算法分析 载货问题_协会发布 | 汽车市场走势分析及2021年预测报告
  5. sqlServer事务
  6. 李彦宏被提名工程院院士,而美女教授颜宁落选,当选为美国院士
  7. 使用SCOM常用的一些ManagementPack
  8. python面向对象学习_Python 初识面向对象#学习猿地
  9. KMS安装后激活机器
  10. VSCode 代码风格统一设置eslint + stylelint
  11. springboot 事务_Spring Boot中的事务是如何实现的?懂吗?
  12. 麦咭智能机器人宣传片_【头脑风暴】移动机器人能够撬动上亿线下流量,挖掘市场增量吗?...
  13. 只因少打一个字符 “”,大量谷歌 Chromebook 无法解锁
  14. 前端开发——图片标注工具
  15. AEJoy —— 表达式之弹性(韧性)模拟详解【JS】
  16. python计算机视觉 相机标定--张正友棋盘格标定法
  17. ADB Interface 找不到驱动程序 怎么破
  18. java编写这个通讯录管理系统_Java如何实现通讯录管理系统
  19. python turtle库画一个五角星 【Python初学 绘制五角星】
  20. python中小数点后取2位(四舍五入)以及取2位(四舍五不入)的方法总结

热门文章

  1. Java咖啡馆---品味第一杯咖啡
  2. 差分运算放大器的计算
  3. iOS微信支付--解析失败
  4. 植物神经紊乱引起的焦虑、烦躁怎么办?
  5. 跨namespace通信
  6. 告白或写给对象的网页。
  7. 创业语录(转)(动态添加中)
  8. GPS定位为什么需要4颗以上卫星?
  9. 利用python进行数据分析(第二版)_第十三章
  10. MySQL查询——为表和字段取别名