51NOD 1371填数字
分析
此题关键在于想出dp[i][j][k]代表考虑到第i行,还能放1的的共有j列,还能放2的共有k行。之后就枚举每一行是没有还是1个1还是2个1还是1个2,然后转移即可。
代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<cctype>
#include<cmath>
#include<cstdlib>
#include<queue>
#include<ctime>
#include<vector>
#include<set>
#include<map>
#include<stack>
using namespace std;
const long long mod = 1e8+;
#define add(x,y) x=(x+y)%mod
long long dp[][][];
int main(){
long long n,now=,i,j,k;
scanf("%lld",&n);
dp[][][]=;
for(i=;i<=n;i++){
now^=;
memset(dp[now],,sizeof(dp[now]));
for(j=;j<i;j++)
for(k=;k+j<i;k++){
add(dp[now][j][k+],dp[now^][j][k]);
add(dp[now][j][k],(k+)*dp[now^][j][k]%mod);
if(j>)
add(dp[now][j-][k+],j*dp[now^][j][k]%mod);
add(dp[now][j+][k],(k+)*dp[now^][j][k]%mod);
if(j>=)
add(dp[now][j-][k+],j*(j-)/%mod*dp[now^][j][k]%mod);
add(dp[now][j][k],j*(k+)%mod*dp[now^][j][k]%mod);
if(k>)
add(dp[now][j+][k-],(k+)*k/%mod*dp[now^][j][k]);
}
}
long long Ans=;
for(j=;j<=n;j++)
for(k=;k+j<=n;k++)
add(Ans,dp[now][j][k]);
printf("%lld\n",Ans);
return ;
}
51NOD 1371填数字的更多相关文章
- ACM/ICPC 之 DP进阶(51Nod-1371(填数字))
原题链接:填数字 顺便推荐一下,偶然看到这个OJ,发现社区运营做得很赞,而且交互和编译环境都很赞(可以编译包括Python,Ruby,Js在内的脚本语言,也可以编译新标准的C/C++11,甚至包括Go ...
- 51nod 1770 数数字
1770 数数字 基准时间限制:1 秒 空间限制:262144 KB 分值: 20 难度:3级算法题 收藏 关注 统计一下 aaa ⋯ aaan个a × b 的结果里面 ...
- TOJ 1220 填数字游戏 / 深搜
填数字游戏 时间限制(普通/Java):1000MS/10000MS 运行内存限制:65536KByte 描述 有个小游戏,让你填写以下方框,要求: a1+a2+a3+M=b1+b2+b3+M ...
- ACM学习历程—51NOD 1770数数字(循环节)
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1770 这是这次BSG白山极客挑战赛的A题.由于数字全部相同,乘上b必然会 ...
- 【C语言编程练习】5.7填数字游戏求解
之前的东西就不上传了,大致就跟现在的一样 1. 题目要求 计算 ABCD * E DCBA 这个算式中每个字母代表什么数字? 2. 题目分析 如果是我们人去做这道题会怎么办,一定是这样想把,一个四位 ...
- 51nod 1132 覆盖数字的数量 V2
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1132 题意是给定a,b,l,r求[l,r]内有几个整数可以表示成ax+b ...
- 51nod 1009:数字1的数量
1009 数字1的数量 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 收藏 关注 给定一个十进制正整数N,写下从1开始,到N的所有正数,计算出其中出现所有1的个 ...
- java实现拉丁方块填数字
"数独"是当下炙手可热的智力游戏.一般认为它的起源是"拉丁方块",是大数学家欧拉于1783年发明的. 如图[1.jpg]所示:6x6的小格被分为6个部分(图中用 ...
- 51nod 1387 移数字
任意门 回来拉模版的时候意外发现这个题还没写题解,所以就随便补点吧. 题意其实就是要你求n的阶乘在模意义下的值. 首先找出来一个最大的$m$满足$m^2<=n$,对于大于$m^2$部分的数我们直 ...
随机推荐
- MyEclipse设置默认的文档注释和背景色设置
- L118
The company needs to focus on its biggest clients.This article discussed the events that led to her ...
- HihoCoder 1190连通性·四
连通性·四 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho从约翰家回到学校时,网络所的老师又找到了小Hi和小Ho. 老师告诉小Hi和小Ho:之前的分组出了 ...
- Rebranding(字母代换)
个人心得:题目意思就是每次给出可以互换的字母,如果每次命令的时候就执行的话一定会超时. 所以我就是将输入的字母从a到z的数目和路径依次保存,再建立一个book数组表示字母现在所指的字母 ,一开始就直接 ...
- ASP.NET 整理比较全的URL重写解决方案
经常有人请我指导应该如何动态地“重写”URL,以在他们的ASP.NETweb应用中发布比较干净的URL端点.这个博客帖子概述了几个方法,你可以用来在ASP.NET中干净地映射或重写URL,以及按照你自 ...
- 基于微服务的父maven依赖
<dependencies> <!-- spring-boot核心 --> <dependency> <groupId>org.springframew ...
- Linux驱动 - SPI驱动 之四 SPI数据传输的队列化
我们知道,SPI数据传输可以有两种方式:同步方式和异步方式.所谓同步方式是指数据传输的发起者必须等待本次传输的结束,期间不能做其它事情,用代码来解释就是,调用传输的函数后,直到数据传输完成,函数才会返 ...
- Mina2中IoService
Apache MINA 2 是一个开发高性能和高可伸缩性网络应用程序的网络应用框架.它提供了一个抽象的事件驱动的异步 API,可以使用 TCP/IP.UDP/IP.串口和虚拟机内部的管道等传输方式. ...
- DCloud:temple
ylbtech-DCloud: 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 6.返回顶部 7.返回顶部 8.返回顶部 9.返回顶部 1 ...
- phonegap 解决https访问问题
ios报错 在AppDelegate.m文件在最后加入(在@end后面加空行): @implementation NSURLRequest(DataController) + (BOOL)allows ...