博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HUT-XXXX 数学
阅读量:7282 次
发布时间:2019-06-30

本文共 855 字,大约阅读时间需要 2 分钟。

这题有个技巧就是保留前缀和后缀级,然后利用公式 a*b MOD c = ( a MOD c * b MOD c ) MOD c。

代码如下:

#include 
#include
#include
#include
#include
#define MOD 1000000007using namespace std;int N;long long a[100005], l[100005], r[100005];int main(){ while (scanf("%d", &N), N) { for (int i = 1; i <= N; ++i) { scanf("%lld", &a[i]); } l[0] = r[N+1] = 1; for (int i = 1; i <= N; ++i) { l[i] = (l[i-1]*a[i]) % MOD; } for (int i = N; i >= 1; --i) { r[i] = (r[i+1]*a[i]) % MOD; } for (int i = 1; i <= N; ++i) { printf(i == 1 ? "%lld" : " %lld", (l[i-1]*r[i+1]) % MOD); } puts(""); } return 0;}

转载于:https://www.cnblogs.com/Lyush/archive/2012/07/16/2594364.html

你可能感兴趣的文章
再看《社交网络》有感
查看>>
深入理解Ribbon之源码解析
查看>>
WebSocket系列之JavaScript字符串如何与二进制数据间进行互相转换
查看>>
Ubuntu 服务器安装 Java Web 开发环境
查看>>
HTTP 缓存
查看>>
RSA签名的PSS模式
查看>>
redis常用demo收集(二)——基于redis的简单用户协同推荐
查看>>
最简单的SAP云平台开发教程 - 如何开发UI5应用并运行在SAP云平台上
查看>>
我已经迷失在事件环(event-loop)中了【Nodejs篇】
查看>>
web前端入门进阶教程:Vue 项目骨架屏注入实践
查看>>
你真的会用 CocoaPods 吗?
查看>>
Java并发编程知识概览(一)
查看>>
产品和行为规范的那些事
查看>>
关于 Xcode 9 拖入文件未生效的问题
查看>>
贝聊VPC迁移
查看>>
如何解决jquery.jsonp在并发下容易发生异常的bug
查看>>
Spring事务注解Transactional的正确使用姿势
查看>>
JS中的THIS处理及正则表达式 — 2、综合实战:华为商城产品排序
查看>>
『高级篇』docker之服务编排三大平台扬帆起航(21)
查看>>
ApplicationContext 与 BeanFactory 区别
查看>>