[CSP-S模拟测试]:chinese(数学)
题目传送门(内部题25)
输入格式
一行三个整数$n,m,k$。
输出格式
一行一个整数表示答案。
样例
样例输入:
2 2 2
样例输出:
8
数据范围与提示
样例解释:
$f_0=10,f_1=4,f_2=2,f_3=f_4=0$。
数据范围:
对于所有数据,$2\leqslant n,m\leqslant {10}^9,1\leqslant k\leqslant {10}^6$。
题解
考虑$\sum \limits_{i=0}^{nm}i\times f_i$的意义:所有方案中炼字的个数之和。
统计答案时可以考虑$[1,k]$每个字对答案的贡献,即每个字在多少种方案中成为炼字。在方格的一个确定位置$(x,y)$,字符$i$对答案的贡献($(x,y)$位置的数是$i$且$i$是炼字的方案数)是${(i−1)}^{n−1}{(i − 1)}^{m−1}k^{nm−n−m+1}$。由于诗作中的所有位置都是等价的,那么最后的答案就是
$nm\sum \limits_{i=1}^k {(i−1)}^{n−1} {(i− 1)}^{m−1} k^{nm−n−m+1}$。
时间复杂度:$\Theta(k)$。
期望得分:$100$分。
实际得分:$100$分。
代码时刻
#include<bits/stdc++.h>
using namespace std;
long long n,m,k;
long long ans;
long long qpow(long long x,long long y)
{
long long res=1;
while(y)
{
if(y&1)res=res*x%1000000007;
x=x*x%1000000007;
y>>=1;
}
return res;
}
int main()
{
scanf("%lld%lld%lld",&n,&m,&k);
for(int i=1;i<=k;i++)ans=(ans+qpow(i-1,n+m-2)*qpow(k,n*m-n-m+1)%1000000007)%1000000007;
ans=ans*n%1000000007*m%1000000007;
printf("%lld",ans);
return 0;
}
rp++
[CSP-S模拟测试]:chinese(数学)的更多相关文章
- [考试反思]0729NOIP模拟测试10
安度因:哇哦. 安度因:谢谢你. 第三个rank1不知为什么就来了.迷之二连?也不知道哪里来的rp 连续两次考试数学都占了比较大的比重,所以我非常幸运的得以发挥我的优势(也许是优势吧,反正数学里基本没 ...
- 0823NOIP模拟测试赛后总结
考了两场感觉虚了... NOIP模拟测试30 分着考的. 就只有T2的美妙的暴力拿分了,60分rank10,挂了. T1是一道sb题,爆零了十分遗憾. 许多人都掉进了输出格式的坑里,C没大写.少个空格 ...
- Android单元测试与模拟测试详解
测试与基本规范 为什么需要测试? 为了稳定性,能够明确的了解是否正确的完成开发. 更加易于维护,能够在修改代码后保证功能不被破坏. 集成一些工具,规范开发规范,使得代码更加稳定( 如通过 phabri ...
- [开源]微信在线信息模拟测试工具(基于Senparc.Weixin.MP开发)
目前为止似乎还没有看到过Web版的普通消息测试工具(除了官方针对高级接口的),现有的一些桌面版的几个测试工具也都是使用XML直接请求,非常不友好,我们来尝试做一个“面向对象”操作的测试工具. 测试工具 ...
- 安装nginx python uwsgi环境 以及模拟测试
uwsgi帮助文档: http://uwsgi-docs-cn.readthedocs.io/zh_CN/latest/WSGIquickstart.html http://uwsgi-docs.re ...
- 【模拟】【数学】CSU 1803 2016 (2016湖南省第十二届大学生计算机程序设计竞赛)
题目链接: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1803 题目大意: 给定n,m(n,m<=109)1<=i<=n,1& ...
- 利用Python中的mock库对Python代码进行模拟测试
这篇文章主要介绍了利用Python中的mock库对Python代码进行模拟测试,mock库自从Python3.3依赖成为了Python的内置库,本文也等于介绍了该库的用法,需要的朋友可以参考下 ...
- 转 C#实现PID控制的模拟测试和曲线绘图
C#实现PID控制的模拟测试和曲线绘图 本文分两部分,一部分是讲PID算法的实现,另一部分是讲如何用动态的曲线绘制出PID运算的结果. 首先,PID算法的理论模型请参考自动控制理论,最早出现的是模 ...
- Mockito:一个强大的用于Java开发的模拟测试框架
https://blog.csdn.net/zhoudaxia/article/details/33056093 介绍 本文将介绍模拟测试框架Mockito的一些基础概念, 介绍该框架的优点,讲解应用 ...
随机推荐
- CCNA 之 一 网络基础
计算机概念 很早期的计算机是一个庞然大物,可能都有几层楼那么高,随着技术的发展.更新,体型就变得越来越小,也越来越普及. 这个时候计算机与计算机之间就需要数据交流和信息的共享,早期是美国那边主要用于大 ...
- JAVA模拟Spring实现IoC过程(附源码)
前言:本人大四学生,第一次写博客,如果有写得不好的地方,请大家多多指正 一.IoC(Inversion of Control)反转控制 传统开发都是需要对象就new,但这样做有几个问题: 效率低下,创 ...
- pthread_cond_timedwait
该函数用于在同时等待条件变量时提供超时功能,不过该函数的超时时间是一个绝对时间.默认使用系统时间,这意味这,若修改系统时间,那么超时就不准确,有可能提前返回,也可能要几年才返回.这在某些需求下会导致b ...
- 使用git、git-flow与gitlab工作
使用git.git-flow与gitlab工作 1. 摘要 在工作中使用git代替svn也有一段时间了,对于git的一些特性喜爱的同时也一直遇到相同的问题:“这时候应该打什么命令?”.相对于svn或者 ...
- 上传.cgi在252板子上跑
1.windows下写好.c程序 2.进入linux,准备交叉编译 arm-hisiv600-linux-gcc -g -Wall -o xxx.cgi xxx.c(交叉编译工具取决于板子) 3.把. ...
- Java中的关键字--volatile
volatile关键字经常用来修饰变量.不过,volatile本身很容易被误用.本篇就介绍一下volatile的原理和使用方式. 在介绍volatile关键字原理前,我们首先要了解JVM运行时的内存分 ...
- django post get
GET请求和POST请求 GET请求: 1. 浏览器请求一个页面 2. 搜索引擎检索关键字的时候 POST请求: 1. 浏览器向服务端提交数据,比如登录/注册等 判断提交方式: if request. ...
- Django组件——用户认证
用户认证 一.auth模块 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: 1 .authentica ...
- JS基础入门篇(三十四)— 面向对象(一)
1.对象 对象的定义 : 对象 是 由 键值对 组成的无序集合. 创建对象两种方法 : 方法一 : 字面量方法 var obj = {name: "k"}; 方法二 : new O ...
- 7.使用dom4j实现增删改查
1.导入dim4j提供的jar包 (1)dom4j,是一个组织,针对xml解析,提供解析器dom4j (2)dom4j不是javase的一部分(jaxp是的) (3)使用dom4j步骤 - 下载并导入 ...