BZOJ1925: [Sdoi2010]地精部落
BZOJ1925: [Sdoi2010]地精部落
Description
Input
Output
Sample Input
Sample Output
HINT
对于 20%的数据,满足 N≤10;
对于 40%的数据,满足 N≤18;
对于 70%的数据,满足 N≤550;
对于 100%的数据,满足 3≤N≤4200,P≤10^9
题解Here!
- 在一个波动数列中,若两个$i$与$i+1$不相邻,那么我们直接交换这两个数字就可以组成一个新的波动数列。
- 把波动数列中的每个数字$A_i$变成$(N+1)-A_i$会得到另一个波动数列,且新数列的山峰与山谷情况相反。
- 波动序列有对称性。
这三条均可以证明。
不过本蒟蒻就不证了。。。我才不会告诉你我不会证。。。
然后呢?
$DP$!
设$dp[i][j]$表示选$[1,i]$这些数字,第一个数为山峰(山峰山谷比较形象),且第一个数为$j$的方案数。
#include<iostream>
#include<algorithm>
#include<cstdio>
#define MAXN 5010
using namespace std;
int n;
long long p,ans=0;
long long dp[2][MAXN];//滚动数组
inline int read(){int date=0,w=1;char c=0;while(c<'0'||c>'9'){if(c=='-')w=-1;c=getchar();}while(c>='0'&&c<='9'){date=date*10+c-'0';c=getchar();}return date*w;
}
void solve(){dp[0][2]=1;for(int i=3;i<=n;i++)for(int j=2;j<=i;j++)dp[i&1][j]=(dp[i&1][j-1]+dp[(i-1)&1][i-j+1])%p;for(int i=2;i<=n;i++)ans=(ans+dp[n&1][i])%p;printf("%lld\n",(ans<<1)%p);
}
int main(){n=read();p=read();solve();return 0;
}
转载于:https://www.cnblogs.com/Yangrui-Blog/p/9867891.html
BZOJ1925: [Sdoi2010]地精部落相关推荐
- 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段,每段有 ...
最新文章
- hdoj1423 最长上升公共子序列
- 嵌入式linux编译环境搭建,嵌入式Linux开发环境搭建
- 装oracle非常卡吗,win7系统安装完oracle电脑变卡的解决方法
- 记录网页爬虫注意的几个问题
- Jquery_改变背景颜色
- 全套CRC校验的算法
- 手机HTML编辑浏览器,HTML编辑浏览器
- 迁移学习--Xception
- [机器学习]AutoML---谷歌开源AdaNet:基于TensorFlow的AutoML框架
- 在家“隔离”这1个月,阿里云视频云这些工程师都经历了什么?
- ajax执行成功后,在success回调函数中把后台返回的list还原到html的table中
- 软件著作权申报中60页标准代码文档
- 小觅相机运行VINS-Fusion(二)——Camera-IMU参数标定
- android获取系统签名,Android apk签名详解——AS签名、获取签名信息、系统签名、命令行签名...
- Diligent将收购Steele Compliance Solutions
- Wav2KWS: Transfer Learning From Speech Representations for Keyword Spotting(2021)
- OneNET麒麟座应用开发之七:控制采样电机
- 照片怎么添加相框?分享你和好用的方法
- cocos2d 3.3 lua 代码加密 luac
- 开机都得先科学上网,再退出,才能连接校园网
热门文章
- Python Flask实现查询和添加数据
- RESTful Web APIs设计风格
- 使用Anaconda进行环境和包的管理
- ExtJs2.0学习系列(4)--Ext.FormPanel之第一式
- 查看回调函数执行在那个线程中的方法
- 深度学习《stackGAN》
- Going Further with Point Pair Features: PPF, 如何走的更远?
- 【01】 课程介绍 - 计算机视觉概述
- 循环序列模型 —— 1.11 双向神经网络
- 深度学习的实用层面 —— 1.6 Dropout正则化