Codeforces #475 div2
题目链接:http://codeforces.com/contest/964
A题 答案n/2+1;
B题 讨论三种情况
c>b
c==b
c<b
C题
数论,逆元+快速幂,但是我一直卡在了取模这个地方。迷之wa
AC代码:
1 #include<iostream>
2 #include<algorithm>
3 #include<string.h>
4 #include<stdio.h>
5 #define ll long long
6 #define MOD 1000000009
7 using namespace std;
8 char s[100500];
9 ll quick_pow(ll a,ll b,ll n,ll x){
10 ll ans=1,base=a;
11 ll y=n-x;
12 while(y!=0){
13 if(y&1){
14 ans=(ans*base)%MOD;
15 }
16 base=(base*base)%MOD;
17 y>>=1;
18 }
19 base=b;
20 while(x!=0){
21 if(x&1){
22 ans=(ans*base)%MOD;
23 }
24 base=(base*base)%MOD;
25 x>>=1;
26 }
27 return ans%MOD;
28 }
29 ll qkm(ll a,ll y){
30 ll ans=1,base=a;
31 while(y!=0){
32 if(y&1){
33 ans=(ans*base)%MOD;
34 }
35 base=(base*base)%MOD;
36 y>>=1;
37 }
38 return ans%MOD;
39 }
40 int main(){
41 ll n,a,b,k;
42 cin>>n>>a>>b>>k;
43 scanf("%s",s);
44 ll ans=0;
45 /*for(ll i=0;i<k;i++){
46 if(s[i]=='+'){
47 ans=(ans+quick_pow(a,b,n,i))%MOD;
48 }else{
49 ans=(ans-quick_pow(a,b,n,i))%MOD;
50 }
51 }*/
52 for (ll i=0;i<k;i++)
53 {
54 if(s[i]=='+')
55 {
56 ans= (ans+qkm(a,n-i)*qkm(b,i)%MOD+MOD)%MOD;
57 }
58 if(s[i]=='-')
59 {
60 ans= (ans-qkm(a,n-i)*qkm(b,i)%MOD+MOD)%MOD;
61 }
62 }
63 ll cir=(n+1)/k;
64 //ll inva=qkm(a,MOD-2);
65 ll q=(qkm(b,k)*qkm(a,k*(MOD-2)))%MOD;
66 if(q!=1){
67 ans=ans*(qkm(q,cir)-1)%MOD*(qkm(q-1,MOD-2))%MOD; //这里,如果我先对后面两个取模就会wa,错在第7组测试数据,迷~
68 }else{
69 ans=(cir*ans)%MOD;
70 }
71 cout<<ans<<endl;
72 return 0;
73 }
Codeforces #475 div2的更多相关文章
- Codeforces #180 div2 C Parity Game
// Codeforces #180 div2 C Parity Game // // 这个问题的意思被摄物体没有解释 // // 这个主题是如此的狠一点(对我来说,),不多说了这 // // 解决问 ...
- Codeforces #541 (Div2) - E. String Multiplication(动态规划)
Problem Codeforces #541 (Div2) - E. String Multiplication Time Limit: 2000 mSec Problem Descriptio ...
- Codeforces #541 (Div2) - F. Asya And Kittens(并查集+链表)
Problem Codeforces #541 (Div2) - F. Asya And Kittens Time Limit: 2000 mSec Problem Description Inp ...
- Codeforces #541 (Div2) - D. Gourmet choice(拓扑排序+并查集)
Problem Codeforces #541 (Div2) - D. Gourmet choice Time Limit: 2000 mSec Problem Description Input ...
- Codeforces #548 (Div2) - D.Steps to One(概率dp+数论)
Problem Codeforces #548 (Div2) - D.Steps to One Time Limit: 2000 mSec Problem Description Input Th ...
- 【Codeforces #312 div2 A】Lala Land and Apple Trees
# [Codeforces #312 div2 A]Lala Land and Apple Trees 首先,此题的大意是在一条坐标轴上,有\(n\)个点,每个点的权值为\(a_{i}\),第一次从原 ...
- [codeforces round#475 div2 ][C Alternating Sum ]
http://codeforces.com/contest/964/problem/C 题目大意:给出一个等比序列求和并且mod 1e9+9. 题目分析:等比数列的前n项和公式通过等公比错位相减法可以 ...
- Codeforces #263 div2 解题报告
比赛链接:http://codeforces.com/contest/462 这次比赛的时候,刚刚注冊的时候非常想好好的做一下,可是网上喝了个小酒之后.也就迷迷糊糊地看了题目,做了几题.一觉醒来发现r ...
- codeforces #round363 div2.C-Vacations (DP)
题目链接:http://codeforces.com/contest/699/problem/C dp[i][j]表示第i天做事情j所得到最小的假期,j=0,1,2. #include<bits ...
- codeforces round367 div2.C (DP)
题目链接:http://codeforces.com/contest/706/problem/C #include<bits/stdc++.h> using namespace std; ...
随机推荐
- vivo数据中心网络链路质量监测的探索实践
作者:vivo 互联网服务器团队- Wang Shimin 网络质量监测中心是一个用于数据中心网络延迟测量和分析的大型系统.通过部署在服务器上的Agent发起5次ICMP Ping以获取端到端之间的网 ...
- PostgreSQL-分区表介绍
一.分区简介 表分区是解决一些因单表过大引用的性能问题的方式,比如某张表过大就会造成查询变慢,可能分区是一种解决方案.一般建议当单表大小超过内存就可以考虑表分区了. 表的分区就是将一个逻辑上的大表(主 ...
- 小知识:PPT的幻灯片放映设置
最近给某客户讲课时,碰到了幻灯片自动翻页的情况,发现是因为之前做过粗略的计时演练,有些片子就快速过了. 问题现象: 结果导致放映时也出现了某些片子快速被自动翻页. 解决方案: 设置成手动推进幻灯片的方 ...
- linux查看IP、域名、端口的网络是否相通
linux查看IP.域名.端口的网络是否相通 1. ping # 检索当前域名对应的IP地址 ping 域名 # 查看IP是否相通 ping IP 2. tlenet # 查看指定IP的端口是否相通, ...
- C++高精度算法
文章结尾有惊喜 在 C++ 中,unsigned long long最大只能表示到2^64-1=18446744073709551615264−1=18446744073709551615 而有些题目 ...
- C++ 对拍详解 和解读
对拍是什么# 对拍,是一个比较实用的工具.它能够非常方便地对于两个程序的输出文件进行比较,可以帮助我们实现一些自动化的比较输出结果的问题. 众所周知,几乎每一道编程题目,都会有某种正解能拿到满分: ...
- c语言代码练习2(1)
//利用while循环计算1-10阶乘的和#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main( ) { int i ...
- C#软件架构设计原则
软件架构设计原则 学习设计原则是学习设计模式的基础.在实际的开发过程中,并不是一定要求所有的代码都遵循设计原则,而是要综合考虑人力.成本.时间.质量,不刻意追求完美,要在适当的场景遵循设计原则.这体现 ...
- 虹科分享|Redis Stack不想再让开发人员受苦了!
什么是Redis Stack Redis Stack:整合Redis模块的功能 为了简化开发人员对较新的 Redis 模块及其提供的功能的体验,同时简化支持其功能的文档和客户端.以帮助开发人员从开始使 ...
- py2neo函数merge参数报错
代码 a1 = Node("house", name='303') g.merge(a1) 执行报错 Primary label and primary key are requi ...