Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >POJ3734 Blocks(生成函数)

POJ3734 Blocks(生成函数)

作者头像
attack
发布于 2019-03-19 02:57:17
发布于 2019-03-19 02:57:17
50600
代码可运行
举报
运行总次数:0
代码可运行

题意

链接

长度为\(n\)的序列,用红黄蓝绿染色,其中红黄只能是偶数,问方案数

Sol

生成函数入门题

任意的是\(e^x\),偶数的是\(\frac{e^x + e^{-x}}{2}\)

最后化完是\(\frac{e^{4x} + 2e^{2x}+1}{4} = \frac{4^n+2 * 2^{n+1}}{4}\)(\(\frac{1}{4}\))相当于常数项

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include<iostream>
#include<cstdio>
using namespace std;
const int mod = 10007;
int fp(int a, int p) {
    int base = 1;
    while(p) {
        if(p & 1) base = 1ll * base * a % mod;
        a = 1ll * a * a % mod; p >>= 1;
    }
    return base;
}
void solve() {
    int n; cin >> n;
    cout << 1ll * (fp(4, n) + 2ll * fp(2, n) % mod) % mod * fp(4, mod - 2) % mod << '\n';
}
int main() {
    int T; cin >> T;
    for(; T--; solve());
    return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-03-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
清北集训Day6T1(生成函数)
听rqy说可以用生成函数做,感觉比较有意思 我们考虑在DP转移的时候, $5,7,9$这三个数是没有限制的 因此他们出现的次数用01串表示的话就是$1111111111111111......$ $3,5$这两个数只能出现偶数次且必须出现 因此他们出现的次数用01串表示的话是$0010101010101010101....$ 因为是组合计数问题,我们考虑用指数型生成函数来搞 对于第一个肯定就是$e^x$ 对于第二个,我们首先用$\frac{e^x+e^{-x}}{2}$构造出$1010101010...
attack
2018/04/10
5730
清北集训Day6T1(生成函数)
BZOJ3122: [Sdoi2013]随机数生成器(BSGS)
直接把\(X_{i+1} = (aX_i + b) \pmod P\)展开,推到最后会得到这么个玩意儿
attack
2019/03/29
7660
POJ3233Matrix Power Series(矩阵快速幂)
给出$n \times n$的矩阵$A$,求$\sum_{i = 1}^k A^i $,每个元素对$m$取模
attack
2018/09/30
3420
洛谷P4561 [JXOI2018]排序问题(二分 期望)
一次排好的概率是个数数题,他等于一次排好的方案除以总方案,也就是\(\frac{\prod cnt_{a_i}!}{(n+m)!}\)。因为最终的序列是一定的,两个序列不同当且仅当权值相同的数排列方式不同。
attack
2019/03/11
3710
SDOI 2018二轮题解(除Day2T1)
然鹅学了不到一个月文化课再回来看OI的东西有一种恍如隔世的感觉,烤前感觉也没啥可复习的,就补一补去年二轮的题吧。
attack
2019/05/14
5280
BZOJ1485: [HNOI2009]有趣的数列(Catalan数,质因数分解求组合数)
考虑到每个数的最小的质因数$ \geqslant 2$,因此极限复杂度为$O(n log n)$
attack
2018/09/17
7600
cf1097D. Makoto and a Blackboard(期望dp)
首先考虑当\(n = p^x\),其中\(p\)是质数,显然它的因子只有\(1, p, p^2, \dots p^x\)(最多logn个)
attack
2019/01/30
3490
Edu Codeforces Round 115 (Div. 2)
给你 n 个数,让你删去两个数,使得删去前后平均值不变,问你最多有多少种选择方式(值相同的不同数字算不同的方案)。
Here_SDUT
2022/09/19
1.5K0
Edu Codeforces Round 115 (Div. 2)
LOJ#2552. 「CTSC2018」假面(期望 背包)
转移的时候若要淦这个人,那么\(f[i][j] = (f[i - 1][j] + 1) * p + (f[i - 1][j]) * (1 - p)\)
attack
2018/11/20
5290
agc023C - Painting Machines(组合数)
有\(n\)个位置,每次你需要以\(1 \sim n-1\)的一个排列的顺序去染每一个颜色,第\(i\)个数可以把\(i\)和\(i+1\)位置染成黑色。一个排列的价值为最早把所有位置都染成黑色的次数。问所有排列的分数之和
attack
2019/03/06
4080
牛客集训派对day3
题目描述 有一张无限大的棋盘,你要将马从(0,0)移到(n,m)。 每一步中,如果马在(x,y),你可以将它移动到(x+1,y+2),(x+1,y-2),(x-1,y+2),(x-1,y-2),(x+2,y+1),(x+2,y-1),(x-2,y+1)或(x-2,y-1)。 你需要最小化移动步数。
xiaohejun
2020/02/18
3910
洛谷P4104 [HEOI2014]平衡(dp 组合数学)
可以把题目转化为从\([1, 2n + 1]\)中选\(k\)个数,使其和为\((n+1)k\)。
attack
2019/03/11
2700
cf997C. Sky Full of Stars(组合数 容斥)
\(n \times n\)的网格,用三种颜色染色,问最后有一行/一列全都为同一种颜色的方案数
attack
2019/03/15
3570
小学生都能看懂的生成函数入门教程
现在网上讲生成函数的教程大多都是从 开始,但是我不认为这样有助于大家理解生成函数的本质。我最开始学的时候也是在这里蒙了好久,直到看到了朱全民老师的课件,才真正的理解了生成函数的本质——处理排列组合问题的有利工具,而不是简单的\(\frac{1}{1-x}\)的指标代换。所以这篇文章,我打算从最基本的排列组合问题写起,最后慢慢扩展到 。内容会比较基础,高端玩家可以直接看鏼爷的集训队论文
attack
2019/03/19
1.6K0
小学生都能看懂的生成函数入门教程
2018年湘潭大学程序设计竞赛G又见斐波那契(矩阵快速幂)
\begin{equation*} \begin{bmatrix} 1&1&1&1&1&1\\ 1 & 0&0&0&0&0\\ 0 & 0&1&3&3&1\\ 0 & 0&0&1&2&1\\ 0 & 0&0&0&1&1\\ 0 & 0&0&0&0&1\\ \end{bmatrix}^{i - 1}* \begin{bmatrix} F_{1}\\ F_0\\ 1\\ 1\\ 1\\ 1 \end{bmatrix}= \begin{bmatrix} 1&1&1&1&1&1\\ 1 & 0&0&0&0&0\\ 0 & 0&1&3&3&1\\ 0 & 0&0&1&2&1\\ 0 & 0&0&0&1&1\\ 0 & 0&0&0&0&1\\ \end{bmatrix}* \begin{bmatrix} F_{i - 1}\\ F_{i - 2}\\ i^3\\ i^2\\ i\\ 1 \end{bmatrix}= \begin{bmatrix} F_{i}\\ F_{i - 1}\\ (i + 1)^3\\ (i + 1)^2\\ i + 1\\ 1 \end{bmatrix} \end{equation*}
attack
2018/09/17
3060
2018年湘潭大学程序设计竞赛G又见斐波那契(矩阵快速幂)
BZOJ3329: Xorequ(二进制数位dp 矩阵快速幂)
第二问比较interesting,设\(f[i]\)表示二进制为\(i\)的方案数,转移时考虑上一位选不选
attack
2018/10/08
5670
cf932E. Team Work(第二类斯特灵数 组合数)
$$m^n = \sum_{i = 0}^m C_{n}^i S(n, i) i!$$
attack
2018/09/30
3970
牛客练习赛32
构造一个01串.满足最低位和最高位是1.是回文串.长度是$max(v,k)$.v,k都是偶数.求01串转换成10进制最小.
xiaohejun
2020/02/18
3080
快速阶乘算法
求: n ! mod p \large n! \text{ mod } p n! mod p 时间复杂度: Θ ( n log ⁡ n ) \Theta(\sqrt n \log n) Θ(n ​logn)
全栈程序员站长
2022/09/15
3600
HDU 2256Problem of Precision(矩阵快速幂)
求$(\sqrt{2} + \sqrt{3})^{2n} \pmod {1024}$
attack
2018/09/17
3890
相关推荐
清北集训Day6T1(生成函数)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验