Luogu P3228 HNOI2013 数列 组合数学】的更多相关文章

题面 看了题解的推导发现其实并不复杂,但是如果你想要用多项式或者组合数求解的话,就GG了 其实如果把式子列出来的话,不需要怎么推导就能算出来,关键是要想到这个巧妙的式子. 设\(b_i=a_{i+1}-a_{i}(1\leq i\leq k-1)\) 答案就是 \[\sum_{b_1=1}^{m}\sum_{b_2=1}^{m}...\sum_{b_{k-1}=1}^{m}(n-\sum_{i=1}^{k-1}b_i)\] \[nm^{k-1}-\sum_{i=1}^{k-1}\sum_{b_1…
洛谷题目链接:[HNOI2013]数列 题目描述 小T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨.股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为N.在疯涨的K天中小T观察到:除第一天外每天的股价都比前一天高,且高出的价格(即当天的股价与前一天的股价之差)不会超过M,M为正整数.并且这些参数满足M(K-1)<N.小T忘记了这K天每天的具体股价了,他现在想知道这K天的股价有多少种可能 输入输出格式 输入格式: 只有一行用空格隔开的四个数:N.K.M.P.对P的说明参见后面&qu…
3142: [Hnoi2013]数列 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 1721  Solved: 854[Submit][Status][Discuss] Description 小 T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨.股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为N.在疯涨的K天中小T观察 到:除第一天外每天的股价都比前一天高,且高出的价格(即当天的股价与前一天的股价之差)不会超过M,M为正整数.…
[BZOJ3142][HNOI2013]数列(组合计数) 题面 BZOJ 洛谷 题解 唯一考虑的就是把一段值给分配给\(k-1\)天,假设这\(k-1\)天分配好了,第\(i\)天是\(a_i\),假设\(Sum=\sum a_i\).那么这一种分配方案的贡献就是\(n-Sum\). 而分配方式一共有\(m^{k-1}\)种,所以先把\(n\)个提出来,得到\(n*m^{k-1}\)再减去一堆东西.减去是的啥呢?所有合法方案的\(a_i\)的和. 那么考虑一个位置为某个特定值的贡献就好了. 也就…
[BZOJ3142][HNOI2013]数列 题面 洛谷 bzoj 题解 设第\(i\)天的股价为\(a_i\),记差分数组\(c_i=a_{i+1}-a_i\) 则 \[ Ans=\sum_{c_1=1}^M\sum_{c_2=1}^M\sum_{c_3=1}^M...\sum_{c_{k-1}=1}^M(N-\sum_{i=1}^{k-1}c_i)\\ =N*M^{k-1}-\sum_{c_1=1}^M\sum_{c_2=1}^M\sum_{c_3=1}^M...\sum_{c_{k-1}=…
考虑差分序列.每个差分序列的贡献是n-差分序列的和,即枚举首项.将式子拆开即可得到n*mk-1-Σi*cnt(i),cnt(i)为i在所有差分序列中的出现次数之和.显然每一个数出现次数是相同的,所以cnt(i)即等于(k-1)*mk-2.于是就很好算了. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include&…
题目链接 BZOJ3142 题解 题意:选一个正整数和\(K - 1\)个\([1,M]\)中的数,使得总和小于等于\(N\),求方案数模\(P\) 题目中\(K(M - 1) < N\)的限制意味着,除了第一个数外,别的数可以随便选,然后第一个数就限制在\(N - \sum a_i\)之间 所以方案数为 \[\sum\limits_{a_1 = 1}^{M} \sum\limits_{a_2 = 1}^{M} \sum\limits_{a_3 = 1}^{M} \dots \sum\limit…
Description 小 T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨.股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为N.在疯涨的K天中小T观察 到:除第一天外每天的股价都比前一天高,且高出的价格(即当天的股价与前一天的股价之差)不会超过M,M为正整数.并且这些参数满足M(K- 1)<N. 小T忘记了这K天每天的具体股价了,他现在想知道这K天的股价有多少种可能 Input 只有一行用空格隔开的四个数:N.K.M.P.对P的说明参见后面“输出格式”中对P的解释. 输入保…
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1500 题目链接:https://www.luogu.org/problemnew/show/P2042 Description 请写一个程序,要求维护一个数列,支持以下 6 种操作: 请注意,格式栏 中的下划线‘ _ ’表示实际输入文件中的空格 Input 输入的第1 行包含两个数N 和M(M ≤20 000),N 表示初始时数列中数的个数,M表示要进行的操作数目. 第2行包含N个数字…
数列编辑器,在线IDE 本期的主题是洛谷的在线IDE 小学生?!小学生虐我…
题目描述 Description 小T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨. 股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为N.在疯涨的K天中小T观察到:除第一天外每天的股价都比前一天高,且高出的价格(即当天的股价与前一天的股价之差)不会超过M,M为正整数.并且这些参数满足M(K-1) 小T忘记了这K天每天的具体股价了,他现在想知道这K天的股价有多少种可能.输入描述 Input Description输入文件只有一行用空格隔开的四个数:N.K.M.P.对P的说明参…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3142 12年也有一个组合数学...(这几年的画风啊.... 考虑直接去做:DP? DP+容斥? ....NAIVE! 设${a[i]}$表示第${i}$和第${i-1}$天股价差值. 那么对于任意一个可能$a$数组,它对答案的贡献为:${n-\sum a[i]}$ ${ANS=数组A的个数*n-\sum a[i]}$ 考虑这样的$a$数组可能有多少个?应该是:${m^{k-1}}$个,这…
http://www.lydsy.com/JudgeOnline/problem.php?id=3142 如果已知数列的差分数列a[1]~a[k-1] 那么这种差分方式对答案的贡献为 N-Σ a[i],i∈[1,k-1] 差分数列一共有多少种? M^(k-1) 种 所以ans=Σ  (N-Σa[i]) = M^(k-1) * N - Σ Σ a[i] = M^(k-1) *N-(k-1)*M^(k-1) /M * (M+1)*M/2 后面是因为一共 M个数 出现(k-1)*M^(k-1) 次,每…
题目描述 将1到n任意排列,然后在排列的每两个数之间根据他们的大小关系插入">"和"<".问在所有排列中,有多少个排列恰好有k个"<".答案对2015取模. 注:1~n的排列指的是1~n这n个数各出现且仅出现一次的数列. 输入格式 第一行2个整数n,k. 输出格式 一个整数表示答案. 我们考虑现在我们已经有了n−1个数的排列,再插入nnn使其变成nnn个数的排列 显然,n有n个位置可以选择,我们先来考虑两边的位置. 如果插入到最…
题目链接: (bzoj) https://www.lydsy.com/JudgeOnline/problem.php?id=3143 (luogu) https://www.luogu.org/problemnew/show/P3232 题解: 水题.考虑如何求每个点的期望经过次数: 要求\(1\)号点开始\(n\)号点结束,那么\(1\)号点一定一上来就会经过一次,\(n\)号点一共只会经过\(1\)次.因此对于\(1\)到\(n-1\)的每一个点可以列出一个方程,其中\(1\)号点的方程是\…
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3142 分析: 考虑差值序列a1,a2,...,ak-1 那么对于一个确定的差值序列,对答案的贡献是n-a1-a2-...-ak-1 所以然后只要考虑所有确定的差值序列的和就行了. 差值序列的总的种类数一共有m^(k-1)种 对于a1,一共出现了m^(k-2)次,而a1的取值是1~m 所以对于a1来说总和就是(1+2+...+m)*m^(k-2) a2,a3,...,ak-1同理 于是…
Description 小T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨.股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为N.在疯涨的K天中小T观察到:除第一天外每天的股价都比前一天高,且高出的价格(即当天的股价与前一天的股价之差)不会超过M,M为正整数.并且这些参数满足M(K-1)<N.小T忘记了这K天每天的具体股价了,他现在想知道这K天的股价有多少种可能 Input 只有一行用空格隔开的四个数:N.K.M.P.对P的说明参见后面"输出格式"中对P的解释.…
这题好没意思啊,怀疑拉不开区分度. 题意:求一个递增序列,每两个相邻数字之间的差值不超过m,最后一个值不能大于n. 分析:网上好多人用了差分,我没想到.然后YY了一发生成函数. 考虑构造生成函数G(x) = x+x2+...+xm. 我们的目标是求这个G(k-1)(x)的很多个前缀和. 具体来说是求什么呢? 这题的重点其实在于一个注意不到的细节:(k-1)*m<n. 这意味着,当第一项为1时,所有的答案一定被满足. 也就是说,当第一项为1时,对应的答案是G(k-1)(x)的所有项数之和. 实际上…
题目描述 小T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨.股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为N.在疯涨的K天中小T观察到:除第一天外每天的股价都比前一天高,且高出的价格(即当天的股价与前一天的股价之差)不会超过M,M为正整数.并且这些参数满足M(K-1)<N.小T忘记了这K天每天的具体股价了,他现在想知道这K天的股价有多少种可能 输入输出格式 输入格式: 只有一行用空格隔开的四个数:N.K.M.P.对P的说明参见后面”输出格式“中对P的解释.输入保证20%的…
首先推荐一个写的很好的题解,个人水平有限只能写流水账,还请见谅. 经典的最小割模型,很多人都说这个题是水题,但我还是被卡了=_= 技巧:加边表示限制 在没有距离\(<=d\)的限制时候,我们对每个竖轴连一条完整的边跑最小割即可(效果和取\(min\)是一样的).但是现在需要加入这个限制,我们就要考虑加边. 原条件:\(|x - y| <= d\) 转化为:\(x - y <= d\) 且 \(y - x <= d\) 我们考虑对每一个不等式单独处理,实际上可以转化为: 对于每一个\…
Solution 首先要找到使得最后一个数最小, 只需定义一个数组$pre[i]$ 从区间$[pre[i], i]$表示的数, 是最小的能使前面的数递增的方案. $[ pre[n], n]$即为最小的最后一个数. 接着我们依据这找出的最后一个数, 向前dp, 找出使得每个数都最大的方案. 前导0是非常坑的 我觉得我也不怎么懂这道dp, 看得有点懵TAT Code #include<cstdio> #include<cstring> #include<algorithm>…
%%ZZKdalao上课讲的题目,才知道网络流的这种玄学建模 我们先想一想,如果没有D的限制,那么想当于再每一根纵轴上选一个权值最小的点再加起来 我们对应在网络流上就是每一根纵轴上的点向它下方的点用权值当边值进行连边,然后要割掉一些边,代价最小就是求最小割 然后我们考虑限制,就是如果割了某一根数轴上高度为x的点,那么所有与它相邻的纵轴都只能割高度为[x-d,x+d]的点 这个时候我们就要知道一个常用技巧:在求最小割时,我们可以把那些无法割去的边边权设为INF 因此我们在建边时,由纵轴上一度为x的…
题目描述 求满足 $1\le a_i\le n\ ,\ 1\le a_{i+1}-a_i\le m$ 的序列 $a_1...a_k$ 的个数模 $p$ 的值. 输入 只有一行用空格隔开的四个数:N.K.M.P.对P的说明参见后面“输出格式”中对P的解释.输入保证20%的数据M,N,K,P≤20000,保证100%的数据M,K,P≤109,N≤1018 . 输出 仅包含一个数,表示这K天的股价的可能种数对于P的模值. 样例输入 7 3 2 997 样例输出 16 题解 数学 设第 $i$ 天与第…
Description 小 T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨.股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为N.在疯涨的K天中小T观察 到:除第一天外每天的股价都比前一天高,且高出的价格(即当天的股价与前一天的股价之差)不会超过M,M为正整数.并且这些参数满足M(K- 1)<N.小T忘记了这K天每天的具体股价了,他现在想知道这K天的股价有多少种可能 Input 只有一行用空格隔开的四个数:N.K.M.P.对P的说明参见后面“输出格式”中对P的解释.输入保证2…
传送门 Solution 卡特兰数 排队问题的简单变化 答案为\(C_{2n}^n \pmod p\) 由于没有逆元,只好用分解质因数,易证可以整除 Code //By Menteur_Hxy #include <ctime> #include <cmath> #include <cstdio> #include <cstdlib> #include <cstring> #include <iostream> #include <…
解题思路 比较简单的题,用二项式定理即可. #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<cmath> using namespace std; ; ; typedef long long LL; inline int rd(){ ,f=;char ch=getchar(); :;ch=getchar();} )+(x<<…
LINK:游戏 当L==1的时候 容易想到 答案和1的位置有关. 枚举1的位置 那么剩下的方案为(R-1)! 那么总答案为 (R+1)*R/2(R-1)! 考虑L==2的时候 对于一个排列什么时候会终止 容易发现是L~R中所有的质数 在这个排列中的最后一个位置的影响. 还是枚举这个质数的位置i 此时方案数为 C(i-1,s-1)s!(n-s)! 其中s为L~R之中所有的质数个数. 对于L>2 还是考虑先计算出s的个数 刚才是使用了线性筛 此时考虑 质数不能用了 那么可以考虑每个数是否为必要的数.…
(总计:共90题) 3.10~3.16:17题 3.17~3.23:6题 3.24~3.30:17题 3.31~4.6:21题 4.7~4.12:29题 ZJOI&&FJOI(6题) TJOI2016(6题) 六省联考2017(6题) SDOI2016(3题) HNOI2013(6题) CQOI2017(3题) 九省联考2018(3题) 3.10 [BZOJ4552][TJOI2016&&HEOI2016]排序(二分答案+线段树) [BZOJ4012][HNOI2015]开…
尝试用Markdown写一篇博客 3142: [Hnoi2013]数列 Description 小T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨.股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为N.在疯涨的K天中小T观察到:除第一天外每天的股价都比前一天高,且高出的价格(即当天的股价与前一天的股价之差)不会超过M,M为正整数.并且这些参数满足M(K-1)<N. 小T忘记了这K天每天的具体股价了,他现在想知道这K天的股价有多少种可能. Input 只有一行用空格隔开的四个数:…
代码在最后 [HNOI2013]比赛 记忆化搜索 把每一位还需要多少分用\(27\)进制压进\(long\) \(long\),\(map\)记忆化一下即可 [HNOI2013]消毒 先考虑在二维平面 问题就是最小点覆盖 最小点覆盖 = 二分图最大匹配 对于每个点\((x,y)\),\(x\)连向\(y\)一条边,然后跑最大匹配 扩展到三维 好像不太好搞.... \(a*b*c<=5000\) 我们把\(a\)调换成\(min(a, b, c)\) \(a\)最大为\(\sqrt[3]{5000…