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 ...
随机推荐
- C# 查出数据表DataTable 清除一列中的重复项保留其他项
http://bbs.csdn.net/topics/391085792 DataTable 老表= 新表.AsEnumerable().GroupBy(p => p["姓名& ...
- POJ 3667 Hotel(线段树+区间合并)
http://poj.org/problem?id=3667 题意: 有N个房间,M次操作.有两种操作(1)"1a",表示找到连续的长度为a的空房间,如果有多解,优先左边的,即表示 ...
- 机器学习-数据可视化神器matplotlib学习之路(一)
直接上代码吧,说明写在备注就好了,这次主要学习一下基本的画图方法和常用的图例图标等 from matplotlib import pyplot as plt import numpy as np #这 ...
- perl usage()和getopt
#!/usr/bin/perl#perl search.pl --infile Targets.Lung.Carcinoma.genelist.txt --homogene Homo_sapiens. ...
- python 命令行升级pip
import os import sys path = '"'+os.path.dirname(sys.executable)+'\\scripts\\pip" install - ...
- python 将16进制转为字节
数值为:0xFD >>> x="FD" >>> x.decode('hex') '\xfd'
- ubuntu 14.04(desktop amd 64) nginx 安装启动停止
sudo apt-get install nginx 关闭: sudo service nginx stop 启动: sudo nginx
- jquery zTree异步加载的例子
下面是使用zTree异步加载的一个例子: 1)初始化树的时候是ajax请求,返回nodes列表来初始化树的:如果一开始就异步的话,$.fn.zTree.init($("#zTree" ...
- Java 注解的概念与种类
Java 注解的概念与种类 一,什么是注解 注解和XML文件都是常用的,对web项目进行配置性描述的方式. 举个最简单的例子,对于一个Servlet,比如LoginServlet,采用如下方式: @W ...
- 《剑指offer》第三十一题(栈的压入、弹出序列)
// 面试题31:栈的压入.弹出序列 // 题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是 // 否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1.2.3.4. / ...