传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1002

这种题真是有毒,很多叼一点的都用matrix tree定理推出了递推公式,也有一些用好几维递推也可以解,然而我一个都看不懂。总结:下次遇到这种题就直接打表找规律,这是坠吼滴!

#include <cstdio>
#include <cstring> const int maxn = 105, mod = 10000; int n;
struct gao {
int data[100], wei;
gao(void) {
memset(data, 0, sizeof data);
wei = 0;
}
gao operator+(int aa) const {
gao rt;
rt.data[0] = aa;
for (int i = 0; i < wei; ++i) {
rt.data[i] += data[i];
if (rt.data[i] >= mod) {
rt.data[i] -= mod;
++rt.data[i + 1];
}
}
rt.wei = wei + (rt.data[wei]? 1: 0);
return rt;
}
gao operator-(const gao & rhs) const {
gao rt;
for (int i = 0; i < wei; ++i) {
rt.data[i] += data[i] - rhs.data[i];
if (rt.data[i] < 0) {
rt.data[i] += mod;
--rt.data[i + 1];
}
}
rt.wei = wei;
while (rt.wei > 0 && !rt.data[rt.wei - 1]) {
--rt.wei;
}
return rt;
}
gao operator*(int aa) const {
gao rt;
for (int i = 0; i < wei; ++i) {
rt.data[i] += data[i] * aa;
rt.data[i + 1] += rt.data[i] / mod;
rt.data[i] %= mod;
}
rt.wei = wei + (rt.data[wei]? 1: 0);
return rt;
}
void print(void) {
printf("%d", data[wei - 1]);
for (int i = wei - 2; i >= 0; --i) {
printf("%04d", data[i]);
}
}
} f[maxn]; int main(void) {
f[1].data[0] = 1;
f[1].wei = 1;
f[2].data[0] = 5;
f[2].wei = 1;
scanf("%d", &n);
for (int i = 3; i <= n; ++i) {
f[i] = f[i - 1] * 3 - f[i - 2] + 2;
}
f[n].print();
puts("");
return 0;
}

  

最新文章

  1. 【SAP业务模式】之ICS(七):IDOC配置
  2. Linux下Steam中支持中文的办法
  3. Appium for win7 环境搭建
  4. linux常识以及常用命令和参数
  5. .pch头文件的添加
  6. 傻瓜式理解递归之php递归
  7. VC维
  8. C语言中的数据类型
  9. 关于oracle数据库(5)增删改查
  10. ABAP 7.4 新语法-内嵌生命和内表操作
  11. Docker 核心技术之Dockerfile
  12. 基于TC做流量控制
  13. python基础(16)-进程&amp;线程&amp;协程
  14. 初涉Java方法
  15. 30个最常用的Linux系统命令行
  16. poj3278 【BFS】
  17. 轮播图(jQuery)
  18. httpclient httpclient使用连接池
  19. Jmeter通过BeanShell Sampler获取Jmeter的Bin路径,并存入变量供后面的脚本调用
  20. 七:MyBatis学习总结(七)——Mybatis缓存

热门文章

  1. [转]thrift系列 - 快速入门
  2. 【原创】PHP扩展开发入门
  3. ADO.NET(OleDb)读取Excel表格时的一个BUG
  4. Android lowmemorykiller
  5. [iOS]经常使用正則表達式
  6. Vi/Vim查找替换使用方法【转】
  7. makefile redefinition or previous definition
  8. 装饰器的初识,基于bootstrap的前端开发
  9. is id() == 从内存的最小化占用角度解释 我是孕育者,我也应该这样设计 变,必然伴随着加法 一个list是否可以执行set()
  10. YTU 2438: 三人三鬼