【NOIP2011模拟11.1】钓鱼

Description


我们把钓鱼的过程放在坐标系里来考虑。图中蓝色的点为船,初始时它的坐标记为(Ax,y)。河深为y,河宽为x。某个时刻会从左边界或右边界游出来一条鱼(左边的往右边游,右边的往左边游),即鱼游出来时的横坐标为0或x,这条鱼每秒会游D个单位长度,鱼的长度为L。初始时刻为0,对于每个时刻x,船可以选择花费1s向左或向右移动最多Q个单位长度,或者选择在当前位置进行钓鱼,钓鱼的动作是瞬间的,且发生在时刻x,鱼还来不及移动就被钓上了。如果选择钓鱼,那么在时刻x就不能动。{x+1时刻可以选择移动}设当前位置为z,将鱼看成一条线段,当线段与直线x=z相交时就认为鱼上钩了,所以一次钓鱼动作可能会钓多条鱼。
聪明的你告诉钓鱼者,在T时刻前最多能钓多少鱼?

Input

第一行:T
第二行:Maxx,Maxy,表示河宽和河深
第三行:两个数Ax,Q
第四行:N,表示有N条鱼
接下来N行描述每条鱼:每行共五个数,x,y,D,L,time
x表示鱼头的初始位置,保证为0或maxx,y表示鱼头的初始深度,time表示鱼出现的时刻(所有的数都为整数)

Output

只有一行:ans,表示最多的钓鱼数

Sample Input

3
4 5
4 1
3
0 1 3 1 0
4 2 2 1 0
0 3 3 1 2

Sample Output

3

Hint

30%的数据满足
1<=N<=5
100%的数据满足
1<=T,time<=10
1<=Ax,Ay,Q,x,y,D,L<=10
1<=N<=14

题解

容易想到DP
发现数据很小,可以用状压DP
设f[i][j][k]为时间i,x坐标j,钓鱼的状态为k的最大钓鱼数

转移

1、移动:f[i+1][j-q ~ j+q][k]=f[i][j][k]
2、钓鱼:f[i+1][j][k]=f[i][j][k]+fish(i,j,k)
3、不作操作:f[i+1][j][k]=f[i][j][k]

code

#include<cstdio>
#include<iostream>
#include<cstring>
#define N 15
using namespace std;
int ans,T,mx,my,ax,Q,n,p[N],q[N],d[N],l[N],t[N],f[N][N][17007];
int fish(int x,int y,int z){int nl,nr;for(int i=1;i<=n;i++){if(p[i]==0) nr=(x-t[i])*d[i],nl=nr-l[i];else nl=mx-(x-t[i])*d[i],nr=nl+l[i];if(nl<=y&&nr>=y) z|=1<<(i-1);}return z;
}
int main(){scanf("%d%d%d%d%d%d",&T,&mx,&my,&ax,&Q,&n);for(int i=1;i<=n;i++) scanf("%d%d%d%d%d",&p[i],&q[i],&d[i],&l[i],&t[i]);f[0][ax][0]=1;for(int i=0;i<=T+1;i++)for(int j=0;j<=mx;j++)for(int s=0;s<=1<<n;s++){if(!f[i][j][s]) continue;int now=0;for(int k=1;k<=n;k++) if(s&(1<<(k-1))) now++;ans=max(ans,now);for(int k=max(0,j-Q);k<=min(mx,j+Q);k++) f[i+1][k][s]=1;f[i+1][j][fish(i,j,s)]=1;}printf("%d",ans);
}

