SDUT 3322 DFS暴力 数论
来源:互联网 发布:淘宝链接地址怎么弄 编辑:程序博客网 时间:2024/06/05 21:56
Collatz问题
Time Limit: 250ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
一下迭代序列定义在整数集合上:
n = n/2 (n 是偶数)
n = n*3 + 1(n 是奇数)
应用以上规则,并且以数字13开始我们得到一下序列:
13,40,20,10,5,16,8,4,2,1
可以看出这个以13开始以1结束的序列一共经过了9次运算。虽然还没有被证明(Collatz问题),但是人们认为在这个规则下,以任何数字开始都会以1 结束。
以哪个不超过x的正整数开始,能得到运算次数最多的序列?
注意:一旦序列开始,也就是从第二项开始,项是可以超过x的。
输入
输了一个整数n,接下来n行,每行一个整数x (1 <=x<=1,000,000)。
输出
对于每次询问,你需要计算出最多的运算次数是多少。为了节约输出时间,你只需要输出所有询问的答案之和 。
示例输入
3123
示例输出
8
提示
因为测试数据过大,建议使用高效的读入,比如scanf()。
如果你觉得scanf()仍然不够快,可以参考一下读入方式。
#include
template
inline void read(T& x) {
char ch; while (!((((ch=getchar())>='0') && (ch <= '9')) || (ch == '-')));
x = ch-'0'; while (((ch=getchar())>='0') && (ch <= '9')) x = x*10+ch-'0';
}
int main()
{
int a,b;
read(a);//等价于scanf(“%d”,&a);
read(b);//等价于scanf(“%d”,&b);
}
来源
示例程序
#include <cstdio>#include <cmath>#include <cctype>#include <vector>#include <queue>#include <cstring>#include <iostream>#include <algorithm>using namespace std;int num=0;int a[1000100];int dp[1000010];int DFS(long long int n){ if(n==1) { return 0; } if(n<1000010) //防止越界 { if(a[n]) return a[n]; //减少时间 } if(n%2==0) { return DFS(n/2)+1; //运行累加 } else { return DFS(n*3+1)+1; }}int main(){ int n; int Max=0; for(int i=1; i<=1000001; i++) { a[i]=DFS(i); if(Max<a[i]) Max=a[i]; dp[i]=Max;<span id="transmark"></span> } while(~scanf("%d",&n)) { long long sum=0; for(int i=0; i<n; i++) { int m; scanf("%d",&m); sum+=dp[m]; } printf("%lld\n",sum); }}
0 0
- SDUT 3322 DFS暴力 数论
- SDUT-3469 深度优先搜索练习之神奇的矩环(暴力/DFS)
- SDUT 数论基础 F
- sdut 1961 dfs递归
- SDUT 3297 DFS
- sdut 2107 DFS
- 暴力dfs POJ1426
- UVA 185(暴力DFS)
- poj-1691-暴力DFS
- poj1753(dfs暴力枚举)
- poj2965(dfs暴力枚举)
- hdu 4739 dfs+暴力
- Codeforces9C dfs暴力
- uva1509(暴力dfs)
- BNUOJ 39423 暴力,DFS
- DFS 暴力 1007
- poj2965 DFS暴力枚举
- poj 2718 暴力dfs
- MFC 截图操作详解。
- windows环境下如何区分单击和双击
- 写程序过程中的积累,不断更新。。。
- 当一个子view需要接收点击事件,而父view也需要接收点击事件, 如何做?
- 关于开发控制window 98的仪器总结
- SDUT 3322 DFS暴力 数论
- Read && Write
- [超源点:还是最短路的变形]hdu2066
- import opencv for Android 例程总是显示错去
- 用sql来判断子集
- Matlab优化函数中options选项的修改
- javascript 对象
- Leetcode-Median of Two Sorted Arrays
- Adaboost-积分图计算