P2012 拯救世界2

三种基因,我们分别列出其生成函数:
F(x)=∑n≥0xnn!=exG(x)=∑n≥0x2n+1(2n+1)!=12(∑n≥0xnn!−∑n≥0(−1)nxnn!)=12(ex−e−x)H(x)=∑n≥0x2n(2n)!=12(∑n≥0xnn!+∑n≥0(−1)nxnn!)=12(ex+e−x)F(x) = \sum_{n \geq 0} \frac{x ^ n}{n!} = e ^ x\\ G(x) = \sum_{n \geq 0} \frac{x ^{2n + 1}}{(2n + 1)!} = \frac{1}{2}\left(\sum_{n \geq 0} \frac{x ^ n}{n!} - \sum_{n \geq 0} (-1) ^ n \frac{x ^ n}{n !} \right) = \frac{1}{2} \left(e ^ x - e ^ {-x}\right)\\ H(x) = \sum_{n \geq 0} \frac{x ^{2n}}{(2n)!} = \frac{1}{2}\left(\sum_{n \geq 0} \frac{x ^ n}{n!} + \sum_{n \geq 0} (-1) ^ n \frac{x ^ n}{n !} \right) = \frac{1}{2}\left(e ^ x + e ^{-x}\right)\\ F(x)=n≥0∑​n!xn​=exG(x)=n≥0∑​(2n+1)!x2n+1​=21​(n≥0∑​n!xn​−n≥0∑​(−1)nn!xn​)=21​(ex−e−x)H(x)=n≥0∑​(2n)!x2n​=21​(n≥0∑​n!xn​+n≥0∑​(−1)nn!xn​)=21​(ex+e−x)

A(x)=(F(x)G(x)H(x))4=1256(e12x−4e8x+64x+e−4x−4)对上面进行泰勒展开得到第n项的系数再乘上n!就是答案了ans[n]=1256(12n−4×8n+6×4n+(−4)n)A(x) = \left(F(x)G(x)H(x)\right) ^ 4 = \frac{1}{256}\left(e ^{12x} - 4e^{8x} + 6^{4x} + e ^{-4x} - 4\right) \\ 对上面进行泰勒展开得到第n项的系数再乘上n!就是答案了\\ ans[n] = \frac{1}{256}\left(12 ^ n - 4 \times 8 ^ n + 6 \times 4 ^n + (-4) ^ n\right)\\ A(x)=(F(x)G(x)H(x))4=2561​(e12x−4e8x+64x+e−4x−4)对上面进行泰勒展开得到第n项的系数再乘上n!就是答案了ans[n]=2561​(12n−4×8n+6×4n+(−4)n)

#include <bits/stdc++.h>using namespace std;const int mod = 1e9, phi = 1e8;int quick_pow(int a, int n) {int ans = 1;while (n) {if (n & 1) {ans = 1ll * ans * a % mod;}a = 1ll * a * a % mod;n >>= 1;}return ans;
}int main() {// freopen("in.txt", "r", stdin);// freopen("out.txt", "w", stdout);// ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);long long n;while (scanf("%lld", &n) && n) {if (n < 4) {puts("0");}else if (n < phi) {printf("%lld\n", (1ll * 81 * quick_pow(12, n - 4) % mod - quick_pow(8, n - 2) + 1ll *  6 * quick_pow(4, n - 4) + quick_pow(-4, n - 4) + mod) % mod);}else {int ans = 1ll * 81 * quick_pow(12, (n - 4) % phi + phi) % mod;ans = (ans - quick_pow(8, (n - 2) % phi + phi) + mod) % mod;ans = (ans + 1ll * 6 * quick_pow(4, (n - 4) % phi + phi) % mod) % mod;int res = quick_pow(4,(n - 4) % phi + phi);if((n - 4) & 1){ans = (ans - res + mod) % mod;}else {ans = (ans + res) % mod;}printf("%d\n", ans);}}return 0;
}

