hdu题面

  • Time limit 5000 ms
  • Memory limit 524288 kB
  • OS Windows

解题思路

因为升级只能一级一级地升,所以所求期望满足了区间加的性质,可以一级一级地算,然后求前缀和、输出(状态不好,临博客涕零,不知所言)

接着扔链接(留坑)

源代码

参考别人博客写的,感觉像抄的一样

#include<stdio.h>

const int mod=1e9+7;
const int MAXN=5e5+5; int T;
int n,m; long long inv(long long x)//快速幂求逆元 inv[a]=a^(p-2)
{
long long res=1LL;
long long b=mod-2;
while(b){
if(b&1) res=res*x%mod;
x*=x;
x%=mod;
b>>=1;
}
return res%mod;
}
long long sum[MAXN];
int main()
{
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&m);
sum[0] = 0;
for(int i = 1; i <= n; ++i)
{
long long r, s, x, a;
scanf("%lld%lld%lld%lld", &r, &s, &x, &a);
long long p = r * inv(s) % mod;
sum[i] = (sum[i - 1] + (a + (1 - p + mod) % mod * (a + sum[i - 1] - sum[x - 1] + mod) % mod * inv(p) % mod) % mod + mod) % mod;//关键就是这个了
}
while(m--)
{
int l, r;
scanf("%d%d", &l, &r);
long long ans = (sum[r - 1] - sum[l - 1] + mod) % mod;//这里为啥来着……
printf("%lld\n", ans);
}
}
return 0;
}

最新文章

  1. Codeforces Round #344 (Div. 2) B. Print Check
  2. (DNS被劫持所导致的)QQ音乐与视频网页打开很慢的解决方法
  3. 关于PB调用Microsoft Web Browser控件的一些问题
  4. mac_snailSVN
  5. java归并排序,单线程vs多线程
  6. GridView获取当前行
  7. Java for LeetCode 070 Climbing Stairs
  8. 转一个 C#基础类库
  9. jquery获取div距离顶部的距离
  10. Hadoop 7、MapReduce执行环境配置
  11. ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统
  12. Google Dremel 原理 - 如何能3秒分析1PB
  13. 算法录 之 BFS和DFS
  14. 测试与发布(Alpha版本)
  15. C#图解教程 第十六章 转换
  16. 记一次jar包冲突
  17. 关于阿里云Centos7 Mailx发送邮件失败的处理
  18. JUnit单元测试代码
  19. Tween animation
  20. 常用jQuery知识

热门文章

  1. Windows 下 C/C++ 多线程编程入门参考范例
  2. 使用Jenkins结合Gogs和SonarQube对项目代码进行测试、部署、回滚,以及使用keepalived+haproxy调度至后端tomcat
  3. c# 模拟post登录
  4. 使用git配置ssh的文章推荐
  5. Java中的==和equals( )方法
  6. 【TensorFlow探索之一】MNIST的初步尝试
  7. linux c 链接详解3-静态库
  8. Qt Creator 4.9 发布
  9. Django学习系列7:使用模板解决“不测试常量”规则,使用模板重构
  10. [每日一学]apache camel简介