LYK 与实验室
LYK 与实验室(lab)
Time Limit:5000ms Memory Limit:64MB
【题目描述】
LYK 在一幢大楼里,这幢大楼共有 n 层,LYK 初始时在第 a 层上。这幢大楼有一个秘密实验室,在第 b 层,这个实验室非常特别,对 LYK 具有约束作用,即若 LYK 当前处于 x 层,当它下一步想到达 y 层时,必须满足|x-y|<|x-b|,而且由于实验室是不对外开放的,电梯无法停留在第 b 层。LYK 想做一次旅行,即它想按 k 次电梯,它想知道不同的旅行方案个数有多少个。两个旅行方案不同当前仅当存在某一次按下电梯后停留的楼层不同。
【输入格式】(lab.in)
一行 4 个数,n,a,b,k。
【输出格式】(lab.out)
一个数表示答案,由于答案较大,将答案对 1000000007 取模后输出。
【输入样例 1】
5 2 4 1
【输出样例 1】
2
【输入样例 2】
5 2 4 2
【输出样例 2】
2
【输入样例 3】
5 3 4 1
【输出样例 3】
0
【数据范围】
对于 20%的数据 n,k<=5。
对于 40%的数据 n,k<=10。
对于 60%的数据 n,k<=500。
对于 90%的数据 n,k<=2000。
对于 100%的数据 n,k<=5000。
【题目分析】
令f[i][j]表示按过i次,当前停留在j层。
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
const int mo=1e9+;
using namespace std;
int n,a,b,k;
int f[][];
long long ans=;
int ABS(int x)
{
return x<?-x:x;
}
int main()
{
freopen("lab.in","r",stdin);
freopen("lab.out","w",stdout);
scanf("%d%d%d%d",&n,&a,&b,&k);
f[][a]=;
for(int i=;i<=k;i++)
for(int j=;j<=n;j++)
if(j!=b)
for(int l=;l<=n;l++)
if(l!=b&&l!=j)
if(ABS(l-j)<ABS(l-b))
f[i][j]=(f[i][j]%mo+f[i-][l]%mo),
f[i][j]%=mo;
for(int i=;i<=n;i++)
if(i!=b)
ans=ans%mo+f[k][i]%mo;
cout<<ans%mo;
fclose(stdin);fclose(stdout);
return ;
}
考场60无优化
那我们考虑哪些层可以到达j层,这些层肯定是一个连续的区间,利用前缀和优化
LYK 与实验室的更多相关文章
- 模拟赛1101d1
完美的序列(sequence)Time Limit:1000ms Memory Limit:64MB题目描述LYK 认为一个完美的序列要满足这样的条件:对于任意两个位置上的数都不相同.然而并不是所有的 ...
- 济南学习 Day 4 T2 am
LYK 与实验室(lab)Time Limit:5000ms Memory Limit:64MB题目描述LYK 在一幢大楼里,这幢大楼共有 n 层,LYK 初始时在第 a 层上.这幢大楼有一个秘密实验 ...
- 11.1 morning
完美的序列(sequence)Time Limit:1000ms Memory Limit:64MB题目描述LYK 认为一个完美的序列要满足这样的条件:对于任意两个位置上的数都不相同.然而并不是所有的 ...
- 【AR实验室】mulberryAR : ORBSLAM2+VVSION
本文转载请注明出处 —— polobymulberry-博客园 0x00 - 前言 mulberryAR是我业余时间弄的一个AR引擎,目前主要支持单目视觉SLAM+3D渲染,并且支持iOS端,但是该引 ...
- 51nod lyk与gcd
1678 lyk与gcd 基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 这天,lyk又和gcd杠上了.它拥有一个n个数的数列,它想实现两种操作. 1:将 ai ...
- LYK 快跑!(LYK别打我-)(话说LYK是谁)
LYK 快跑!(run) Time Limit:5000ms Memory Limit:64MB 题目描述 LYK 陷进了一个迷宫! 这个迷宫是网格图形状的. LYK 一开始在(1,1)位置, 出口在 ...
- 认识实验室信息管理系统(LIMS)
在当今互联网如日中天的大环境下,各种伴随着互联网的产物如p2p,o2o在如火如荼的进行着,吸引了大量的开发人员都涌向了这个行业,所有的技术似乎都在围绕着互联网发展,传统行业软件开发的人气和关注度就相形 ...
- LYK 快跑!(run)
LYK 快跑!(run)Time Limit:5000ms Memory Limit:64MB[题目描述] LYK 陷进了一个迷宫! 这个迷宫是网格图形状的. LYK 一开始在(1,1)位置, 出口在 ...
- 实验室中搭建Spark集群和PyCUDA开发环境
1.安装CUDA 1.1安装前工作 1.1.1选取实验器材 实验中的每台计算机均装有双系统.选择其中一台计算机作为master节点,配置有GeForce GTX 650显卡,拥有384个CUDA核心. ...
随机推荐
- [原创]java WEB学习笔记83:Hibernate学习之路---双向 1-n介绍,关键点解释,代码实现,set属性介绍(inverse,cascade ,order-by )
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- Java基础(48):归并排序的Java封装含原理,完整可运行,结合VisualGo网站更好理解)
原理: 归并排序建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用. 将已有序的子序列合并,得到完全有序的序列:即先使每个子序列有序, ...
- java中hashCode()方法的作用
hashcode方法返回该对象的哈希码值. hashCode()方法可以用来来提高Map里面的搜索效率的,Map会根据不同的hashCode()来放在不同的位置,Map在搜索一个对象的时候先 ...
- 比较二个文件的最后修改时间FileListener
import java.io.File; import java.text.SimpleDateFormat; import java.util.Timer; import java.util.Tim ...
- 怎样解决MySQL数据库主从复制延迟的问题---流行网站的解决办法(转载)
像Facebook.开心001.人人网.优酷.豆瓣.淘宝等高流量.高并发的网站,单点数据库很难支撑得住,WEB2.0类型的网站中使用MySQL的 居多,要么用MySQL自带的MySQL NDB Clu ...
- linux抓包方法
tcpdump -i eth0 -X -w data.cap 得到的包保存到本地wireshark解析ip.addr == url && http.request.url contai ...
- 夺命雷公狗---DEDECMS----5快速入门之商城快速搭建实现快递方式和支付方式的显示
我们现在用dedecms快速搭建一个商场,方法如下所示: 如此类推.写多几个栏目,效果 如下所示: 然后我们添加几个商品,记得要刷新下页面噢,不见见不到商品 添加成功后去看看效果如何: 出来了,但是如 ...
- HTML输入框点击内容消失
在input标签中这样写 type='text' onfocus='if(this.value=='请输入内容以搜索') this.value=''' onblur='if(this.value==' ...
- Inside TSQL Querying - Chapter 2. Physical Query Processing
Summary Description The SQL language is spoken by most database experts, and all relational database ...
- Fragement
package com.exmple.frage; import java.util.ArrayList; import java.util.Calendar; import java.util.Ha ...