bzoj1089
题解:
递推
f[i]=f[i-1]^n+1
ans=f[d]-f[d-1]
代码:
#include<bits/stdc++.h>
using namespace std;
int n,m;
struct zz
{
int len,a[];
void init()
{
memset(a,,sizeof a);
len=;
}
void write()
{
printf("%d",a[len]);
for (int i=len-;i;i--)
{
if (a[i]<)putchar('');
if (a[i]<)putchar('');
if (a[i]<)putchar('');
printf("%d",a[i]);
}
}
}f[];
zz cf(zz x,zz y)
{
zz z;
z.init();
z.len=x.len+y.len-;
for (int i=;i<=x.len;i++)
for (int j=;j<=y.len;j++)
z.a[i+j-]+=x.a[i]*y.a[j];
for (int i=;i<=z.len;i++)
{
z.a[i+]+=z.a[i]/;
z.a[i]%=;
}
if (z.a[z.len+])z.len++;
return z;
}
zz jf(zz z)
{
z.a[]++;
for (int i=;i<=z.len;i++)
{
z.a[i+]+=z.a[i]/;
z.a[i]%=;
}
if (z.a[z.len+])z.len++;
return z;
}
zz zf(zz x,zz y)
{
for (int i=;i<=x.len;i++)
{
x.a[i]-=y.a[i];
if (x.a[i]<)x.a[i+]--,x.a[i]+=;
}
while (x.len>&&x.a[x.len]==)x.len--;
return x;
}
int main()
{
scanf("%d%d",&n,&m);
if (m==)
{
puts("");
return ;
}
f[].a[]=f[].len=;
for (int i=;i<=m;i++)
{
f[i].a[]=f[i].len=;
for (int j=;j<=n;j++)
f[i]=cf(f[i],f[i-]);
f[i]=jf(f[i]);
}
zz ans=zf(f[m],f[m-]);
ans.write();
}
bzoj1089的更多相关文章
- 【BZOJ1089】[SCOI2003]严格n元树(高精度,动态规划)
[BZOJ1089][SCOI2003]严格n元树(高精度,动态规划) 题面 BZOJ 洛谷 题解 设\(f[i]\)表示深度为\(i\)的\(n\)元树个数.然后我们每次加入一个根节点,然后枚举它的 ...
- [BZOJ1089][SCOI2003]严格n元树(递推+高精度)
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1089 分析: 第一感觉可以用一个通式求出来,但是考虑一下很麻烦,不好搞的.很容易发现最 ...
- BZOJ1089: [SCOI2003]严格n元树
1089: [SCOI2003]严格n元树 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 762 Solved: 387[Submit][Status ...
- 【bzoj1089】严格n元树
Description 如果一棵树的所有非叶节点都恰好有n个儿子,那么我们称它为严格n元树.如果该树中最底层的节点深度为d(根的深度为0),那么我们称它为一棵深度为d的严格n元树.例如,深度为2的严格 ...
- BZOJ1089:[SCOI2003]严格n元树(DP,高精度)
Description 如果一棵树的所有非叶节点都恰好有n个儿子,那么我们称它为严格n元树.如果该树中最底层的节点深度为d (根的深度为0),那么我们称它为一棵深度为d的严格n元树.例如,深度为2的严 ...
- BZOJ1089 [SCOI2003]严格n元树 【dp + 高精】
Description 如果一棵树的所有非叶节点都恰好有n个儿子,那么我们称它为严格n元树.如果该树中最底层的节点深度为d (根的深度为0),那么我们称它为一棵深度为d的严格n元树.例如,深度为2的严 ...
- bzoj1089严格n元树
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1089 这是一种套路:记录“深度为 i ”的话,转移需要讨论许多情况:所以可以记录成“深度&l ...
- bzoj1089严格n元树——DP+高精度
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1089 f[d]为深度小于等于d的树的个数: 从根节点出发,有n个子树,乘法原理可以得到 f[ ...
- bzoj1089 [SCOI2003]严格n元树(dp+高精)
1089: [SCOI2003]严格n元树 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 1899 Solved: 954[Submit][Statu ...
随机推荐
- Python3基础 str for 输出字符串中的每个字符
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- linux如何删除行首的空格
答: sed 's/^ *//' jello.txt > hello.txt
- Linq join right join left join
代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syst ...
- Oracle SQL Developer 中配置JDBC驱动程序连接
此博客仅作为自己备忘,没有丝毫技术含量.把Postgres的JDBC驱动程序放在Oracle SQL Developer的JDBC的文件夹下,然后安装Oracle SQL Developer,添加新连 ...
- python 阶乘
product= i= : product=i*product print('i=%d' %i,end='') print('\tproduct=%d' %product) i+= print('\n ...
- 转载:负载均衡器技术Nginx和F5的优缺点对比
https://blog.csdn.net/zxc456733/article/details/78861100 nginx(一) nginx详解 nginx是一个被广泛使用的集群架构组件,我们有必要 ...
- Python day4_list的常见方法1_笔记(浅拷贝和深拷贝的简述)
li=[1,2,3,'55dd'] li.clear()#清除列表内容 print(li) li.append(1)#追加 li.append(3) print(li) #拓展:直接赋值和copy和d ...
- django路由转发
一.路由转发 通常,我们会在每个app里,各自创建一个urls.py路由模块,然后从根路由出发,将app所属的url请求,全部转发到相应的urls.py模块中. 例如,下面是Django网站本身的UR ...
- jq expando && $.data()
1.使用隐藏控件或者是js全局变量来临时存储数据,全局变量容易导致命名污染,隐藏控件导致经常读写dom浪费性能 jQuery提供了自己的数据缓存方案,使用jQuery数据缓存方案,我们需要掌握$.da ...
- 【Golang】解决Go test执行单个测试文件提示未定义问题
背景 很多人记录过怎么执行Go test单个文件或者单个函数,但是要么对执行单文件用例存在函数或变量引用的场景避而不谈,要么提示调用了其它文件中的模块会报错.其实了解了go test命令的机制之后,这 ...