题目不附了,是一个单纯的ST模型,但是考验各种常数优化。

最大的优化是对于同颜色的客栈来说,如果1号和2号成功配对了,那么1和3,1和4都可以成功配对,那么只要找到一对成功配对的,我们就直接加上剩下的对数就好了。

代码之中使用了一些特殊的存储方式做了点查询枚举的优化,可能有点难看……我找个时间敲一个比较易懂的代码,在那之前就麻烦客官看看这个丑的要死的代码了OYZ

 #include <algorithm>
#include <iostream>
#include <fstream>
#include <cstring>
#include <cstdlib>
#include <cmath>
using namespace std;
ifstream fin("hotel.in");
ofstream fout("hotel.out");
int Beiz[][][]={},Hote[][]={};//0为颜色,1为价格
int Color[][]={};//第i种颜色的顺序排列客栈
int gs[]={};//
int C2[]={,,,,,,,,,,,,,,,,,,,};
int bh[]={};//在Color数组中的编号
int Colors=,Hots=,Most=;
void Bz(int cs);//倍增预处理
int ST(int ks,int js);//ST算法查询最小值
int main(void)
{
fin>>Hots>>Colors>>Most;
for(int i=;i<=Hots;i++)
{
fin>>Hote[i][]>>Hote[i][];
Color[Hote[i][]][++gs[Hote[i][]]]=i;
bh[i]=gs[Hote[i][]];
Beiz[i][][]=Hote[i][];
Beiz[i][][]=i+;
}
Bz();
long long int Least=0ll,Fas=0ll,Zz=0ll,Gs=0ll;
for(int i=;i<=Hots;i++)
{
for(int j=bh[i]+;j<=gs[Hote[i][]];j++)
{
Zz=Color[Hote[i][]][j];
Least=ST(i,Zz);
if(Least<=Most)
{
Fas+=gs[Hote[i][]]-j+;
break;
}
}
}
fout<<Fas<<"\n";
return ;
} void Bz(int cs)
{
if(cs==)return;
for(int i=;i<=Hots;i++)
{
Beiz[i][cs][]=min(Beiz[Beiz[i][cs-][]][cs-][],Beiz[i][cs-][]);
Beiz[i][cs][]=Beiz[Beiz[i][cs-][]][cs-][];
}
Bz(cs+);
return;
} int ST(int ks,int js)
{
int L1=,L2=,Mid=;
double K=log((double)(js-ks))/log((double));
Mid=(int)K;
L1=Beiz[ks][Mid][];
L2=Beiz[js-C2[Mid]+][Mid][];
return min(L1,L2);
}

【NOIP2011提高组】选择客栈的更多相关文章

  1. Noip2011 提高组 选择客栈

    P1311 选择客栈 直通 思路: ①看题,我们可以发现一个显然的性质,即当最左边的客栈向右移动时,最右边的客栈时单调向右的,并且右端点往右的客栈也符合要求.(因为只要左侧有一个满足的,右边的自然可以 ...

  2. NOIP2011提高组 选择客栈

    原题 题目描述 丽江河边有n 家很有特色的客栈,客栈按照其位置顺序从 1 到n 编号.每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 ~ k-1 表示),且每家客栈都设有一家咖啡店,每家咖 ...

  3. luogu1003铺地毯[noip2011 提高组 Day1 T1]

    题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n .现在将这些地毯按照编号从小到大的顺序平行于 ...

  4. [NOIP2011] 提高组 洛谷P1312 Mayan游戏

    题目描述 Mayan puzzle是最近流行起来的一个游戏.游戏界面是一个 7 行5 列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即方块必须放在最下面一行,或者放在其他方块之上.游戏通关是指在规定 ...

  5. [NOIP2011] 提高组 洛谷P1315 观光公交

    题目描述 风景迷人的小城Y 市,拥有n 个美丽的景点.由于慕名而来的游客越来越多,Y 市特意安排了一辆观光公交车,为游客提供更便捷的交通服务.观光公交车在第 0 分钟出现在 1号景点,随后依次前往 2 ...

  6. [NOIP2011] 提高组 洛谷P1003 铺地毯

    题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n .现在将这些地毯按照编号从小到大的顺序平行于 ...

  7. NOIP2011(提高组)DAY2---观光公交(vijosP1741)

    描述 风景迷人的小城Y市,拥有n个美丽的景点.由于慕名而来的游客越来越多,Y市特意安排了一辆观光公交车,为游客提供更便捷的交通服务.观光公交车在第0分钟出现在1号景点,随后依次前往2.3.4……n号景 ...

  8. 洛谷-铺地毯-NOIP2011提高组复赛

    题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n .现在将这些地毯按照编号从小到大的顺序平行于 ...

  9. 刷题总结——mayan游戏(NOIP2011提高组day2T3)

    题目: 题目背景 NOIP2011提高组 DAY1 试题. 题目描述 Mayan puzzle 是最近流行起来的一个游戏.游戏界面是一个 7 行 5 列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即 ...

  10. 洛谷P1003 铺地毯 noip2011提高组day1T1

    洛谷P1003 铺地毯 noip2011提高组day1T1 洛谷原题 题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n ...

随机推荐

  1. UML类图的常见关系1

    设计模式之UML类图的常见关系(一)   本篇会讲解在UML类图中,常见几种关系: 泛化(Generalization),依赖(Dependency),关联(Association),聚合(Aggre ...

  2. ODP.NET Managed正式推出

    NET Oracle Developer的福音——ODP.NET Managed正式推出 在.NET平台下开发Oracle应用的小伙伴们肯定都知道一方面做Oracle开发和实施相比SqlServer要 ...

  3. Leetcode:Unique Binary Search Trees & Unique Binary Search Trees II

    Unique Binary Search Trees Given n, how many structurally unique BST's (binary search trees) that st ...

  4. C语言面试问答(3)

    12个滑稽的C语言面试问答——<12个有趣的C语言问答>评析(3) 前文链接:http://www.cnblogs.com/pmer/p/3322429.html 5,atexit wit ...

  5. 【译】TensorFlow Python Docs 之 overview

    Overview 综述 TensorFlow has APIs available in several languages both for constructing and executing a ...

  6. JS关闭当前页面的方法

    JS关闭当前页面的方法 一.不带任何提示关闭窗口的js代码 1 <a href="javascript:window.opener=null;window.open('','_self ...

  7. cooking eggs

    1: what is egg? what's the shape of it in details? 2: can egg run like this http://item.taobao.com/i ...

  8. Spring.Net-创建对象

    1:通过构造函数创建对象    在配置文件中,指明对象类型<object id="" type="类型全名,程序集名" />    在代码中指定对象 ...

  9. 【汇编语言】DEBUG的使用

    在masm for windows中,需要先生存exe文件,然后再点调试按钮. 常用的命令有: R命令:查看.改变CPU寄存器的内容:如果要修改某个寄存器的内容,可以在r的后面接上空格和寄存器名.如: ...

  10. 基于jQuery的ajax系列之用FormData实现页面无刷新上传

    接着上一篇ajax系列之用jQuery的ajax方法向服务器发出get和post请求写,这篇主要写如何利用ajax和FormData实现页面无刷新的文件上传效果,主要用到了jQuery的ajax()方 ...