[usaco2004][bzoj3379] 交作业
按距离从小到大排序
f[i][j][0或1]表示在i或j还有i-j没有完成
转移
tmp=dp[i][j][0];tmp=min(tmp,max(dp[i][j+1][1]+a[j+1].dist-a[i].dist,a[i].t));tmp=min(tmp,max(dp[i-1][j][0]+a[i].dist-a[i-1].dist,a[i].t));
注意边界 比如:dp[0][i],dp[0][c+3]初值应为inf
#include<bits/stdc++.h> using namespace std; const int N=1e3+30,inf=1e6; int dp[N][N][2]; #define ri register int int az1,az2,tmp; int c,b,h; struct re{int dist;int t; }; re a[N]; bool cmp(re x,re y){return x.dist<y.dist;} //int max(int x,int y){if(x>y)return x;else return y;} //int min(int x,int y){if(x<y)return x;else return y;} int main() { //freopen("p.in","r",stdin);cin>>c>>h>>b;for(int i=1;i<=c;i++)cin>>a[i].dist>>a[i].t;sort(a+1,a+1+c,cmp);for(int i=0;i<N;i++)for(int j=0;j<N;j++)dp[i][j][0]=dp[i][j][1]=inf;int sdr5s;dp[1][c][0]=max(a[1].t,a[1].dist);dp[1][c][1]=max(a[c].t,a[c].dist);for(int i=1;i<=c;i++)for(int j=c;j>=i;j--){tmp=dp[i][j][0];tmp=min(tmp,max(dp[i][j+1][1]+a[j+1].dist-a[i].dist,a[i].t));tmp=min(tmp,max(dp[i-1][j][0]+a[i].dist-a[i-1].dist,a[i].t));dp[i][j][0]=tmp;tmp=dp[i][j][1];tmp=min(tmp,max(dp[i][j+1][1]+a[j+1].dist-a[j].dist,a[j].t));tmp=min(tmp,max(dp[i-1][j][0]+a[j].dist-a[i-1].dist,a[j].t));dp[i][j][1]=tmp;}az1=1e8;for(int i=1;i<=c;i++)az1=min(az1,(min(dp[i][i][0],dp[i][i][1])+(int)fabs(b-a[i].dist)));cout<<az1;return 0; }
View Code
转载于:https://www.cnblogs.com/lxzl/p/9562585.html
[usaco2004][bzoj3379] 交作业相关推荐
- bzoj 3379: [Usaco2004 Open]Turning in Homework 交作业(区间DP)
3379: [Usaco2004 Open]Turning in Homework 交作业 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 50 S ...
- BZOJ 3379: [Usaco2004 Open]Turning in Homework 交作业
Description 贝茜有C(1≤C≤1000)门科目的作业要上交,之后她要去坐巴士和奶牛同学回家. 每门科目的老师所在的教室排列在一条长为H(1≤H≤1000)的走廊上,他们只在课后接收 ...
- 《降级论》《按时交作业的学生何以常穿脏袜子》读后感
今天bill推荐了一篇文章http://blog.kowtime.com/?p=16,白天略读,晚上仔细读了一遍.作者主要阐述了这样几个观点: 1.it行业是个比较"高级"的行业, ...
- python 字典练习 记录学生是否交作业的小程序
#记录学生是否交作业的小程序 #包括:学生名字.日期.状态 1 data={ 2 'taotao':{ 3 '2018-6-3':'已交', 4 '2018-6-4':'未交', 5 '2018-6- ...
- 第77课 交作业啦(递归算法)
/* 第77课 交作业啦(递归算法) 利用递归算法,试编一程序,算一算我收到多少本作业. */ #include<iostream> using namespace std; int zu ...
- 判定考试成绩程序java_请大家务必按照平时交作业的要求,按时提交!否则会影响您的期末考试成绩。_学小易找答案...
[判断题]组合定位中几个定位元件组合起来定位一个工件相应的几个定位面,该组合定位元件能限制工件的自由度总数应等于 各个定位元件单独定位各自相应定位面时所能限制自由度的数目之和. [简答题]拍照上传实验 ...
- 怎么上传云班课的计算机作业,云班课怎么交作业_云班课作业提交教程_3DM手游...
是如何在云班课平台中提交作业?很多小伙伴还不太清楚.云班课平台中提交作业的类型有很多中,提交方式也有所不同.下面小编来为大家介绍一下云班课提交作业的详细方法教程,一起来看看. 云班课怎么交作业? 老师 ...
- 使用 python 查看谁没有交作业
话说实验报告每天都要查人数,何不用程序实现 使用 python 查看谁没有交作业 version 1.0 程序嘛,肯定是可以改进的.使用该程序的前提是实验报告文件名中包含学号信息.将以上程序放在实验报 ...
- python实现自动化查谁没交作业
作为一个学委总是被查谁没交作业这种事所困扰,今天下午没课就打算写一个小程序帮我自动化查谁没交作业,并且根据助教的需求添加一个序号方便批改作业 刚开始想着是用java写的,因为想做个可视化窗口,但是g ...
最新文章
- 站长新手入门:从0开始搭建微信小程序商城,不会代码也能开商城(附带源码)
- DataBase project physical design
- 010_TreeMap键使用Comparator排序
- 《学习OpenCV》课后习题解答1
- 怎么查看服务器系统内存,怎么查看服务器系统内存
- 几种不同的邮件发送解决方案
- 苏炫杰全国计算机等级考试,高二升高三的主题班会
- ylbtech-LanguageSamples-Indexers(索引器)
- 安装composer并创建laravel项目流程
- 百度网盘分享无提取码文件的方法
- 实验室Alienware-Area 51m拯救计划:Ubuntu下载更换内核,Ubuntu有线无线网卡驱动安装
- 计算机网络实验:常用网络命令的使用(ping、ipconfig、netstat、tracert、arp)
- 计算机自举过程是什么问题,操作系统原理(一)——自举过程
- “双评价”——ArcGIS水资源评价
- 在 Intel NUC8i7HVK 上安装CentOS7
- 计算机基本信息分别代表什么意思,视频基本信息格式不正确是什么意思
- 【论文解读 WSDM 2020 | KRF】Integrating Knowledge Relations into Style Correlations for 多标签音乐风格分类
- javaIO流之缓冲流
- windows10系统更新后,Windows.old 无法删除解决方法
- tomcat服务器项目迁移到另外一台tomcat服务器
热门文章
- mhd格式三维图像显示_给你的家乡做个三维地图模型,满满的成就感,快来学习下...
- 是否可以改变 宏的值_给女人的建议:当父母不同意你的男朋友,可以尝试六个方法...
- django连接mysql步骤_使用Django连接Mysql数据库步骤
- 机智云代码移植_IoT开发者 | 基于STM32F103的机智云宠物屋外加4路继电器开源教程...
- c语言函数的三种调用方式是什么?
- 函数或全局变量重复定义时会怎样?
- php内置的数组函数大全,php数组的内置函数大全
- laravel 分词搜索匹配度_【地名地址】面向智慧城市的高精度地名地址匹配方法...
- NS3使用过程中重要内容整理
- 光纤收发器如何选择?