(水题)Codeforces - 327C - Magic Five
https://codeforces.com/problemset/problem/327/C
因为答案可以有前导零,所以0和5一视同仁。每个小节内,以排在第 $i$ 个的5为结尾的序列即为在前面 $0\thicksim i-1$ 共i个里面选 $0$ 、 $1$ 、 $2$ 直到 $i-1$ 个去除,由二项式定理知道这里是 $2^i$ 。
因为小节可以循环,每次循环后面的对应位置要多 $n$ 个元素可以去除,那么就多乘一个 $2^n$ ,而一共有 $k$ 节,由等比数列求和 $\frac{a_1(1-q^n)}{1-q}$ 得知其实就是 $\frac{2^{nk}-1}{2^n-1}$ 。
那么2的任意次方可以由快速幂求出来。除法可以用费马小定理求出来乘法逆元(这里的模数是质数,而不仅仅是与2的幂次互质)。(逆元为所求数的p-2次方)。
#include<bits/stdc++.h>
using namespace std;
#define ll long long ll p=;
ll qpow(ll x,ll n){
ll res=;
while(n){
if(n&)
res=res*x%p;
x=x*x%p;
n>>=;
}
return res;
} char a[];
ll k;
int main(){
scanf("%s",a);
scanf("%lld",&k);
ll n=strlen(a); ll cur=;
for(int i=;i<n;i++){
if(a[i]==''||a[i]==''){
cur+=qpow(,i);
cur%=p;
}
} ll ans=cur*(qpow(,n*k)-)%p*(qpow(qpow(,n)-,p-))%p;
printf("%lld\n",ans);
}
(水题)Codeforces - 327C - Magic Five的更多相关文章
- 水题 Codeforces Round #302 (Div. 2) A Set of Strings
题目传送门 /* 题意:一个字符串分割成k段,每段开头字母不相同 水题:记录每个字母出现的次数,每一次分割把首字母的次数降为0,最后一段直接全部输出 */ #include <cstdio> ...
- 水题 Codeforces Round #300 A Cutting Banner
题目传送门 /* 水题:一开始看错题意,以为是任意切割,DFS来做:结果只是在中间切出一段来 判断是否余下的是 "CODEFORCES" :) */ #include <cs ...
- 水题 Codeforces Round #299 (Div. 2) A. Tavas and Nafas
题目传送门 /* 很简单的水题,晚上累了,刷刷水题开心一下:) */ #include <bits/stdc++.h> using namespace std; ][] = {" ...
- 水题 Codeforces Round #304 (Div. 2) A. Soldier and Bananas
题目传送门 /* 水题:ans = (1+2+3+...+n) * k - n,开long long */ #include <cstdio> #include <algorithm ...
- 水题 Codeforces Round #303 (Div. 2) A. Toy Cars
题目传送门 /* 题意:5种情况对应对应第i或j辆车翻了没 水题:其实就看对角线的上半边就可以了,vis判断,可惜WA了一次 3: if both cars turned over during th ...
- 水题 Codeforces Round #286 (Div. 2) A Mr. Kitayuta's Gift
题目传送门 /* 水题:vector容器实现插入操作,暴力进行判断是否为回文串 */ #include <cstdio> #include <iostream> #includ ...
- 构造水题 Codeforces Round #206 (Div. 2) A. Vasya and Digital Root
题目传送门 /* 构造水题:对于0的多个位数的NO,对于位数太大的在后面补0,在9×k的范围内的平均的原则 */ #include <cstdio> #include <algori ...
- 水题 Codeforces Round #306 (Div. 2) A. Two Substrings
题目传送门 /* 水题:遍历一边先找AB,再BA,再遍历一边先找BA,再AB,两种情况满足一种就YES */ #include <cstdio> #include <iostream ...
- 水题 Codeforces Round #308 (Div. 2) A. Vanya and Table
题目传送门 /* 水题:读懂题目就能做 */ #include <cstdio> #include <iostream> #include <algorithm> ...
- 水题 Codeforces Round #307 (Div. 2) A. GukiZ and Contest
题目传送门 /* 水题:开个结构体,rk记录排名,相同的值有相同的排名 */ #include <cstdio> #include <cstring> #include < ...
随机推荐
- IDEA中Thrift插件配置
方法一:直接在IDEA界面中配置 打开IDEA的插件中心,搜索 Thrift 即可安装 方法二:手动下载Thrift插件安装 有时像在IDEA中安装Lombok插件一样,有时由于网络原因,方法一不奏效 ...
- jQuery源代码框架思路
開始计划时间读源代码,第一节jQuery框架阅读思路整理 (function(){ jQuery = function(){}; jQuery一些变量和函数和给jQuery对象加入一些方法和属性 ex ...
- 用JAVA编写浏览器内核之实现javascript的document对象与内置方法
原创文章.转载请注明. 阅读本文之前,您须要对浏览器怎样载入javascript有一定了解. 当然,对java与javascript本身也须要了解. 本文首先介绍浏览器载入并执行javascript的 ...
- iGrimaceVX3.0和1.44在线源手机直接安装教程
[第一步] 先安装好三个组件设备必须是苹果越狱好后 确定6点几跟7点几的版本号才干够 首先打开cydia 选开发人员 以下 点软件源 点右上角编辑 1加入源 apt.25pp.com和IG包下载源a ...
- 4. 基本TCP套接字编程
基本函数接口 socket函数 #include <sys/socket.h> int socket(int family, int type, int protocol); 成功时返回一 ...
- iOS优化策略
之前写的一系列文章或者小经验一直没有时间去整理放在博客上,今天整理出来,之前是写在作业部落,语法是markdown,点击链接浏览,仅供参考,希望对你有帮助. https://www.zybuluo.c ...
- adb常用命令整理
adb connect <IPAddress:Port> //通过指定的IP地址及端口连接设备 adb devices //显示所有已连接的设备 adb install <Pac ...
- 使用Mock.js进行独立于后端的前端开发
Mockjs能做什么? 基于 数据模板 生成模拟数据. 基于 HTML模板 生成模拟数据. 拦截并模拟 ajax 请求. 能解决的问题 开发时,前后端进度不同步,后端还没完成数据输出,前端只好写静态模 ...
- ss连接不上
突然ss就连接不上了,而vps的ip能ping通,ssh也能登录. 折腾了半天都没解决. 后来解决了,关键点有两个 (1)更改ss的服务端口,原本是9000,随便改为其他的: (2)在switch里设 ...
- hadoop源码剖析--$HADOOP_HOME/bin/hadoop脚本文件分析
1. $HADOOP_HOME/bin/ hadoop #!/usr/bin/env bash# Licensed to the Apache Software Foundation (ASF) un ...