T1:

  水题;

代码:

#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
#define maxn 100005
int n,ai[maxn],Max[maxn],bi[maxn],size;
int tree[maxn];
inline void in(int &now)
{
char Cget=getchar();now=;
while(Cget>''||Cget<'') Cget=getchar();
while(Cget>=''&&Cget<='')
{
now=now*+Cget-'';
Cget=getchar();
}
}
inline void add(int x)
{
while(x<=n) tree[x]++,x+=x&(-x);
}
inline bool judge(int l,int r)
{
int res=;l--;
while(r) res+=tree[r],r-=r&(-r);
while(l) res-=tree[l],l-=l&(-l);
return res;
}
int lower_bound(int x)
{
int l=,r=size,mid;
while(l<=r)
{
mid=l+r>>;
if(bi[mid]==x) return mid;
if(bi[mid]<x) l=mid+;
else r=mid-;
}
}
int main()
{
freopen("disk.in","r",stdin);
freopen("disk.out","w",stdout);
while(scanf("%d",&n)!=EOF)
{
for(int i=;i<=n;i++) in(ai[n-i+]),bi[i]=ai[n-i+],tree[i]=;
sort(bi+,bi+n+),size=unique(bi+,bi+n+)-bi-;
for(int i=;i<=n;i++) ai[i]=lower_bound(ai[i]);
Max[n+]=;
for(int i=n;i>;i--) Max[i]=max(Max[i+],ai[i]);
bool ans=true;
add(ai[]);
for(int i=;i<n;i++)
{
if(ai[i]+<Max[i+])
{
if(judge(ai[i]+,Max[i+]))
{
ans=false;
break;
}
}
add(ai[i]);
}
if(ans) puts("Y");
else puts("J");
}
return ;
}

T2:

  样例不过却ac,我也很无奈啊~~

代码:

#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
#define maxn 1005
int x[maxn],y[maxn],bi[maxn<<],size,n,cnt;
int num[maxn<<][maxn<<],ans=;
inline void in(int &now)
{
int if_z=;now=;
char Cget=getchar();
while(Cget>''||Cget<'')
{
if(Cget=='-')if_z=-;
Cget=getchar();
}
while(Cget>=''&&Cget<='')
{
now=now*+Cget-'';
Cget=getchar();
}
now*=if_z;
}
int dge(int xx,int yy)
{
int xx_=lower_bound(bi+,bi+size+,xx)-bi;
int yy_=lower_bound(bi+,bi+size+,yy)-bi;
if(bi[xx_]==xx&&yy==bi[yy_]) return num[xx_][yy_];
return ;
}
inline void Count(int a,int b)
{
int xa=x[a],ya=y[a],xb=x[b],yb=y[b];
num[xa][ya]--,num[xb][yb]--;
if(xa>xb) swap(xa,xb),swap(ya,yb);
int dx=bi[xb]-bi[xa],dy=bi[yb]-bi[ya];
int xxa,yya,xxb,yyb;
xxa=bi[xa]+dy,yya=bi[ya]-dx;
xxb=bi[xb]-dy,yyb=bi[yb]-dx;
if(xxa!=xxb||yya!=yyb) ans+=dge(xxa,yya)*dge(xxb,yyb);
else ans+=dge(xxa,yya)*(dge(xxb,yyb)-);
xxa=bi[xa]-dy,yya=bi[ya]+dx;
xxb=bi[xb]+dy,yyb=bi[yb]+dx;
if(xxa!=xxb||yya!=yyb) ans+=dge(xxa,yya)*dge(xxb,yyb);
else ans+=dge(xxa,yya)*(dge(xxb,yyb)-);
num[xa][ya]++,num[xb][yb]++;
}
int main()
{
freopen("car.in","r",stdin);
freopen("car.out","w",stdout);
in(n);
for(int i=;i<=n;i++)
{
in(x[i]),in(y[i]);
bi[++cnt]=x[i],bi[++cnt]=y[i];
}
sort(bi+,bi+cnt+),size=unique(bi+,bi+cnt+)-bi-;
for(int i=;i<=n;i++)
{
x[i]=lower_bound(bi+,bi+size+,x[i])-bi;
y[i]=lower_bound(bi+,bi+size+,y[i])-bi;
num[x[i]][y[i]]++;
}
for(int i=;i<=n;i++)
{
for(int v=i+;v<=n;v++)
{
if(v==i) continue;
Count(i,v);
}
}
cout<<ans/;
return ;
}

T3:

  坑爹!!!!

代码:

#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
#define maxn 30005
#define ll long long
ll n,ai[maxn],bi[maxn],size,root[maxn],tot;
ll lc[maxn*],rc[maxn*],dis[maxn*],m;
inline void in(ll &now)
{
char Cget=getchar();now=;
while(Cget>''||Cget<'')Cget=getchar();
while(Cget>=''&&Cget<='')
{
now=now*+Cget-'';
Cget=getchar();
}
}
void build(ll &now,ll l,ll r)
{
now=++tot;
if(l==r) return;
ll mid=l+r>>;
build(lc[now],l,mid);
build(rc[now],mid+,r);
}
void add(ll &now,ll pre,ll l,ll r,ll to)
{
now=++tot;dis[now]=dis[pre]+;
if(l==r) return;ll mid=l+r>>;
if(to<=mid) add(lc[now],lc[pre],l,mid,to),rc[now]=rc[pre];
else add(rc[now],rc[pre],mid+,r,to),lc[now]=lc[pre];
}
ll query(ll now,ll l,ll r,ll k)
{
if(l==r) return l;
ll mid=l+r>>;
if(k<=dis[lc[now]]) return query(lc[now],l,mid,k);
else return query(rc[now],mid+,r,k-dis[lc[now]]);
}
int main()
{
freopen("rollcall.in","r",stdin);
freopen("rollcall.out","w",stdout);
in(n),in(m);
for(ll i=;i<=n;i++) in(ai[i]),bi[i]=ai[i];
sort(bi+,bi+n+),size=unique(bi+,bi+n+)-bi-;
for(ll i=;i<=n;i++) ai[i]=lower_bound(bi+,bi+size+,ai[i])-bi;
build(root[],,size);
for(ll i=;i<=n;i++) add(root[i],root[i-],,size,ai[i]);
ll pos;
for(ll i=;i<=m;i++) in(pos),printf("%I64d\n",bi[query(root[pos],,size,i)]);
return ;
}

