这题目描述不清啊、省选应该有人解释吧,

对着理解错的题调了一上午。。。

注意  如果一个人b==5 那这个人后面6个以后的都不能在这个人以前选

这个题就是怎么处理7的问题,状压枚举,同时满足条件的选人方案是一个单调的区间

码:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int T,i,j,k,l,er[30],n,b[1005];
int ans,a[1005],f[1005][290][18];
int main()
{
scanf("%d",&T);
er[0]=1;
for(i=1;i<=16;i++)er[i]=er[i-1]*2;
while(T--)
{ans=100000000000009;memset(f,0x7f,sizeof(f));
scanf("%d",&n);
for(i=1;i<=n;i++)    scanf("%d%d",&a[i],&b[i]),b[i]=min(b[i],n-i);
f[1][0][7]=0;for(i=1;i<=n;i++)//扫位置 {for(j=0;j<er[8];j++)//不接受上一个给过了的状态//扫后8个人的状态 { for(k=-8;k<=7;k++)//上一个吃的人2^k {if(f[i][j][k+8]>1000000000)continue;    int r=b[i];if(j&1){//  cout<<i<<" "<<(j)<<" "<<k<<" "<<f[i][j][k+8]<<endl;f[i+1][j>>1][k+8-1]=min(f[i][j][k+8],f[i+1][j>>1][k+8-1]);          }elsefor(l=0;l<=7;l++) //这一次吃的人{ if(j&er[l])continue;//已经喂过 if(l>r)break;r=min(l+b[i+l],r);f[i][j|er[l]][l+8]=min(f[i][j|er[l]][l+8],f[i][j][k+8]+(  (i+k==0)?0:(a[i+k]^a[i+l]))); }             }   }}for(i=-8;i<=-1;i++){ans=min(ans,f[n+1][0][i+8]);    }printf("%d\n",ans);
}
} 

2017.10.24 学校食堂Dining 失败总结相关推荐

  1. 【BZOJ1226/SDOI2009】学校食堂Dining

    1226: [SDOI2009]学校食堂Dining Time Limit: 10 Sec  Memory Limit: 259 MB                                 ...

  2. [bzoj1226]学校食堂Dining

    [bzoj1226]学校食堂Dining 状压dp,注意记上一个人的时候要记到负数(当前这个人之前) 代码 #include<bits/stdc++.h> using namespace ...

  3. [SDOI2009]学校食堂Dining

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

  4. [SDOI2009]学校食堂Dining(洛谷2157)

    标签:状压DP,bitset位运算 题目描述 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同 ...

  5. [SDOI2009]学校食堂Dining 洛谷p2157

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

  6. BZOJ 1226 [SDOI2009] 学校食堂Dining

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

  7. 2017.10.24队内互测——压轴出场的互测终曲|(*_-)

    出题人: Sherlock, Frank, WWQ, MurasameKatana 终于到了我们组出题啦. 题面都是我自己写的2333 Problem 1 :令咒 题目来源:http://codevs ...

  8. BZOJ 1226: [SDOI2009]学校食堂Dining [DP 状压]

    题意: $n$个人排队打饭,第$i$个人口味$a_i$,能容忍最多身后第$b_i$个人先打饭. 先后两人$i,j$做饭时间为$a_i & a_j - a_i | a_j$ 求最少时间 一开始想 ...

  9. 队内胡策 2017.10.24 求逆序对+表达式计算+贪心+Bfs+最短路、exgcd

    *PS:为什么我t5死活都调不出来呢(눈‸눈) T1:原创,参考noip火柴排队. T2: codevs 2178 表达式运算Cuties (我自己找的) T3:Codeforce867E(865D) ...

最新文章

  1. 聊聊 HashMap 和 TreeMap 的内部结构
  2. java基础之【堆、栈、方法区】结构图
  3. SD-WAN — 核心能力
  4. 南昌推进“互联网+”智慧城市建设
  5. python协程池操作mysql_python_协程方式操作数据库
  6. python prt_Python中的self
  7. 如何查看PublicKeyToken
  8. C++static类静态成员函数及变量解析
  9. Spring好处—总结
  10. 分享一个免杀的netcat.exe
  11. PHP经验——获得PHP版本信息及版本比较
  12. HTML5期末大作业:个人网站设计——简单响应式个人博客HTML模板(8页面) HTML+CSS+JavaScript...
  13. 《炬丰科技-半导体工艺》三维硅MEMS结构微加工
  14. UE4莫名其妙崩溃的解决办法
  15. 停车场车牌识别收费系统厂家
  16. java 调excel 的宏_Microsoft Excel宏来运行Java程序
  17. imu oracle,IMU技术
  18. 老男孩脱产班Linux运维51期
  19. 使用Python对大脑成像数据进行可视化分析
  20. matlab代码规范(自用)

热门文章

  1. 使用Java模拟线性表顺序存储结构
  2. Android笔记 fragment入门 动态加载fragment demo+ 判断横竖屏
  3. 2048游戏c语言实验报告,2048游戏语言实验报告.doc
  4. python以追加方式打开文件 线程安全吗_多线程追加文件,不加锁,会出现什么情况 ?...
  5. 【IDEA工具设置】解决控制台中文输出乱码问题
  6. A Scala Tutorial for Java programmers之(一)Scala入门:Scala例子,以及如何与Java交互
  7. activiti5.13 框架 数据库设计说明书
  8. Java获取数据类型
  9. linux增加 inode空间,linux 增加inode 的方法
  10. python读取word文档结构图_python根据文章标题内容自动生成摘分享的实例