当前位置: 首页 > news >正文

Alternating Sum

Problem - 963A - Codeforces

处理式子\sum_{i=0}^{n}si*a^{n-i}*b^{i}

a^{n}*\sum_{i=0}^{n}*si*(\frac{b}{a})^{i}

a^{n}*(1+\frac{b}{a}^{k}+...+\frac{b}{a}^{k*(\frac{n+1}{k})})*(\sum_{i=0}^{k}si*(\frac{b}{a})^{i})

显然中间式子是等比数列

a^{n}*(\frac{a1*(1-q^{n})}{1-q})*(\sum_{i=0}^{k}si*(\frac{b}{a})^{i})      q=\frac{b}{a}^{k} q\neq 1

// Problem: A. Alternating Sum
// Contest: Codeforces - Tinkoff Internship Warmup Round 2018 and Codeforces Round 475 (Div. 1)
// URL: https://codeforces.com/problemset/problem/963/A
// Memory Limit: 256 MB
// Time Limit: 1000 ms
// 
// Powered by CP Editor (https://cpeditor.org)#include<iostream>
using namespace std;
typedef long long ll;
const int mod=1e9+9;
ll qmi(ll a,ll b){ll res=1;while(b){if(b&1){res=res*a%mod;}b>>=1;a=a*a%mod;}return res;
}
ll inv(ll x){return qmi(x,mod-2)%mod;}
ll sn(ll a1,ll q,ll num){ll res=a1;res*=(1-qmi(q,num));res%=mod;res*=inv(1-q);res%=mod;return res;
}
int main(){ll n,a,b,k;cin>>n>>a>>b>>k;string s;cin>>s;ll t1=qmi(a,n);t1%=mod;a=inv(a)%mod;ll q=qmi(a,k)%mod*qmi(b,k)%mod;ll t2=0;if(q==1){t2=(n+1)/k;}else{t2=sn(1,q,(n+1)/k);	}t2%=mod;ll t3=0;for(int i=0;i<k;i++){if(s[i]=='+'){t3+=qmi(b,i)%mod*qmi(a,i)%mod;}else{t3-=qmi(b,i)%mod*qmi(a,i)%mod;}if(t3<0){t3+=mod;}t3%=mod;}t3%=mod;ll ans=t1;ans*=t2;ans%=mod;ans*=t3;ans%=mod;cout<<(ans+mod)%mod<<'\n';return 0;
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • web基础,http协议,apache概念及nginx
  • C#小结:string、double、TimeSpan等常见类型的小结和坑点
  • mysql的存储过程:
  • go操作aws s3
  • RemakePython
  • 24年第三届钉钉杯大学生大数据挑战赛
  • PySide(PyQt)使用QPropertyAnimation制作动态界面
  • html实现酷炫美观的可视化大屏(十种风格示例,附源码)
  • 【JS】前端文件读取FileReader操作总结
  • 写代码对人的影响
  • Linux(虚拟机)的介绍
  • vue2 vue3 props 的处理机制
  • 如何利用AI工具获取所有Excel公式?
  • 视频隐写术
  • docker -v 到底和那个一样?type=volume还是type=bind的解释
  • python3.6+scrapy+mysql 爬虫实战
  • Angular 响应式表单 基础例子
  • axios 和 cookie 的那些事
  • ComponentOne 2017 V2版本正式发布
  • CSS3 变换
  • download使用浅析
  • go append函数以及写入
  • JavaScript-Array类型
  • js ES6 求数组的交集,并集,还有差集
  • JS基础之数据类型、对象、原型、原型链、继承
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • Linux CTF 逆向入门
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • nodejs调试方法
  • Vue.js-Day01
  • 代理模式
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 马上搞懂 GeoJSON
  • 浅谈web中前端模板引擎的使用
  • 事件委托的小应用
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 再谈express与koa的对比
  • NLPIR智能语义技术让大数据挖掘更简单
  • raise 与 raise ... from 的区别
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • ​业务双活的数据切换思路设计(下)
  • #预处理和函数的对比以及条件编译
  • ${factoryList }后面有空格不影响
  • (30)数组元素和与数字和的绝对差
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (BAT向)Java岗常问高频面试汇总:MyBatis 微服务 Spring 分布式 MySQL等(1)
  • (Oracle)SQL优化基础(三):看懂执行计划顺序
  • (二)丶RabbitMQ的六大核心
  • (附源码)计算机毕业设计大学生兼职系统
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (五)Python 垃圾回收机制
  • (一)Thymeleaf用法——Thymeleaf简介
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)