NOIP模拟2017.6.11解题报告的更多相关文章

  1. NOIP模拟赛-旅行者问题 解题报告

    旅行者问题 [问题描述] lahub是一个旅行者的粉丝,他想成为一个真正的旅行者,所以他计划开始一段旅行.lahub想去参观n个目的地(都在一条直道上).lahub在起点开始他的旅行.第i个目的地和起 ...

  2. 牛客 NOIp模拟1 T1 中位数 解题报告

    中位数 题目描述 小\(N\)得到了一个非常神奇的序列\(A\).这个序列长度为\(N\),下标从\(1\)开始.\(A\)的一个子区间对应一个序列,可以由数对\([l,r]\)表示,代表\(A[l] ...

  3. 牛客 NOIp模拟1 T3 保护 解题报告

    保护 题目描述 \(C\)国有\(n\)个城市,城市间通过一个树形结构形成一个连通图.城市编号为\(1\)到\(n\),其中\(1\)号城市为首都.国家有\(m\)支军队,分别守卫一条路径的城市.具体 ...

  4. ACM-ICPC 2017 Asia HongKong 解题报告

    ACM-ICPC 2017 Asia HongKong 解题报告 任意门:https://nanti.jisuanke.com/?kw=ACM-ICPC%202017%20Asia%20HongKon ...

  5. 模拟赛T2 交换 解题报告

    模拟赛T2 交换 解题报告 题目大意: 给定一个序列和若干个区间,每次从区间中选择两个数修改使字典序最小. \(n,m\) 同阶 \(10^6\) 2.1 算法 1 按照题意模拟,枚举交换位置并比较. ...

  6. NOIP模拟赛-2018.11.7

    NOIP模拟赛 如果用命令行编译程序可以发现没加头文件之类的错误. 如果用命令行编译程序可以发现没加头文件之类的错误. 如果用命令行编译程序可以发现没加头文件之类的错误. 编译之前另存一份,听说如果敲 ...

  7. NOIP模拟赛-2018.11.6

    NOIP模拟赛 今天想着反正高一高二都要考试,那么干脆跟着高二考吧,因为高二的比赛更有技术含量(我自己带的键盘放在这里). 今天考了一套英文题?发现阅读理解还是有一些困难的. T1:有$n$个点,$m ...

  8. NOIP模拟赛-2018.11.5

    NOIP模拟赛 好像最近每天都会有模拟赛了.今天从高二逃考试跑到高一机房,然而高一也要考试,这回好像没有拒绝的理由了. 今天的模拟赛好像很有技术含量的感觉. T1:xgy断句. 好诡异的题目,首先给出 ...

  9. NOIP 2018 提高组初赛解题报告

    单项选择题: D 进制转换题,送分: D 计算机常识题,Python是解释运行的: B 常识题,1984年小平爷爷曰:“娃娃抓起”: A 数据结构常识题,带进去两个数据就可以选出来: D 历年真题没有 ...

随机推荐

  1. ImageNet: what is top-1 and top-5 error rate?

    https://stats.stackexchange.com/questions/156471/imagenet-what-is-top-1-and-top-5-error-rate Your cl ...

  2. finetune on caffe

    官方例程:http://caffe.berkeleyvision.org/gathered/examples/finetune_flickr_style.html 相应的中文说明:http://blo ...

  3. HDU1166:敌兵布阵(线段树模板)

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  4. G - YYS FZU - 2278 数学期望 (大数)

    Yinyangshi is a famous RPG game on mobile phones. Kim enjoys collecting cards in this game. Suppose ...

  5. mybatis分页查询需要注意的问题

    一般对mybatis的分页查询的关键代码就两行: #currentPage代表当前页,pageSize代表每页的行数 PageHelper.startPage(currentPage, pageSiz ...

  6. win7无法登陆linux samba共享

    网上查了一下资料,总共有以下几种做法: 1.防火墙 2. Open the Run command and type "secpol.msc". Press "conti ...

  7. 如何更有效使用 Rational AppScan 扫描大型网站,第 1 部分: 工作原理及技术分析

    Rational AppScan 工作原理 Rational AppScan(简称 AppScan)其实是一个产品家族,包括众多的应用安全扫描产品,从开发阶段的源代码扫描的 AppScan sourc ...

  8. linux环境下,接着lnmp,安装redis

    linux环境下,安装redis   操作记录: 回到家目录 cd ~查看   ls进入   lump cd lnmp1.3-fullls??? sudo  ./addons.sh //---进入后选 ...

  9. git代码冲突

    如果系统中有一些配置文件在服务器上做了配置修改,然后后续开发又新添加一些配置项的时候, 在发布这个配置文件的时候,会发生代码冲突: error: Your local changes to the f ...

  10. 查找一个String中存储的多个数据

    String类型字符串currVal中, 以“,”分隔单个数据,以“|”分隔每组数据: 代码: var tempuseridstart = String.indexOf( ",", ...