【NOIP2011模拟11.1】钓鱼相关推荐

  1. A. [2021.1.29多校省选模拟11]最大公约数(杜教筛/数论)

    A. [2021.1.29多校省选模拟11]最大公约数 这是一个杜教筛的经典题目,最后我们只需要筛一下1∗xμ(x)1*x\mu(x)1∗xμ(x)这个函数的前缀和即可,然后看到有111这个函数,我们 ...

  2. JZOJ 3518. 【NOIP2013模拟11.6A组】进化序列(evolve)

    3518. [NOIP2013模拟11.6A组]进化序列(evolve) (File IO): input:evolve.in output:evolve.out Time Limits: 1000 ...

  3. 11月钓鱼网站简报:阿里巴巴占比居首 新网次之

    IDC评述网(idcps.com)12月22日报道:近日,中国反钓鱼网站联盟发布了<2015年11月钓鱼网站处理简报>.据报告显示,11月份,联盟共处理钓鱼网站7644个,较上月下降了25 ...

  4. 2553. 【NOIP2011模拟9.7】射命丸文 (StandardIO)

    2553. [NOIP2011模拟9.7]射命丸文 (StandardIO) Description 在幻想乡,射命丸文是以偷拍闻名的鸦天狗.当然,文文的照相机可不止能够照相,还能够消除取景框里面所有 ...

  5. jzoj2702. 探险jzoj3917. 【NOIP2014模拟11.2A组】福慧双修

    Description 探险家小T好高兴!X国要举办一次溶洞探险比赛,获奖者将得到丰厚奖品哦!小T虽然对奖品不感兴趣,但是这个大振名声的机会当然不能错过! 比赛即将开始,工作人员说明了这次比赛的规则: ...

  6. 2554. 【NOIP2011模拟9.7】帕秋莉·诺蕾姬 (Standard IO)

    2554. [NOIP2011模拟9.7]帕秋莉·诺蕾姬 (Standard IO) Description 在幻想乡,帕秋莉·诺蕾姬是以宅在图书馆闻名的魔法使.这一天帕秋莉又在考虑如何加强魔法咒语的 ...

  7. 11月钓鱼网站:.COM域名超56% 新网数码占比37%

    IDC评述网(idcps.com)12月15日报道:近日,中国反钓鱼网站联盟发布了<2014年11月钓鱼网站处理简报>.据报告显示,11月份,联盟共处理钓鱼网站4820个,较上月有所增加: ...

  8. 【NOIP2015模拟11.3晚】JZOJ7月31日提高组T1 次芝麻

    [NOIP2015模拟11.3晚]JZOJ7月31日提高组T1 次芝麻 题目 题解 题意 分析 Code 题目 题解 题意 给出两个数 x x x, y y y 每次操作会将小的数乘2,大的数减去小的 ...

  9. jozj5945. 【NOIP2018模拟11.02】昆特牌

    5945. [NOIP2018模拟11.02]昆特牌 Description 作为一个资深OIer,你被邀请到位于波兰的CDPR总部参观.但没想到你刚一到就遇到了麻烦.昆特牌的数据库发生了故障.原本昆 ...

最新文章

  1. FLASH全屏,左右侧,闪烁广告及对错觉的代码补充.
  2. php比较函数代码,php字符串比较函数
  3. KMP POJ 3461 Oulipo
  4. PHP经典算法 (转载)
  5. 编辑器扩展_关于MediaWiki的编辑器
  6. Shell命令-系统信息及显示之uname、hostname
  7. 洛谷P1074:靶形数独(搜索、剪枝)
  8. mysqlslap详解--MySQL自带的性能压力测试工具(转)
  9. 论文浅尝 | 基于知识图谱的智能调研方法(DI佳作)
  10. 深入理解SQL注入绕过WAF与过滤机制
  11. 春节期间,我用责任链模式重构了业务代码
  12. 把url地址复制到粘贴板上_写个简单的python爬虫爬取堆糖上漂亮的小姐姐
  13. 用逻辑门设计一个CPU
  14. 计算机软件lumion的使用例子,Lumion怎么用?BIM软件教学:带你掌握Lumion实战应用...
  15. 我的世界逆时空服务器怎么注册密码,我的世界1.7.10服务器逆时空
  16. Barra风险模型简介
  17. Ardunio开发实例-MSA301三轴加速计
  18. 初学者之路—————Cycle GAN
  19. html动态背景分享,酷炫一款动态背景(HTML +js canvas)
  20. 神经网络相关的概念和术语

热门文章

  1. 【linux】【jenkins】自动化运维三 整合gitlab、docker发布vue项目
  2. 关于串口波特率的的记录
  3. java计算机毕业设计HTML5游戏网站设计与实现源码+mysql数据库+系统+lw文档+部署
  4. linux如何访问公司网盘,Linux部署私有企业网盘
  5. 我为什么要做个人网站——互联网乌托邦的理想
  6. 浙大计算机学院博士生读几年,中国200万在读硕士生和博士生,每月能拿到多少补助?...
  7. what is VC维
  8. 前端--实体,meta,语义化标签1
  9. Kali Linux安装配置JDK1.8
  10. 全球主流社交媒体算法解析:Facebook、YouTube、Twitter如何利用算法推荐内容?