我.

调了快一天

因为一个位置错误的感叹号

:-)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

狗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>学校食堂的更多相关文章

  1. BZOJ 1226: [SDOI2009]学校食堂Dining

    1226: [SDOI2009]学校食堂Dining Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 730  Solved: 446[Submit][ ...

  2. 【题解】Luogu P2157 [SDOI2009]学校食堂

    原题传送门:P2157 [SDOI2009]学校食堂 一看题目就知道是状压dp 设f[i][j][k]表示第1到i-1个人都吃完了饭,第i个人以及后面的7个人是否打饭的状态为j,当前最后打饭的人的编号 ...

  3. 【BZOJ1226】[SDOI2009]学校食堂Dining 状压DP

    [BZOJ1226][SDOI2009]学校食堂Dining Description 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满 ...

  4. 1226: [SDOI2009]学校食堂Dining - BZOJ

    Description 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人的口味都可以 ...

  5. bzoj 1226 [SDOI2009]学校食堂Dining(状压DP)

    Description 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人的口味都可以 ...

  6. [SDOI2009]学校食堂Dining

    题目描述 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人的口味都可以用一个非负整数 ...

  7. P2157 [SDOI2009]学校食堂

    题目描述 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人的口味都可以用一个非负整数 ...

  8. P2157 [SDOI2009]学校食堂 (dp+状态压缩)

    题目链接:传送门 题目: 题目描述 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人 ...

  9. P2157 [SDOI2009]学校食堂Dining

    题目描述 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人的口味都可以用一个非负整数 ...

  10. 【bzoj1226】【[SDOI2009]学校食堂Dining】状压dp

    (上不了p站我要死了,侵权度娘背锅) Description 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人 ...

随机推荐

  1. PAT Advanced 1067 Sort with Swap(0,*) (25) [贪⼼算法]

    题目 Given any permutation of the numbers {0, 1, 2,-, N-1}, it is easy to sort them in increasing orde ...

  2. quartz定时任务(数据库需要的表)

    Quartz将Job保存在数据库中所需表的说明 QRTZ_CALENDARS 以 Blob 类型存储 Quartz 的 Calendar 信息 QRTZ_CRON_TRIGGERS 存储 Cron T ...

  3. 实现迭代器(\_\_next\_\_和\_\_iter\_\_)

    目录 实现迭代器(__next__和__iter__) 一.简单示例 二.StopIteration异常版 三.模拟range 四.斐波那契数列 实现迭代器(__next__和__iter__) 一. ...

  4. zxing生成二维码转base64 img直接显示 Image对象转Base64码(java)

    public static String encodeToBase64(String content){ MultiFormatWriter multiFormatWriter = new Multi ...

  5. UML-如何迭代

    未完待续...

  6. python tricks 01

    01: 考察range/sort/lambda 对以下数据进行排序 原数据: [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5] 目标数据: [0, -1, 1, -2, 2 ...

  7. learning Perl:91行有啥用? 88 print "\n----------------------------------_matching_multiple-line_text--------------------------\n"; 91 my $lines = join '', <FILE>;

    89 open FILE, "< file_4_ex_ch7.txt"     90     or die "cannot open file: $!"; ...

  8. axios 模拟同步请求

    axios本身没有同步请求,但是我们很多情况下必须得需要同步请求.那么应该怎么做? 上网查了一些资料有人说用es6的 async +  assert 我不知道有没有效果,因为我的功能中是没啥效果的. ...

  9. iOS UIWebView 允许所有三方cookie

    前几天项目中用到UIWebView, 而在网页中,用到了多说评论的第三方.但是当我在手机端发表评论的时候,出现禁用第三方cookie,而安卓是没有这种情况的,于是就在找原因.找了很久也没有找到原因.一 ...

  10. Linux的iptables菜鸟初学

    什么是iptables? iptables是linux下的命令行工具,操控的是linux的防火墙,这个防火墙叫netfilter.通俗的说应该是用户通过iptables把安全设定设置给netfilte ...