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 有问题, ...
随机推荐
- Windows 下 OpenSSH 安装使用
OpenSSH 是安全 Shell (SSH) 工具的开放源代码版本,Linux 及其他非 Windows 系统的管理员使用此类工具跨平台管理远程系统. OpenSSH 在 2018 年秋季已添加至 ...
- 初次邂逅 EasyExcel
前言 由于工作原因,有这种需求,就是把数据库中的数据导出成 Excel 表格,同时,也得支持人家用 Excel 表格导入数据到数据库.当前项目也是在用 EasyExcel,所以我不得不学啦! 以前学习 ...
- Pycharm介绍下载指南
Pycharm的基本介绍 PyCharm是一种Python IDE是可以帮助用户在使用Python语言开发时提高其效率的开发工具. Pycharm的官网:https://www.jetbrains.c ...
- SQL注入漏洞原理与利用
SQL注入漏洞原理与利用 SQL注入漏洞流程 判断注入类型 判断字段个数 查询回显位 查询数据库名 查询表.字段名 查询内容 判断注入类型 1.数字型注入点判断 当要输入的参数x为数字型时,后端脚本中 ...
- Django连接数据库(mysql)与Django ORM实操(增删改查) 前端页面
目录 一:pycharm链接数据库(MySQL) 1.pycharm右侧Database工具栏 2.下载对应的驱动,填写MySQL数据库信息连接(当前为客户端) 3.pycharm连接MySQL数据库 ...
- List排序(降序)
一.添加一个比较器 点击查看代码 import java.util.Comparator; /** * @Classname ComparatorResultType * @Description 排 ...
- day02-功能实现01
家具网购项目实现01 1.项目开发环境搭建 创建一个web项目,添加需要的jar包(暂不使用Maven) 依照5.1的表格来创建项目的大体分层: 2.功能01-搭建前端页面 2.1需求分析/图解 2. ...
- [python]《Python编程快速上手:让繁琐工作自动化》学习笔记5
1. 处理CSV文件笔记(第14章) (代码下载) 本文主要在python下介绍CSV文件,CSV 表示"Comma-Separated Values(逗号分隔的值)",CSV文件 ...
- 迁移学习(MixMatch)《MixMatch: A Holistic Approach to Semi-Supervised Learning》
论文信息 论文标题:MixMatch: A Holistic Approach to Semi-Supervised Learning论文作者:David Berthelot, Nicholas Ca ...
- string 类的用法
访问字符串中的元素 string 字符串也可以像C风格的字符串一样按照下标来访问其中的每一个字符.string 字符串的起始下标仍是从 0 开始.请看下面的代码: int main(){ string ...