hihoCoder 1430 A Boring Problem(数论)
https://hihocoder.com/problemset/problem/1430?sid=1202564
分析:
AC代码:
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <vector>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include<list>
#include <bitset>
#include <climits>
#include <algorithm>
#define gcd(a,b) __gcd(a,b)
#define mset(a,n) memset(a,n,sizeof(a))
#define FIN freopen("input.txt","r",stdin)
#define FOUT freopen("output.txt","w",stdout)
typedef long long LL;
const LL mod=1e9+7;
const int INF=0x3f3f3f3f;
const double PI=acos(-1.0);
using namespace std;
char str[50005];
LL sum[50005];
LL sum1[50005][105];
LL sum2[50005][105];
LL C[105][105];
void init()
{C[0][0]=1;for(int i=1;i<=100;i++)for(int j=0;j<=i;j++)C[i][j]=(j==0)?1:(C[i-1][j]+C[i-1][j-1])%mod;
}
int main()
{//FIN;init();int t;scanf ("%d",&t);while (t--){LL n,k;scanf ("%lld%lld",&n,&k);scanf ("%s",str);sum[0]=0;for (int i=1;i<=n;i++) sum[i]=(sum[i-1]+(LL)(str[i-1]-'0'))%mod;// sum1[i][j]表示sum[i]的j次方 for (int i=0;i<=n;i++){sum1[i][0]=1;for (int j=1;j<=k;j++){sum1[i][j]=(sum1[i][j-1]*sum[i])%mod;}}// sum2[i][j]表示j次方下-sum1的前i项和 for (int i=0;i<=k;i++){sum2[0][i]=sum1[0][i];for (int j=1;j<=n;j++){sum2[j][i]=(sum2[j-1][i]+((i%2==0)?1:-1)*sum1[j][i])%mod;}}for (int i=1;i<=n;i++){LL ans=0;for (int j=0;j<=k;j++){ans=(ans+C[k][j]*sum1[i][j]%mod*sum2[i-1][k-j]%mod+mod)%mod;}printf("%lld%c",ans,i==n?'\n':' ');}}return 0;
}
hihoCoder 1430 A Boring Problem(数论)相关推荐
- Hihocoder 1430 A Boring Problem (数论)
Problem 对于数字串 S ,S[l]S[l] 表示串 S 的第 l 个数字( l 从 1 开始标记). F(j, i)=(Σil=jS[l])F(j,\ i) = (\Sigma_{l=j}^i ...
- 北京区域赛I题,Uva7676,A Boring Problem,前缀和差分
A Boring Problem 题解 其实这题不难,只要想到了前缀和差分就基本OK了. 我们要求的是第iii项的式子: F(i)=(a1+a2+...+ai)k+(a2+...+ai)k+...+( ...
- 2020 ACM-ICPC澳门区域赛 B Boring Problem 主元法
B Boring Problem 题意: 给出n≤100n \le 100n≤100个长度为m≤100m \le 100m≤100的串TiT_iTi和一个串RRR,对每个RRR的前缀,每次在其末尾以 ...
- codeforces798C - Mike and gcd problem (数论+思维)
原题链接:http://codeforces.com/contest/798/problem/C 题意:有一个数列A,gcd(a1,a2,a3...,an)>1 时称这个数列是"漂亮& ...
- hdu 4143 A Simple Problem 数论
y^2 = n +x^2 这道题目我做了一个小时多小时,你说累不累. 首先两个 平方数之间的差距 1^2 2^2 3^2 4^2 5 ^2 之间的 差距是 3 5 7 9 所以 只要是 奇 ...
- 【hihocoder1430】 A Boring Problem
大意: 给定n个数字序列S,定义 F(j,i)=(S[j]+S[j+1]+-+S[i−1]+S[i])kF(j, i) =(S[j] + S[j+1] + - + S[i-1] + S[i]) ^ k ...
- 安装Anaconda3时遇到的问题
昨天总结了装python和pycharm.本来想着马上接着总结Anaconda 的,谁知道,这一安装,竟然花了我一天一夜的时间,(悲伤辣么大啊简直).遇到了各种各样的问题,重装 ...
- ACM学习历程—Hihocoder [Offer收割]编程练习赛1
比赛链接:http://hihocoder.com/contest/hihointerview3/problem/1 大概有一个月没怎么打算法了.这一场的前一场BC,也打的不是很好.本来Div1的A和 ...
- 电子数字 网易游戏在线笔试 第一题 hihocoder
题目链接 http://hihocoder.com/contest/ntest2016spring1/problem/1 这个题目有几个算法考点: (1)对于一个LED数码管(由7个发光二极管封装在一 ...
最新文章
- MaxCompute2.0性能评测:更强大、更高效之上的更快速
- 【Other】Ubuntu 14.04 pptp 客户端连接配置
- 计算机视觉与深度学习 | 视觉SLAM详解及应用(中文版)
- 关于文件操作的\r\n问题。
- 一种向后兼容的C++结构体设计
- Java Map中那些巧妙的设计
- jparepository查询所有_jparepository 怎样自定义查询
- 一个 wince 开发经验的杰出blog
- 扁平化设计的几个规律
- springboot使用thymeleaf模板引擎时出现org.xml.sax.SAXParseException的原因与解决办法
- mysql sql优化_Mysql的SQL优化指北
- 【货干】Idea 安装 MyBatis 插件
- 一个icon的选中与不选中
- CSS样式写出三角形
- sql语句 如果为空值显示为0
- AWVS 网页漏洞扫描工具安装使用(Linux)
- python将文件夹下的图片创建到一个ppt文件
- Linux下实现文件实时同步(rsync命令+rsync作为服务+xinetd托管rsync)
- 过压保护器件压敏电阻的选型和主要应用介绍
- “构建之法”--第一次作业-阅读与准备工作
热门文章
- Nginx 正确使用姿势
- mysql 大二进制类型_MySql 二进制类型
- Arduino与Proteus仿真实例-AT24C256串行(I2C)EEPROM数据存取驱动仿真
- UltraISO 安装系统时,提示无法在驱动器0分区上安装windows / WINPE类软件重装系统无法正常开机 解决办法
- 防火墙ASA5520配置
- 黑莓行货手机是否都有运营商(移动,电信,联通)的logo?
- 串行RapidIO(Serial RapidIO,SRIO):IP核基础知识
- CMAIL4.0 server 脚本字段解释
- 11210怎么等于24_小学二年级的巧算24点.docx
- nodeJs——cmd中node不是内部或外部命令