一些常用术语
2014-06-19 19:18
267 查看
1.打表
打表,是一个信息学专用术语,意指对某种找规律等题目,直接输出答案。这种算法也在对某种题目没有最优解法时,用来得到分数的一种策略。
打表一般分为两步:找到答案与输出答案。
找到答案的方式
一、通过找规律,找出对于每个输入数据n,f
的最终结果。
常见题目有费波纳契数列等;
二、通过暴力搜索,找出对于数据的答案,适用于数据较大,题目简单的情况;
三、通过手算,找出每个数据的答案,适用于数据较小且题目较难的情况。
输出答案的方式
一、直接把打表程序加上输入输出提交:耗时大,程序占用空间小;
二、把打表的数据放入程序,加上输入输出提交:耗时O(1),程序占用空间大。
直接带入数据的打表占用空间大
例如: f[i]储存为f[i]-f[i-1]
输出时以前缀和形式输出。
2、分段打表。
把数据分为几段,每段根据输入数据,找到相应倍数进行输出。
打表,是一个信息学专用术语,意指对某种找规律等题目,直接输出答案。这种算法也在对某种题目没有最优解法时,用来得到分数的一种策略。
打表一般分为两步:找到答案与输出答案。
找到答案的方式
一、通过找规律,找出对于每个输入数据n,f
的最终结果。
常见题目有费波纳契数列等;
二、通过暴力搜索,找出对于数据的答案,适用于数据较大,题目简单的情况;
三、通过手算,找出每个数据的答案,适用于数据较小且题目较难的情况。
输出答案的方式
一、直接把打表程序加上输入输出提交:耗时大,程序占用空间小;
二、把打表的数据放入程序,加上输入输出提交:耗时O(1),程序占用空间大。
直接带入数据的打表占用空间大
打表的技巧
1、可把一些相差不大的数据化为与上一段之差:例如: f[i]储存为f[i]-f[i-1]
输出时以前缀和形式输出。
2、分段打表。
把数据分为几段,每段根据输入数据,找到相应倍数进行输出。
就是在数据比较小的时候,比如测试数据只有一到一百的情况,你就可以先全部在自己的机子上算好,存入一个数组,交的时候只要cin>>n;cout<<a <<endl;
相关文章推荐
- 一些Linux内核中的常用术语
- Android的源代码结构和一些常用术语
- 一些常用术语
- Android的源代码结构 && 一些常用术语 && Android的支持库 && app/apk包进系统
- MQTT的一些常用术语(帮助理解)
- 一些常用的医学术语
- 一些常用的技术术语缩写
- Android的源代码结构 && 一些常用术语 && Android的支持库 && app/apk包进系统
- 常用正则表达式和一些术语的译法
- 一些常用的硬盘术语
- 收集一些IT常用名词术语
- OpenStack Tacker介绍 - tacker 一些常用术语
- spring中AOP一些常用操作术语
- Asp.NET中常用的一些优化性能的方法
- 常用音乐术语
- 面向对象的asp编程之四--一些常用的函数
- C#中一些字符串操作的常用用法
- VB常用术语
- oracle中SQL语句的一些有效常用用法
- 一些非常有用的JAVA常用方法