P2012 拯救世界2(指数型生成函数)相关推荐

  1. P2000 拯救世界

    P2000 拯救世界 题意: 为了拯救世界,小 a 和 uim 决定召唤出 kkksc03 大神和 lzn 大神.根据古籍记载,召唤出任何一位大神,都需要使用金木水火土五种五行神石来摆一个特定的大阵. ...

  2. 2019 ACM - ICPC 上海网络赛 E. Counting Sequences II (指数型生成函数)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  3. 用GPU拯救世界:英伟达斯坦福呼吁玩家捐献算力,投入新冠病毒相关蛋白质分布式计算...

    鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 作为一名普通的游戏玩家,除了注意防护.减少出行外,还能为新冠疫情做些什么? 英伟达呼吁:捐出你的 GPU/CPU 算力. 怎么个捐法? 通过 ...

  4. 你不是在拯救世界就是在拯救世界的路上

    你不是在拯救世界,就是在拯救世界的路上. 每一个后期上辈子都是折翼的天使,当你处于5楼或者10楼的时候,RD时你前面出现了四个折翼天使的时候,你就准备玩蛋去吧. 全场处于愤怒之中,四处追赶敌人并且屡次 ...

  5. 指数型生成函数[bzoj3456]城市规划

    前言 打完多项式板子后的第一题+清真的题意 题目相关 题目链接 题目大意 求nnn个点的简单(无重边无自环)无向连通图数目 输出模1004535809(479∗221+1)1004535809(479 ...

  6. [TJOI2019]唱、跳、rap和篮球(指数型生成函数+NTT+卷积)

    文章目录 题目 题解 code1(NTT) code2(EGF+卷积) 题目 大中锋的学院要组织学生参观博物馆,要求学生们在博物馆中排成一队进行参观.他的同学可以分为四类:一部分最喜欢唱.一部分最喜欢 ...

  7. 本能富可敌国,最后却选择拯救世界!Bram的Vim和乌干达儿童

    他本能富可敌国,最后却选择拯救世界 在命令行界面输入vim会出现一堆文件,但是一直有这么一句话 Help poor children in Uganda! "帮助可怜的乌干达儿童" ...

  8. 苹果阻止《堡垒之夜:拯救世界》Mac版更新

    9月19日消息,Epic<堡垒之夜>官方发布公告称,<堡垒之夜:拯救世界>将在安装Mac系统的平台上停止更新,并且为购买和游玩"Save The World" ...

  9. python是最美的语言阅读答案_《拯救世界上最美的语言》阅读答案

    拯救世界上最美的语言 ①在过去的一百年中,汉语和汉语写作饱经磨难.没有一种语言像中文那样,在这一百多年 来经历了如此重大的变革.从晚清效仿日本明治维新的"言文一致"运动开始,汉语经 ...

最新文章

  1. [转载] 让SciTE能够和IDE一样进行成员提示
  2. centos图形化桌面的文件在哪_Windows 远程连接 CentOS 7 图形化桌面
  3. Spring Data Pivotal Gemfire教程
  4. RedHat gcc编译器版本升级到4.8.2支持C++11标准
  5. c++ 高效解析url算法
  6. 计算机科学与技术python方向_专业解读丨计算机科学与技术
  7. OpenGL(5)——变换
  8. AMF序列化为对象和AMF序列化为二进制字节流
  9. Caffe学习:使用pycaffe定义网络
  10. 健康知识api根据健康知识ID查询详细信息
  11. 夏普Sharp MX-B6581D 一体机驱动
  12. 攻防世界Reverse-maze
  13. 汽车分类(奔驰G系列和奔驰c系列)
  14. 华为设备配置Easy IP 地址转换
  15. 10分钟教你生成超高逼格微信朋友圈
  16. #35-【刷题】乐乐的方块
  17. CSS3之太极图源代码
  18. 阿里巴巴开发规范--精选常用规范
  19. 优秀的 Node.js 包汇总
  20. 机器学习之期望最大化算法(Expectation Maximization, EM)

热门文章

  1. html的canvas标签用法,html5中关于canvas标签用法(绘图)
  2. 人类历史上最伟大的物理学家
  3. “爱因斯坦兄弟”事件轰动纽约时报!双胞胎乱写博士论文,整容后越黑越红,竟然名利双收..........
  4. sas数据导入终极汇总-之二
  5. python关联分析sklearn_Python3利用pandas,sklearn进行关联度分析以及预测的demo
  6. axure 组件_技巧分享 | Axure后台组件制作的全过程
  7. 自拟计算机作文100字,我的电脑作文100字五篇
  8. 5 thinkpad 黑将评测_王中林院士团队黑科技:80秒,将PM 2.5降至0!把森林氧吧搬回家!...
  9. element 方法返回的boolean被当成字符串了_13个需要知道的方法:使用 JavaScript 来操作 DOM...
  10. java os库_java-Mac OS X上的JNotify?