JZOJ 2645. 【NOIP2011模拟11.1】钓鱼
题面
分析
状压 \(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】钓鱼的更多相关文章
- 【NOIP2011模拟11.1】钓鱼
钓鱼 题目 Description 我们把钓鱼的过程放在坐标系里来考虑.图中蓝色的点为船,初始时它的坐标记为(Ax,y).河深为y,河宽为x.某个时刻会从左边界或右边界游出来一条鱼(左边的往右边游,右 ...
- [JZOJ 4307] [NOIP2015模拟11.3晚] 喝喝喝 解题报告
题目链接: http://172.16.0.132/senior/#main/show/4307 题目: 解题报告: 题目询问我们没出现坏对的连续区间个数 我们考虑从左到有枚举右端点$r$,判断$a[ ...
- JZOJ 3509. 【NOIP2013模拟11.5B组】倒霉的小C
3509. [NOIP2013模拟11.5B组]倒霉的小C(beats) (File IO): input:beats.in output:beats.out Time Limits: 1000 ms ...
- JZOJ 3508. 【NOIP2013模拟11.5B组】好元素
3508. [NOIP2013模拟11.5B组]好元素(good) (File IO): input:good.in output:good.out Time Limits: 2000 ms Mem ...
- JZOJ 3518. 【NOIP2013模拟11.6A组】进化序列(evolve)
3518. [NOIP2013模拟11.6A组]进化序列(evolve) (File IO): input:evolve.in output:evolve.out Time Limits: 1000 ...
- JZOJ 3505. 【NOIP2013模拟11.4A组】积木(brick)
3505. [NOIP2013模拟11.4A组]积木(brick) (File IO): input:brick.in output:brick.out Time Limits: 1000 ms Me ...
- JZOJ 3526. 【NOIP2013模拟11.7A组】不等式(solve)
3526. [NOIP2013模拟11.7A组]不等式(solve) (File IO): input:solve.in output:solve.out Time Limits: 1000 ms M ...
- JZOJ 4298. 【NOIP2015模拟11.2晚】我的天
4298. [NOIP2015模拟11.2晚]我的天 (File IO): input:ohmygod.in output:ohmygod.out Time Limits: 1000 ms Memor ...
- JZOJ 3929. 【NOIP2014模拟11.6】创世纪
3929. [NOIP2014模拟11.6]创世纪 (Standard IO) Time Limits: 1000 ms Memory Limits: 65536 KB Description 上帝手 ...
- JZOJ 3928. 【NOIP2014模拟11.6】射击
3928. [NOIP2014模拟11.6]射击 (Standard IO) Time Limits: 1000 ms Memory Limits: 65536 KB Description 有问题, ...
随机推荐
- day13 I/O流——字节输入输出流、字符输入输出流 & File常用类 & (字节)复制大文件
day13 I/O流 定义:数据在两设备传输称为流,流是一组有顺序的,有起点和终点的字节集合 I 是input的缩写,表示输入流 O是output缩写,表示输出流 字节流(视频等) 输入InputSt ...
- Day30:ArrayList详解
ArrayList 1.1 集合概述 当我们要存储多个数据时,固定长度的数组存储格式已经满足不了我们的需要了,且不能满足变化的需求: Java中集合类则可以解决我们的需求 特点:提供一种存储空间可变的 ...
- ChatGPT 会开源吗?
最近,我被一款叫做 ChatGPT 的人工智能(AI)聊天机器人,刷屏了.网上有人说它是搜索引擎杀手,还有人说它将取代程序员... 最后,我还是没扛住铺天盖地的赞美,跑去注册了个账号,抱着调侃&quo ...
- docker 第一课
centos安装docker yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo ...
- TypeError: __str__ returned non-string (type WebStepInfo)
错误代码: class CaseStep(models.Model): id = models.AutoField(primary_key=True) casetep = models.Foreign ...
- JavaScript:对象:如何判断对象是否有某个属性?操作符in
使用in运算符来判断,有返回true,没有返回false:
- 一个简单的rust字符串时钟
1.简介 用rust写的一个简单的练手的demo,一个字符串时钟,在终端用字符串方式显示当前时间.本质是对图片取灰度,然后每个像素按灰度门限用星号代替灰度值,就把图片变为由星号组成的字符型图案.把 ...
- 【Azure 云服务】为Azure云服务配置上自签名的SSL证书步骤
问题描述 在使用Azure Cloud Service(云服务),默认的情况下都是使用的 HTTP 服务,通过 Visual Studio 2022 创建的默认 Cloud Service项目中,在S ...
- 【分布式技术专题】「LVS负载均衡」全面透析Web基础架构负载均衡LVS机制的原理分析指南
前提概要 在大规模互联网应用中,负载均衡设备是必不可少的组成部分,源于互联网应用的高并 发和大流量的冲击压力场景下,通常会在服务端部署多个无状态的应用服务器和若干有状态的存储服务器(数据库.缓存等等) ...
- Spring MVC复习 —— 搭建Spring MVC项目
Spring MVC复习 -- 搭建Spring MVC项目 摘要:这篇笔记是关于Spring MVC的复习,内容是如何搭建Spring MVC项目. 让我们快速的搭建一个Spring MVC ...