bzoj2538: [Ctsc2000]公路巡逻
超车这个东西这么恶心肯定是要暴力求的(自圆其说)
那么分成一个个时间段来搞,然后DP一下
化一下那个速度,耗费时间是在300s~600s之间的
那我们就可以设f[i][j]为走到第i个位置用了j的时间相遇的最小值
这里有个坑点,就是出发时间和到达时间均相等的两辆车也算相遇。。。
#include<cstdio>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
#include<vector>
using namespace std;
int read()
{
int x=,f=;char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=-;ch=getchar();}
while(''<=ch&&ch<=''){x=x*+ch-'';ch=getchar();}
return x*f;
}
int readtime()
{
int ret=;
for(int i=,b=;i<=;i++,b/=)
{
int k=;char ch;ch=getchar();
while(ch<''||ch>'')ch=getchar();
k=ch-'';ch=getchar();k=k*+ch-'';
ret+=k*b;
}
return ret;
}
void writetime(int T)
{
int k=T/;T-=k*;
if(k<)printf("");
printf("%d",k); k=T/;T-=k*;
if(k<)printf("");
printf("%d",k); if(T<)printf("");
printf("%d\n",T);
} //----------------------------------------------------------------------------------------------------- struct car
{
int st,t;
car(){}
car(int ST,int T){st=ST,t=T;}
}c[];int L[],R[];
int f[][];
int main()
{
freopen("a.in","r",stdin);
freopen("a.out","w",stdout);
int n,m,x,st,t;
n=read(),m=read();
for(int i=;i<=n;i++)L[i]=m+;
for(int i=;i<=m;i++)
{
x=read(),c[i].st=readtime(),c[i].t=read();
if(L[x]==m+)L[x]=i;
R[x]=i;
} memset(f,,sizeof(f));f[][]=;
for(int i=;i<n;i++)
for(int j=;j<;j++)
if(f[i][j]!=f[][])
{
for(int k=;k<=;k++)
{
if(j+k>=)break;
int sum=;
for(int l=L[i];l<=R[i];l++)
if((j+k==c[l].st+c[l].t)||(j<c[l].st&&j+k>=c[l].st+c[l].t)||(j>c[l].st&&j+k<=c[l].st+c[l].t))sum++;
f[i+][j+k]=min(f[i+][j+k],f[i][j]+sum);
}
} int mmin=(<<),T;
for(int j=;j<;j++)
if(f[n][j]<mmin)mmin=f[n][j],T=j;
printf("%d\n",mmin);
writetime(T);
return ;
}
bzoj2538: [Ctsc2000]公路巡逻的更多相关文章
- bzoj AC倒序
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...
- 别人整理的DP大全(转)
动态规划 动态规划 容易: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ...
- dp题目列表
此文转载别人,希望自己能够做完这些题目! 1.POJ动态规划题目列表 容易:1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 11 ...
- poj 动态规划题目列表及总结
此文转载别人,希望自己能够做完这些题目! 1.POJ动态规划题目列表 容易:1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 11 ...
- poj动态规划列表
[1]POJ 动态规划题目列表 容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276, 13 ...
- POJ 动态规划题目列表
]POJ 动态规划题目列表 容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276, 1322 ...
- poj 动态规划的主题列表和总结
此文转载别人,希望自己可以做完这些题目. 1.POJ动态规划题目列表 easy:1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, ...
- 别人整理的dp题目
动态规划 动态规划 容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276, 1322, 14 ...
- [SinGuLaRiTy] 动态规划题目复习
[SinGuLaRiTy-1026] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. [UVA 1025] A Spy in the Metr ...
随机推荐
- POJ_1611_The Suspect
The Suspects Time Limit: 1000MS Memory Limit: 20000K Total Submissions: 25149 Accepted: 12329 De ...
- JS的filter用法
filter也是一个常用的操作,它用于把Array的某些元素过滤掉,然后返回剩下的元素. 和map()类似,Array的filter()也接收一个函数.和map()不同的是,filter()把传入的函 ...
- 08Webpage Form
Webpage Form 表单(form)在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法. 表单域:包含 ...
- Python之list、tuple、dict、set
参考原文 廖雪峰Python PS:来看看Python中比较特殊的几种数据类型list.tuple.dict.set list list(列表)是Python内置的一种数据类型,它是一种有序.可变的集 ...
- Maven 项目debug调试时报Source not found.异常
正如异常描述,那么解决方法当然是指定源码. 测试于:Maven 3.0.5, eclipse-jee-indigo-SR2-win32 异常信息: Source not found. 解决方法: 首先 ...
- 省市区json结构
[ { "label": "北京市", "value": "北京市", "children": [ ...
- 二: 安装centos服务环境软件mysql httpd php
安装mysql--------------------------------------wget http://dev.mysql.com/get/mysql-community-release-e ...
- PAT 1123 Is It a Complete AVL Tree
An AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child sub ...
- EasyUI Datagrid的简单使用
此前同样写过EasyUI Datagrid的demo,好记性不如烂笔头,何况记性也不是那么好,赶紧记录一下.照搬上一篇EasyUI Tree的格式. 实现效果:获取数据库表的数据,在EasyUI Da ...
- Java基础学习总结(82)——Java泛型实例教程
1.为什么需要泛型 泛型在Java中有很重要的地位,网上很多文章罗列各种理论,不便于理解,本篇将立足于代码介绍.总结了关于泛型的知识.希望能给你带来一些帮助. 先看下面的代码: List list = ...