题目链接: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的更多相关文章

  1. Codeforces #180 div2 C Parity Game

    // Codeforces #180 div2 C Parity Game // // 这个问题的意思被摄物体没有解释 // // 这个主题是如此的狠一点(对我来说,),不多说了这 // // 解决问 ...

  2. Codeforces #541 (Div2) - E. String Multiplication(动态规划)

    Problem   Codeforces #541 (Div2) - E. String Multiplication Time Limit: 2000 mSec Problem Descriptio ...

  3. Codeforces #541 (Div2) - F. Asya And Kittens(并查集+链表)

    Problem   Codeforces #541 (Div2) - F. Asya And Kittens Time Limit: 2000 mSec Problem Description Inp ...

  4. Codeforces #541 (Div2) - D. Gourmet choice(拓扑排序+并查集)

    Problem   Codeforces #541 (Div2) - D. Gourmet choice Time Limit: 2000 mSec Problem Description Input ...

  5. Codeforces #548 (Div2) - D.Steps to One(概率dp+数论)

    Problem   Codeforces #548 (Div2) - D.Steps to One Time Limit: 2000 mSec Problem Description Input Th ...

  6. 【Codeforces #312 div2 A】Lala Land and Apple Trees

    # [Codeforces #312 div2 A]Lala Land and Apple Trees 首先,此题的大意是在一条坐标轴上,有\(n\)个点,每个点的权值为\(a_{i}\),第一次从原 ...

  7. [codeforces round#475 div2 ][C Alternating Sum ]

    http://codeforces.com/contest/964/problem/C 题目大意:给出一个等比序列求和并且mod 1e9+9. 题目分析:等比数列的前n项和公式通过等公比错位相减法可以 ...

  8. Codeforces #263 div2 解题报告

    比赛链接:http://codeforces.com/contest/462 这次比赛的时候,刚刚注冊的时候非常想好好的做一下,可是网上喝了个小酒之后.也就迷迷糊糊地看了题目,做了几题.一觉醒来发现r ...

  9. codeforces #round363 div2.C-Vacations (DP)

    题目链接:http://codeforces.com/contest/699/problem/C dp[i][j]表示第i天做事情j所得到最小的假期,j=0,1,2. #include<bits ...

  10. codeforces round367 div2.C (DP)

    题目链接:http://codeforces.com/contest/706/problem/C #include<bits/stdc++.h> using namespace std; ...

随机推荐

  1. 使用API调用获取商品数据的完整方案

    ​ 在电子商务应用程序中,商品详情接口是不可或缺的一部分.它用于从电商平台或自己的数据库中获取商品数据,并将其提供给应用程序的其他部分使用.本文将详细介绍如何设计一个完整的商品详情接口方案,其中包括使 ...

  2. 在deepin上使用Fleet开发SpringBoot 3.0.0项目

    前言 Fleet被称为是由 JetBrains 打造的下一代 IDE,目前出于公测状态,可以免费下载使用. SpringBoot 3.0.0最小支持是JDK 17,这或许是对于JDK8的断舍离迈出的重 ...

  3. ARM开发板学习

    ARM开发板学习 1.蜂鸣器配饰和时间函数开发 #include <stdio.h> #include <wiringPi.h> #include <unistd.h&g ...

  4. Redis系列之——Redis介绍安装配置

    文章目录 第一章 redis初识 1.1 Redis是什么 1.2 Redis特性(8个) 1.3 Redis单机安装 1.3.1下载安装 1.3.2三种启动方式 1.3.2.1 最简启动 1.3.2 ...

  5. Java-网络编程(TCP-UDP)

    Java-网络编程(TCP-UDP) 网络基础 网络编程最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的.中间最主要 ...

  6. Jmeter中使用BeanShell获取接口返回的指定值

    第一步:先引入jar包编写代码的时候,引入了一个jar包,是需要把它添加在测试计划中的  第一种:获取data中的paramName和paramVal值 //获取当前请求响应结果 String res ...

  7. Qt OpenGL textures详解

    1. 初始化opengl资源 Q_INIT_RESOURCE:textures(资源名称) QSurfaceFormat:定义3d面显示方式 如果在vs+qt vs tools 中无法正常显示3d图形 ...

  8. 联想think服务器centos系统安装

    一.前言 本以为安装服务器是一件轻松顺利的事,没想到一安就是两天- 二.错误列表 1.硬件系统不兼容低版本centos 刚开始安装centos6.8的操作系统总是无法找到配置好的raid阵列导致无法安 ...

  9. 深入理解maven构建生命周期和各种plugin插件(转)

    https://blog.csdn.net/zhaojianting/article/details/80321488 本博文不会长篇大论的讨论生命周期的概念,而是从各种plugin的实际功能和应用出 ...

  10. [Python急救站]打印菱形

    打印菱形程序 row = int(input("请输入要打印的列数: ")) #打印上面三角 for i in range(row): # i控制行数 for j in range ...