hdu 5139 (离线处理)
来源:互联网 发布:淘宝首页怎么设置 编辑:程序博客网 时间:2024/04/29 18:15
题意:
You are expected to write a program to calculate f(n) when a certain n is given.
思路:
写出前几项,就很容易得出递推式。但是因为n的数据范围是1~10000000,而内存给的小
,所以并不能直接打表(MLE)
采用离线处理——先读完,再一次性输出。
中间采取了一点小技巧,先把所有读入的输入按照n的大小排序,使得处理答案时的时间复杂度为线性的,不然会TLE
code:
#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include<vector>#include<string>#include<queue>#include<map>#include<set>#include<cmath>#include<cstdlib>using namespace std;#define INF 0x3f3f3f3f#define PI acos(-1.0)#define mem(a, b) memset(a, b, sizeof(a))#define mod 1000000007typedef pair<int,int> pii;typedef long long LL;//------------------------------const int maxn = 100005;//long long f[10000005];////void table(){// f[1] = 1;// long long sum = 2;// for(int i = 2; i <= 10000000; i++){// f[i] = (f[i-1] * sum) % mod;// sum = sum * (i+1) % mod;// }//}//int n;//int main(){// table();// while(scanf("%d",&n) != EOF){// printf("%d\n",(int)f[n]);// }// return 0;//}//应该离线处理struct node{ int n, id; bool operator < (const node nt) const{ return n < nt.n; }}ma[maxn];int cnt = 0;int ans[maxn];void solve(){ long long sum = 1; long long tmp = 1; int st = 1; for(int i = 0; i < cnt; i++){ for(int j = st; j <= ma[i].n; j++){ tmp = (tmp * sum) % mod; sum = sum * (j+1) % mod; } st = ma[i].n + 1; ans[ma[i].id] = (int)tmp; } for(int i = 0; i < cnt; i++){ printf("%d\n",ans[i]); }}int n;int main(){ cnt = 0; while(scanf("%d",&n) != EOF){ ma[cnt].n = n; ma[cnt].id = cnt++; } sort(ma, ma+cnt); solve(); return 0;}
0 0
- hdu 5139 (离线处理)
- hdu 5139(离线处理)
- HDU 5139 Formula 离线处理
- HDU 5139 Formula(离线处理)
- [ACM] HDU 5139 Formula (离线处理)
- HDU 5139 Formula(数据离线处理)
- hdu 5139 Formula(离线处理)
- hdu 5139 Formula(离线处理)
- HDU 5139 Formula(数据离线处理)
- hdu 5200(离线处理)
- hdu 离线处理题目集锦
- hdu 4995 离线处理+模拟
- hdu 5200 trees(离线处理)
- hdu 5200 离线处理+思维
- HDU 5139 Formula(递推公式、离线处理)
- HDU 5139 离线暴力
- hdu 4417 线段树离线处理
- hdu 4348 线段树离线处理
- GridControl中添加checkbox复选框
- Target runtime com.genuitec.runtime.generic
- 计算广告学(一)
- oc总结
- 初试报表
- hdu 5139 (离线处理)
- Linux 命令大全
- 今天照着书上说的试着做了一下输入验证
- 软件授权协议中Free as in Speech和Free as in Beer的区别
- generator自动生成mybatis配置和类信息
- JQuery实现回到顶部
- JavaGUI编程之awt和swing包的概述
- client 提交post 到 django出现403错误
- c语言笔记