NOIP模拟2017.6.11解题报告
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解题报告的更多相关文章
- NOIP模拟赛-旅行者问题 解题报告
旅行者问题 [问题描述] lahub是一个旅行者的粉丝,他想成为一个真正的旅行者,所以他计划开始一段旅行.lahub想去参观n个目的地(都在一条直道上).lahub在起点开始他的旅行.第i个目的地和起 ...
- 牛客 NOIp模拟1 T1 中位数 解题报告
中位数 题目描述 小\(N\)得到了一个非常神奇的序列\(A\).这个序列长度为\(N\),下标从\(1\)开始.\(A\)的一个子区间对应一个序列,可以由数对\([l,r]\)表示,代表\(A[l] ...
- 牛客 NOIp模拟1 T3 保护 解题报告
保护 题目描述 \(C\)国有\(n\)个城市,城市间通过一个树形结构形成一个连通图.城市编号为\(1\)到\(n\),其中\(1\)号城市为首都.国家有\(m\)支军队,分别守卫一条路径的城市.具体 ...
- ACM-ICPC 2017 Asia HongKong 解题报告
ACM-ICPC 2017 Asia HongKong 解题报告 任意门:https://nanti.jisuanke.com/?kw=ACM-ICPC%202017%20Asia%20HongKon ...
- 模拟赛T2 交换 解题报告
模拟赛T2 交换 解题报告 题目大意: 给定一个序列和若干个区间,每次从区间中选择两个数修改使字典序最小. \(n,m\) 同阶 \(10^6\) 2.1 算法 1 按照题意模拟,枚举交换位置并比较. ...
- NOIP模拟赛-2018.11.7
NOIP模拟赛 如果用命令行编译程序可以发现没加头文件之类的错误. 如果用命令行编译程序可以发现没加头文件之类的错误. 如果用命令行编译程序可以发现没加头文件之类的错误. 编译之前另存一份,听说如果敲 ...
- NOIP模拟赛-2018.11.6
NOIP模拟赛 今天想着反正高一高二都要考试,那么干脆跟着高二考吧,因为高二的比赛更有技术含量(我自己带的键盘放在这里). 今天考了一套英文题?发现阅读理解还是有一些困难的. T1:有$n$个点,$m ...
- NOIP模拟赛-2018.11.5
NOIP模拟赛 好像最近每天都会有模拟赛了.今天从高二逃考试跑到高一机房,然而高一也要考试,这回好像没有拒绝的理由了. 今天的模拟赛好像很有技术含量的感觉. T1:xgy断句. 好诡异的题目,首先给出 ...
- NOIP 2018 提高组初赛解题报告
单项选择题: D 进制转换题,送分: D 计算机常识题,Python是解释运行的: B 常识题,1984年小平爷爷曰:“娃娃抓起”: A 数据结构常识题,带进去两个数据就可以选出来: D 历年真题没有 ...
随机推荐
- Qt error ------ 出现Error - RtlWerpReportException failed with status code :-1073741823. Will try to launch the process directly
出现原因: 使用了不存在的对象 数组越界了 用 delete 释放未分配的内存空间,或者超过一次释放同个内存 比如: 顺序不能颠倒 正确: ui->setupUi(this); ui->t ...
- [解决] User [dr.who] is not authorized to view the logs for application
在hadoop集群启用权限控制后,发现job运行日志的ui访问不了, User [dr.who] is not authorized to view the logs for application ...
- BigBlueButton简介
BigBlueButton是一套开源的视频会议系统,特别适用于远程教育但也可以用于标准的会议.该系统 可以让多个用户登录共享他们的摄像头并同时能够通过VOIP进行交流.可以在线演示PDF和Office ...
- Struts整合ExtJS
1准备工作: 除了平时引入的struts2的jar包以外,还需要引入struts2-json-plugin-2.1.8.1.jar:json-lib-2.1.jar这两个包. 2.建立我们的model ...
- c# txt 文件上传、写入TXT文件、创建图形验证码
asp.net mvc 图片上传 html 在使用包含文件上传控件的表单时,必须使用 enctype="multipart/form-data" 属性 <form encty ...
- redis 模糊查找keys
Redis入门教程可参考:超强.超详细Redis数据库入门教程 Redis操作命令可参考:Redis操作命令总结 redis可以通过命令Keys Match来进行键值的模糊匹配,借助StackExch ...
- Warning: File upload error - unable to create a temporary file in Unknown on line 0
upload_tmp_dir 临时文件夹问题 上传文件提示 Warning: File upload error - unable to create a temporary file in Unkn ...
- web服务器和数据库服务器不在一台机器上
把localhost改成数据库所在的IP就行了. $link=mysql_connect( "202.195.246.202 ", "root ", " ...
- Python学习笔记 - day9 - 模块与包
模块与包 一个模块就是一个包含了Python定义和声明的文件,文件名就是模块名加上.py的后缀,导入一个py文件,解释器解释该py文件,导入一个包,解释器解释该包下的 __init__.py 文件,所 ...
- 【EverydaySport】健身笔记——动态牵拉
动态牵拉,包含了动态和牵拉两个概念.动态牵拉要求牵拉的过程要伴随着走路,即行进中牵拉,动态牵拉不仅可以使得肌肉得到延展,还可以激活肌肉协同工作,发展协调性.灵活性.进行动态牵拉时每个动作要进行5~10 ...