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. rem自适应js代码

    以后懒得写,直接复制了 var computedFz = (function(){ var designWidth = 375, rem2px = 100; function computedFz() ...

  2. 利用pdfJS实现以读取文件流方式在线展示pdf文件

    第一步:下载源码https://github.com/mozilla/pdf.js 第二步:构建PDF.js 第三步:修改viewer.js var DEFAULT_URL = 'compressed ...

  3. 【NOIP】提高组2013 转圈游戏

    [算法]快速幂运算 [题解]ans=(m*10^k+x)%n,用快速幂计算10^k即可,复杂度为O(log k). #include<cstdio> long long n,m,k,x,a ...

  4. 【转载】Quick-Cocos2d-x文件结构分析

    在上一章我们讲过了Quick-Cocos2d-x中的环境搭建,这章我们分析下quick中的文件结构吧!打开quick的文件夹,可以看到如下的这些目录和文件: bin:存放各种与引擎相关的脚本 comp ...

  5. 【洛谷 P4320】 道路相遇 (圆方树,LCA)

    题目链接 题意:给一张无向图和\(M\)个询问,问\(u,v\)之间的路径的必经之点的个数. 对图建出圆方树,然后必经之点就是两点路径经过的原点个数,用\((dep[u]+dep[v]-dep[LCA ...

  6. Yii2实现读写分离(MySQL主从数据库)

    读写分离(Read/Write Splitting). 1.原理: 让主数据库(master)处理事务性增.改.删操作(INSERT.UPDATE.DELETE),而从数据库(slave)处理SELE ...

  7. HDU 2577 How to Type (字符串处理)

    题目链接 Problem Description Pirates have finished developing the typing software. He called Cathy to te ...

  8. 【Python学习笔记】有关包的基本知识

    python的包(package)是一个有层次的文件目录结构.它定义了一个由模块和子包组成的Python应用程序执行环境. AAA/ __init__.py bbb.py CCC/ __init__. ...

  9. Revison

  10. wait函数

    当一个进程正常或异常终止时,内核就向其父进程发送SIGCHLD信号.子进程终止是一个异步事件(其能够在父进程运行的任何时候发生). 对于wait(),其调用者,即父进程可以有如下状态: 如果其所有子进 ...