题面

分析

状压 \(dp\) 直接上啊!

设 \(f_{t,S,pos}\) 表示 \(t\) 这个时刻之前能钓到的最多的鱼的数量

那么当前为可以钓鱼也可以移动

于是一切都明朗了

\(Code\)

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std; int T , Mx , My , A , Q , n , g[15][20000][15];
struct node{
int x , y , d , l , t , f , bz;
}f[20]; int main()
{
scanf("%d%d%d%d%d%d" , &T , &Mx , &My , &A , &Q , &n);
for(register int i = 0; i < n; i++)
scanf("%d%d%d%d%d" , &f[i].x , &f[i].y , &f[i].d , &f[i].l , &f[i].t) ,
f[i].f = (f[i].x == 0) ? 1 : -1;
memset(g , 255 , sizeof g);
g[0][(1 << n) - 1][A] = 0;
for(register int i = 0; i <= T; i++)
for(register int j = 0; j < (1 << n); j++)
for(register int k = 0; k <= Mx; k++)
{
if (g[i][j][k] == -1) continue;
int res = 0 , r = 0;
for(register int l = 0; l < n; l++)
if (f[l].t <= i && (j & (1 << l)))
{
int pos = f[l].x + f[l].f * f[l].d * (i - f[l].t) ,
tl = pos , tr = pos - f[l].f * f[l].l;
if (tl > tr) swap(tl , tr);
if (tl <= k && k <= tr) ++res , r += (1 << l);
}
g[i + 1][j - r][k] = max(g[i + 1][j - r][k] , g[i][j][k] + res);
for(register int l = max(0 , k - Q); l <= min(Mx , k + Q); l++)
g[i + 1][j][l] = max(g[i + 1][j][l] , g[i][j][k]);
}
int ans = 0;
for(register int j = 0; j < (1 << n); j++)
for(register int k = 0; k <= Mx; k++) ans = max(ans , g[T + 1][j][k]);
printf("%d" , ans);
}

JZOJ 2645. 【NOIP2011模拟11.1】钓鱼的更多相关文章

  1. 【NOIP2011模拟11.1】钓鱼

    钓鱼 题目 Description 我们把钓鱼的过程放在坐标系里来考虑.图中蓝色的点为船,初始时它的坐标记为(Ax,y).河深为y,河宽为x.某个时刻会从左边界或右边界游出来一条鱼(左边的往右边游,右 ...

  2. [JZOJ 4307] [NOIP2015模拟11.3晚] 喝喝喝 解题报告

    题目链接: http://172.16.0.132/senior/#main/show/4307 题目: 解题报告: 题目询问我们没出现坏对的连续区间个数 我们考虑从左到有枚举右端点$r$,判断$a[ ...

  3. JZOJ 3509. 【NOIP2013模拟11.5B组】倒霉的小C

    3509. [NOIP2013模拟11.5B组]倒霉的小C(beats) (File IO): input:beats.in output:beats.out Time Limits: 1000 ms ...

  4. JZOJ 3508. 【NOIP2013模拟11.5B组】好元素

    3508. [NOIP2013模拟11.5B组]好元素(good) (File IO): input:good.in output:good.out Time Limits: 2000 ms  Mem ...

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

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

  6. JZOJ 3505. 【NOIP2013模拟11.4A组】积木(brick)

    3505. [NOIP2013模拟11.4A组]积木(brick) (File IO): input:brick.in output:brick.out Time Limits: 1000 ms Me ...

  7. JZOJ 3526. 【NOIP2013模拟11.7A组】不等式(solve)

    3526. [NOIP2013模拟11.7A组]不等式(solve) (File IO): input:solve.in output:solve.out Time Limits: 1000 ms M ...

  8. JZOJ 4298. 【NOIP2015模拟11.2晚】我的天

    4298. [NOIP2015模拟11.2晚]我的天 (File IO): input:ohmygod.in output:ohmygod.out Time Limits: 1000 ms Memor ...

  9. JZOJ 3929. 【NOIP2014模拟11.6】创世纪

    3929. [NOIP2014模拟11.6]创世纪 (Standard IO) Time Limits: 1000 ms Memory Limits: 65536 KB Description 上帝手 ...

  10. JZOJ 3928. 【NOIP2014模拟11.6】射击

    3928. [NOIP2014模拟11.6]射击 (Standard IO) Time Limits: 1000 ms Memory Limits: 65536 KB Description 有问题, ...

随机推荐

  1. day16 异常处理生成器

    day16 异常处理生成器 今日内容概要 异常处理 异常处理实战应用 生成器对象 生成器对象实现range方法 生成器表达式 今日内容详细 一.异常处理 1.异常常见类型 SyntaxError语法错 ...

  2. 【RocketMQ】主从同步实现原理

    主从同步的实现逻辑主要在HAService中,在DefaultMessageStore的构造函数中,对HAService进行了实例化,并在start方法中,启动了HAService: public c ...

  3. kestrel网络编程--开发redis服务器

    1 文章目的 本文讲解基于kestrel开发实现了部分redis命令的redis伪服务器的过程,让读者了解kestrel网络编程的完整步骤,其中redis通讯协议需要读者自行查阅,文章里不做具体解析. ...

  4. 网络编程 UDP套接字

    第十二章 UDP套接字 12.1 前言 上一章讲述了TCP通信方式,它是基于流的面向连接的网络通信.UDP是IP协议上的另一种传输协议. TCP和UDP都是端到端的通信协议,都处于TCP/IP网络模型 ...

  5. 教你用JavaScript实现乘法游戏

    案例介绍 欢迎来的我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用JavaScript编程实战案例,做一个乘法积分游戏.乘法游戏主要通过用户输入的数值和程序计算的数值进行对比,正确积一分,错 ...

  6. 有向图的拓扑排序——DFS

    在有向图的拓扑排序--BFS这篇文章中,介绍了有向图的拓扑排序的定义以及使用广度优先搜索(BFS)对有向图进行拓扑排序的方法,这里再介绍另一种方法:深度优先搜索(DFS). 算法 考虑下面这张图: 首 ...

  7. day12-功能实现11

    家居网购项目实现011 以下皆为部分代码,详见 https://github.com/liyuelian/furniture_mall.git 27.功能25-事务管理 27.1下订单问题思考 在生成 ...

  8. 为 ASPNETCORE 7 项目添加 Serilog

    本文将介绍如何为 ASP.NET Core 项目添加 Serilog. 添加 Serilog 首先,我们需要在项目中添加 Serilog 的 NuGet 包. dotnet add package S ...

  9. 在 C# 9 中使用 foreach 扩展

    在 C# 9 中,foreach 循环可以使用扩展方法.在本文中,我们将通过例子回顾 C# 9 中如何扩展 foreach 循环. 代码演示 下面是一个对树形结构进行深度优先遍历的示例代码: usin ...

  10. AIGC 很火,想微调个自己的模型试试看?(不是卖课的)

    去年,我们发布过一篇关于 DreamBooth 编程马拉松的活动通知,获得了全球社区的广泛关注和参与,中国社区的成员们也对这个活动有非常高的热情.同时我们也收到了后台留言反馈说参与活动需要使用的 Go ...