bzoj1925【sdoi2010】地精部落
1925: [Sdoi2010]地精部落
Time Limit: 10 Sec Memory Limit: 64 MB
Submit: 797 Solved: 487
[ Submit][ Status][ Discuss]
Description
Input
Output
Sample Input
Sample Output
HINT
对于 20%的数据,满足 N≤10;
对于 40%的数据,满足 N≤18;
对于 70%的数据,满足 N≤550;
对于 100%的数据,满足 3≤N≤4200,P≤109
Source
第一轮Day2
题解:
将题目简化为1-n的所有排列中满足高低交替出现的个数,可以用动态规划实现。
我们用f[n][k]表示n个数,最后一个为k且最后两个递增,g[n][k]表示n个数最后一个数为k且最后两个递减。对于f[n][k],若我们将数列中每个数x换为n+1-x,则就成了g[n][n+1-k]。
所以可得f[n][k]=g[n][n+1-k]。
那么可得:
所以动态转移方程为f[n][k]=f[n][k-1]+f[n-1][n-k+1]
由于对称性,最终的答案为2ans。
但是题目范围n<=4200,所以想到用滚动数组来压缩空间,于是这道题就AC了。
程序代码:
#include<iostream>
#include<cstring>
#include<algorithm>
#define MAXN 4300
using namespace std;
int main()
{int f[2][MAXN],n,p,i,j,ans=0,x=0,y=1;cin>>n>>p;if (n==1){cout<<1<<endl;return 0;}memset(f,0,sizeof(f));f[0][1]=1;for (i=2; i<=n; i++){for (j=1; j<=i; j++) f[y][j]=(f[y][j-1]+f[x][i-j+1])%p;swap(x,y);}for (i=1; i<=n; i++) ans=(ans+f[x][i])%p;ans=(ans*2)%p;cout<<ans<<endl;
}
//Written by aap
bzoj1925【sdoi2010】地精部落相关推荐
- BZOJ1925: [Sdoi2010]地精部落
BZOJ1925: [Sdoi2010]地精部落 Description 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中. 具体地说,一座长度为 N 的山脉 H可分 为 ...
- bzoj1925: [Sdoi2010]地精部落 [dp]
Description 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度为 N 的山脉 H可分 为从左到右的 N 段,每段有一个独一无二的高度 Hi, ...
- BZOJ1925 [Sdoi2010]地精部落 【dp】
题目 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度为 N 的山脉 H可分 为从左到右的 N 段,每段有一个独一无二的高度 Hi,其中Hi是1到N ...
- bzoj1925 [Sdoi2010] 地精部落
题目描述 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度为N的山脉H可分为从左到右的N段,每段有一个独一无二的高度Hi,其中Hi是1到N之间的正整数 ...
- [BZOJ1925][SDOI2010]地精部落(DP)
题意 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度为 N 的山脉 H可分 为从左到右的 N 段,每段有一个独一无二的高度 Hi,其中Hi是1到N ...
- [bzoj1925][Sdoi2010]地精部落
大佬们好神啊,考试都切掉了这题,,本来以为T3可做写完发现不对结果T2还崩了.qwq好闹心啊... 找到了一个不玄乎的题解至少转移我看懂了..clj的都太神了我等蒟蒻不能理解qwq 转自 http:/ ...
- P2467 [SDOI2010]地精部落
P2467 [SDOI2010]地精部落 题意: 有n个山脉高度分别是1到n,现在让你按照山峰山谷的顺序依次摆放(第一个可以是山峰也可以是山谷),问有多少方案(答案mod p) 题解: dp,但是自己 ...
- DP [Sdoi2010]地精部落
问题 H: [Sdoi2010]地精部落 时间限制: 1 Sec 内存限制: 64 MB 题目描述 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度为 ...
- 1925: [Sdoi2010]地精部落
1925: [Sdoi2010]地精部落 Time Limit: 10 Sec Memory Limit: 64 MB Submit: 1196 Solved: 730 [ Submit][ ...
- [luogu2467 SDOI2010] 地精部落
[luogu2467 SDOI2010] 地精部落 题目描述 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度为N的山脉H可分为从左到右的N段,每段有 ...
最新文章
- pandas.DataFrame删除/选取含有特定数值的行或列实例
- C++内存对象大会战
- 病毒导致分区双击无法打开的解决方法
- mysql io depth_MySQL读写IO的操作过程解析
- Java虚拟机学习(2):垃圾收集算法
- linux下定义删除变量
- python 如何将代码打包成exe可执行程序?(导出为exe可执行文件)pyinstaller
- python自带的shell、其性能优于ipython吗_Python自带的shell,其性能优于IPython
- 【 Grey Hack 】万金油脚本:在路由器上获取shell
- redis 集群环境部署
- Linux解压tar.gz、zip、tar.bz2 文件与对应的命令
- android手机debian 编译nodejs
- 如何从CPU顶盖获取有用信息
- 超简单全面的html图片自动轮播
- VS中的debug和releasse版本的区别
- CF1108D Diverse Garland
- latex超级基础的文档手册——第二部分:符号、图片、表格
- 关于常用(?)字符串处理函数的合集
- android和苹果内存,安卓的8G运行内存为什么与苹果3G的运行内存不能抗衡?
- 人工智能和区块链是什么关系?
热门文章
- Oracle存储过程语法学习
- python xy打不开、没有关联程序_绿茶XP系统下exe文件打不开提示没有关联程序如何解决...
- 右键计算机管理显示找不到文件,win10右键管理找不到文件怎么办 右键管理找不到文件解决方法...
- HTML5+CSS3 鼠标悬停3D立体图片效果
- 宝塔控制面板安装禅道开源版教程
- 为Linux部署红旗紫光输入法
- Android4.2.2下Stagefright多媒体架构中的A31的OMX插件和Codec组件
- k8s admission webhook初探
- 电化学微量元素分析仪的执行标准
- 周边美食api 周边美食餐厅检索