【BZOJ3142】[HNOI2013]数列(组合计数)
【BZOJ3142】[HNOI2013]数列(组合计数)
题面
题解
唯一考虑的就是把一段值给分配给\(k-1\)天,假设这\(k-1\)天分配好了,第\(i\)天是\(a_i\),假设\(Sum=\sum a_i\)。那么这一种分配方案的贡献就是\(n-Sum\)。
而分配方式一共有\(m^{k-1}\)种,所以先把\(n\)个提出来,得到\(n*m^{k-1}\)再减去一堆东西。减去是的啥呢?所有合法方案的\(a_i\)的和。
那么考虑一个位置为某个特定值的贡献就好了。
也就是\((k-1)\frac{m(m+1)}{2}*m^{k-2}\)
直接快速幂就做完了。
#include<iostream>
using namespace std;
int k,m,P;long long n;
int fpow(int a,int b){int s=1;while(b){if(b&1)s=1ll*s*a%P;a=1ll*a*a%P;b>>=1;}return s;}
int main()
{
cin>>n>>k>>m>>P;
cout<<((n%P)*fpow(m,k-1)%P-(1ll*m*(m+1)/2)%P*(k-1)%P*fpow(m,k-2)%P+P)%P<<endl;
return 0;
}
【BZOJ3142】[HNOI2013]数列(组合计数)的更多相关文章
- bzoj3142[Hnoi2013]数列 组合
Description 小 T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨.股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为N.在疯涨的K天中小T观察 到:除第一天外每天的股价都 ...
- [BZOJ3142][HNOI2013]数列(组合数学)
3142: [Hnoi2013]数列 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 1721 Solved: 854[Submit][Status][ ...
- [BZOJ3142][HNOI2013]数列(组合)
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3142 分析: 考虑差值序列a1,a2,...,ak-1 那么对于一个确定的差值序列,对 ...
- BZOJ3142 [Hnoi2013]数列
Description 小 T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨.股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为N.在疯涨的K天中小T观察 到:除第一天外每天的股价都 ...
- bzoj千题计划293:bzoj3142: [Hnoi2013]数列
http://www.lydsy.com/JudgeOnline/problem.php?id=3142 如果已知数列的差分数列a[1]~a[k-1] 那么这种差分方式对答案的贡献为 N-Σ a[i] ...
- BZOJ3142 HNOI2013数列(组合数学)
考虑差分序列.每个差分序列的贡献是n-差分序列的和,即枚举首项.将式子拆开即可得到n*mk-1-Σi*cnt(i),cnt(i)为i在所有差分序列中的出现次数之和.显然每一个数出现次数是相同的,所以c ...
- BZOJ3142 [Hnoi2013]数列 【组合数学】
题目链接 BZOJ3142 题解 题意:选一个正整数和\(K - 1\)个\([1,M]\)中的数,使得总和小于等于\(N\),求方案数模\(P\) 题目中\(K(M - 1) < N\)的限制 ...
- 【BZOJ3142】[HNOI2013]数列
[BZOJ3142][HNOI2013]数列 题面 洛谷 bzoj 题解 设第\(i\)天的股价为\(a_i\),记差分数组\(c_i=a_{i+1}-a_i\) 则 \[ Ans=\sum_{c_1 ...
- [总结]数论和组合计数类数学相关(定理&证明&板子)
0 写在前面 0.0 前言 由于我太菜了,导致一些东西一学就忘,特开此文来记录下最让我头痛的数学相关问题. 一些引用的文字都注释了原文链接,若侵犯了您的权益,敬请告知:若文章中出现错误,也烦请告知. ...
随机推荐
- redis的应用场景 为什么用redis
一.不是万能的菲关系系数据库redis 在面试的时候,常被问比较下Redis与Memcache的优缺点,个人觉得这二者并不适合一起比较,redis:是非关系型数据库不仅可以做缓存还能干其它事情,Mem ...
- 网站数据分析&初始来源
数据分析:如何追踪访客初始来源_搜索学院_百度搜索资源平台 https://ziyuan.baidu.com/college/articleinfo?id=260 网站数据分析:如何追踪访客初始来源 ...
- css横线中间放图片或者文字
效果图: 先贴代码 HTML: <div class="forshow middle"> <div class="flex"></ ...
- java设计模式:面向对象设计的7个原则
在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据7条原则来开发程序,从而提高软件开发效率,节约软件开发成本和维护成本. 这7条原则分别是:开闭原则.里氏 ...
- angularjs4+ionic3集成搭建
1:安装一下cnpm用淘宝镜像安装npm install -g cnpm --registry=https://registry.npm.taobao.org 2:使用 cnpm命令安装(全局安装 A ...
- Eclipse在写java时的BUG
要把这个关掉
- day 7-8 协程
不能无限的开进程,不能无限的开线程最常用的就是开进程池,开线程池.其中回调函数非常重要回调函数其实可以作为一种编程思想,谁好了谁就去调 只要你用并发,就会有锁的问题,但是你不能一直去自己加锁吧那么我们 ...
- java.io.FileNotFoundException关于使用Intellij Idea时系统找不到指定文件的解决方案
第一种:Intellij Idea 这个智障编辑器 在用的时候 是你在这个web目录下的空文件夹他是不给你部署的 解决在空文件夹下面随便放个文件夹就行了 第二种:也是最笨的方法,但是有前提条件就是 你 ...
- sqlmap-学习1 配置环境
sqlmap是一款非常强大的开源sql自动化注入工具,可以用来检测和利用sql注入漏洞.它由python语言开发而成,因此运行需要安装python环境 1 安装 python (https://www ...
- QTP 自动化测试桌面程序--笔记(关闭 启动程序脚本) 、安装
0 安装qtp .exe 文件 安装 插件文件(如delph) 1 关闭 启动程序: 将要操作的程序-存入localdatatable中 设置 迭代一次 rem SystemUtil.ClosePro ...