博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CF15E Triangles
阅读量:6693 次
发布时间:2019-06-25

本文共 835 字,大约阅读时间需要 2 分钟。

思路

有四种方法,L,R,L->R,只走上面的小三角形

然后组合方案数\(2f^2+8f+10\)
然后求f,递推一下就好啦(其实是太麻烦了)
时间和空间复杂度都是\(O(n)\)

代码

#include 
#include
#include
#define int long longusing namespace std;const int MOD = 1000000009;int n,f[1000100],g[1000100],times=1;int t(int x){ if(x%2) return x/2; return 0;}signed main(){ scanf("%lld",&n); f[0]=0; f[1]=2; g[1]=4; for(int i=2;i<=n;i++){ g[i]=(1LL*g[i-1]*2+4)%MOD; // printf("g[%d]=%d\n",i,g[i]); } for(int i=2;i<=n-2;i++){ f[i]=1LL*(2*times%MOD+f[i-1]+2LL*g[t(i)]*times%MOD)%MOD; if(i%2) times=1LL*times*(g[t(i)]+1)%MOD; // printf("f[%d]=%d\n",i,f[i]); } printf("%lld\n",(1LL*2*f[n-2]*f[n-2]%MOD+1LL*8*f[n-2]%MOD+10)%MOD); return 0;}

转载于:https://www.cnblogs.com/dreagonm/p/10910510.html

你可能感兴趣的文章
推荐引擎
查看>>
Mac版:上传图片到远程图床哪家强?
查看>>
Android学习系列-----2 Activity的生命周期与启动模式
查看>>
前端真的能做到彻底权限控制吗?
查看>>
EdgeX Foundry边缘计算框架-核心服务层
查看>>
LVM动态扩展
查看>>
MongoDB副本集搭建
查看>>
JS数组交集 并集 差集
查看>>
webpack中打包后端模板的思路
查看>>
腾讯前端求职直播课——简历篇
查看>>
【译】JS基础算法脚本:查找字符串中最长的子字符
查看>>
项目 - 收藏集 - 掘金
查看>>
从零开始用 Flask 搭建一个网站(二)
查看>>
js中的for in和for each in的用法和区别
查看>>
夏日葵电商:微信商城初步搭建,如何提高产品转化率
查看>>
利用vue-cli配合vue-router搭建一个完整的spa流程(一)
查看>>
Microsoft推出适用于Win 8.1和Win10的KB 4010250 Flash Player更新
查看>>
JS的内置对象系列:Array(一)
查看>>
微软宣布开源WPF、WinForms和WinUI
查看>>
携程对AIOps场景和算法的探索与实践
查看>>