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. Python通过PhantomJS获取JS渲染后的网页源代码

    新建一个文件,命名为test.js,内容如下: var page = require('webpage').create(), system = require('system'), address; ...

  2. 背景建模技术(七):预处理(PreProcessor)模块

    预处理(PreProcessor)模块是BgsLibrary中一个必选的模块,是真正进入背景建模算法的“预处理”过程,其主要功能包括‘去模糊’.‘获得灰度图’.'应用Canny算子‘等可选模块. 下面 ...

  3. 关于string::size_type

    size_type其实是string模板类定义的一种类型之一,它与size_of的用法相似,只是它根据存储的类型返回字符串的长度.对于 string具体化,将根据char返回字符串的长度,在这种情况下 ...

  4. Linux网络监控工具nethogs

    Linux网络监控工具nethogs 标签: 监控工具linux 2015-12-17 22:06 448人阅读 评论(0) 收藏 举报  分类: linux(40)  版权声明:本文为博主原创文章, ...

  5. Nginx的启动、停止、平滑重启

    转载自:http://www.xj123.info/2572.html 启动Nginx /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/ngi ...

  6. 在windows下如何使用密钥对远程登录服务器?

    在企业的生产中相信各位朋友都会使用远程登录服务器,这样即高效也非常方便,(服务器在西藏,没有远程技术,公司在北京,你只能到西藏与机器相伴,在这里我使用xshell软件),我们使用ssh 服务登录服务器 ...

  7. mysql Innodb索引

    基本概念 对于mysql目前的默认存储引擎Innodb来说,索引分为2个,一个是聚集索引,一个是普通索引(也叫二级索引). 聚集索引:聚集索引的顺序和数据在磁盘的顺序一致,因此查询时使用聚集索引,效率 ...

  8. dp,状压dp等 一些总结

    也就作业几题而已,分析一下提醒 最重要的就是,记住,没用的状态无论怎么转移最后都会是没用的状态,所以每次转移以后的有值的状态都是有用的状态. 几种思考方向: 第一种:枚举当前的状态,转移成另外一个状态 ...

  9. [洛谷P3763] [TJOI2017]DNA

    洛谷题目链接:[TJOI2017]DNA 题目描述 加里敦大学的生物研究所,发现了决定人喜不喜欢吃藕的基因序列S,有这个序列的碱基序列就会表现出喜欢吃藕的性状,但是研究人员发现对碱基序列S,任意修改其 ...

  10. SCU 1029 Humble Numbers (打表处理)

    题目链接 题意:素因子中只有2 3 5 7的数称为谦逊的数,1也是谦逊的数,题目中已经给出了前20个谦逊的数.给定数字n,按格式输出第n个谦逊的数. 题解:打表即可,注意打表的技巧就行了. ps:这道 ...