codevs 1135 选择客栈 2011年NOIP全国联赛提高组
2017-03-11 15:29
519 查看
数据结构我大概是废掉了……虽然考试时使用神奇的暴力过了80分,但是没有用dp和数据结构果然超时……线段树大法好
get到很高级的加速器register,虽然只能在for很大的数的时候用,但还是很流弊啊……
get到很高级的加速器register,虽然只能在for很大的数的时候用,但还是很流弊啊……
#include<cstdio> #include<algorithm> #define N 200002 using namespace std; int n,k,p,a ,b ,color[51] ,ans=0; struct Node { int minn; Node *ls,*rs; }pool[N*2+5],*tail=pool,*root; Node *build(int l, int r) { Node *nd=++tail; if(l==r) nd->minn=b[l]; else { int mid=(l+r)>>1; nd->ls=build(l,mid); nd->rs=build(mid+1,r); nd->minn=min(nd->ls->minn,nd->rs->minn); } return nd; } int query(Node *nd,int l,int r,int L,int R) { if(L<=l&&r<=R) return nd->minn; int mid=(l+r)>>1; int _min=0x3FFFFF; if(L<=mid) _min=min(_min,query(nd->ls,l,mid,L,R)); if(R>mid) _min=min(_min,query(nd->rs,mid+1,r,L,R)); return _min; } int main() { freopen( "hotel.in", "r", stdin ); freopen( "hotel.out", "w", stdout ); scanf("%d%d%d", &n, &k, &p); for(register int i=1;i<=n;i++) { scanf("%d%d",&a[i],&b[i]); color[a[i]][0]++; color[a[i]][color[a[i]][0]]=i; } root=build(1,n); for(register int i=0;i<k;i++) { int tot=color[i][0]; for(register int j=1;j<=tot;j++) for(register int k=j+1;k<=tot;k++) { int u=color[i][j],v=color[i][k]; if(query(root,1,n,u,v)<=p) { ans+=color[i][0]-k+1; break; } } } printf("%d",ans); return 0; }
相关文章推荐
- Codevs 1138 聪明的质监员 2011年NOIP全国联赛提高组
- Codevs 1137 计算系数 2011年NOIP全国联赛提高组
- codevs 1136 Mayan 游戏 2011年NOIP全国联赛提高组
- 宽度优先搜索 之 CODE[VS] 1099 字串变换 2002年NOIP全国联赛提高组
- 深度优先搜索 之 CODE[VS] 1018 单词接龙 2000年NOIP全国联赛普及组NOIP全国联赛提高组
- 贪心 + 并查集 之 CODE[VS] 1069 关押罪犯 2010年NOIP全国联赛提高组
- Codevs P1066 引水入城 2010年NOIP全国联赛提高组
- 棋盘型动态规划 之 CODE[VS] 1169 传纸条 2008年NOIP全国联赛提高组
- CodeVs 1135 && noip 2011 Day1-2 选择客栈
- 划分型动态规划 之 CODE[VS] 1017 乘积最大 2000年NOIP全国联赛提高组
- vijos p1844(codevs 3288 ) 积木大赛 2013年NOIP全国联赛提高组
- POJ1651 Codevs1017 乘积最大 ---2000年NOIP全国联赛提高组 dp
- Codevs 1001 舒适的路线 2006年 NOIP全国联赛提高组
- Codevs 3731 寻找道路 2014年 NOIP全国联赛提高组
- 【noip2011】codevs1135选择客栈
- Codevs P1157 2k进制数 2006年NOIP全国联赛提高组
- Codevs 1198 国王游戏 2012年NOIP全国联赛提高组
- 【NOIP2011TG】【OJ4366】【codevs1135】选择客栈
- 区间型动态规划 之 CODE[VS] 1154 能量项链 (2006年NOIP全国联赛提高组)
- CODE[VS] 天梯 1098 均分纸牌 2002年NOIP全国联赛提高组