<SDOI2009>学校食堂
我.
调了快一天
因为一个位置错误的感叹号
:-)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
狗dp
- #include<cstdio>
- #include<cstring>
- #include<iostream>
- #include<algorithm>
- #define inf 99999999
- using namespace std;
- int c,n;
- int t[],b[],dp[][<<][];//dp 前i-1个人已经打完饭了,第i个人及其后面7个人的状态,上一次打饭的人与i的相对距离(向前为-向后为+) 实际运用时由于不能为负数 所以要+8
- int time(int a,int b){if(a==)return ; return t[a]^t[b];}//题目要求的时间计算
- int main()
- {
- int i,j,k;
- scanf("%d",&c);
- for(int l=;l<=c;l++)
- {
- scanf("%d",&n);
- for(i=;i<=n;i++) scanf("%d%d",&t[i],&b[i]);
- for(i=;i<=n+;i++)
- for(j=;j<(<<);j++)
- for(k=-;k<=;k++)
- dp[i][j][k+]=inf;
- dp[][][]=;// k -1+8 //初始化
- for(i=;i<=n;i++)//枚举n个人
- for(j=;j<(<<);j++)//枚举状态
- for(k=-;k<=;k++)//枚举相对位置
- if(dp[i][j][k+]<inf)//没轮到呢.怎么排他后面的...?!
- {
- if(j&) dp[i+][j>>][k+]=min(dp[i+][j>>][k+],dp[i][j][k+]);else//如果已经打完了 就可以 扔了emm 下一个还未打的时间与上一个打完时间相同
- {
- int r=inf;//忍受范围
- for(int m=;m<=;m++)//枚举下一个人
- {
- if(!((j>>m)&))//判断后面的人是否吃完了
- {
- if(i+m>r)break;//超出了忍耐限度!
- r=min(r,i+m+b[i+m]);//更新目前最小忍耐限度
- dp[i][j+(<<m)][m+]=min(dp[i][j+(<<m)][m+],dp[i][j][k+]+time(i+k,i+m));//emm让他有饭(雾
- }
- }
- }
- }
- int ans=inf;
- for(i=;i<;i++)ans=min(ans,dp[n+][][i]);//全部人都有饭啦!
- printf("%d\n",ans);
- }
- return ;
- }
<SDOI2009>学校食堂的更多相关文章
- BZOJ 1226: [SDOI2009]学校食堂Dining
1226: [SDOI2009]学校食堂Dining Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 730 Solved: 446[Submit][ ...
- 【题解】Luogu P2157 [SDOI2009]学校食堂
原题传送门:P2157 [SDOI2009]学校食堂 一看题目就知道是状压dp 设f[i][j][k]表示第1到i-1个人都吃完了饭,第i个人以及后面的7个人是否打饭的状态为j,当前最后打饭的人的编号 ...
- 【BZOJ1226】[SDOI2009]学校食堂Dining 状压DP
[BZOJ1226][SDOI2009]学校食堂Dining Description 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满 ...
- 1226: [SDOI2009]学校食堂Dining - BZOJ
Description 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人的口味都可以 ...
- bzoj 1226 [SDOI2009]学校食堂Dining(状压DP)
Description 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人的口味都可以 ...
- [SDOI2009]学校食堂Dining
题目描述 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人的口味都可以用一个非负整数 ...
- P2157 [SDOI2009]学校食堂
题目描述 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人的口味都可以用一个非负整数 ...
- P2157 [SDOI2009]学校食堂 (dp+状态压缩)
题目链接:传送门 题目: 题目描述 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人 ...
- P2157 [SDOI2009]学校食堂Dining
题目描述 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人的口味都可以用一个非负整数 ...
- 【bzoj1226】【[SDOI2009]学校食堂Dining】状压dp
(上不了p站我要死了,侵权度娘背锅) Description 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人 ...
随机推荐
- 吴裕雄--天生自然 PHP开发学习:MySQL 读取数据
<?php $servername = "localhost"; $username = "root"; $password = "admin& ...
- 微服务项目开发学成在线_day02 CMS前端开发
1 Vue.js与Webpack研究 开发版的浏览器:https://www.google.cn/intl/zh-CN/chrome/dev/ 前端的开发框架:微服务项目开发学成在线_Vue.js与W ...
- SOA架构设计分析
SOA(Service-Oriented Architecture,面向服务的架构)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和契约联系起来. S ...
- Heavy Light Decomposition
Note 1.DFS1 mark all the depth mark fathers mark the heavy/light children mark the size of each subt ...
- tensorflow slim训练以及到安卓部署教程
https://blog.csdn.net/chenyuping333/article/details/81537551 https://blog.csdn.net/u012328159/articl ...
- tensorflow实现卷积层的几种方式
#coding:utf-8 #第一种实现 tf.nn import tensorflow as tf import tensorflow.contrib.slim as slim tf.reset_d ...
- Java--Json解析
普通Json {"code":"S0000", "describe":"数据正常返回", "result&qu ...
- IT运维体系
- 吴裕雄--天生自然 JAVA开发学习:数据结构
import java.util.Vector; import java.util.Enumeration; public class EnumerationTester { public stati ...
- C++中free()与delete的区别
1.new/delete是C++的操作符,而malloc/free是C中的函数. 2.new做两件事,一是分配内存,二是调用类的构造函数:同样,delete会调用类的析构函数和释放内存.而malloc ...