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 历年真题没有 ...
随机推荐
- last-child 选择器
<!DOCTYPE html> <html> <head> <style> p:last-child //p的父类 的子类下最后一个,就是p兄弟层的最后 ...
- Activity及Intent
1.Activity 在一个Android应用程序中,Activity是为用户操作而展示的可视化界面.比如你要打电话,这个时候的拨号界面就是一个Activity,你要发短信给你的女朋友,这个短信窗口就 ...
- 图论:Prufer编码-Cayley定理
BZOJ1430:运用Cayley定理解决树的形态统计问题 由Prufer编码可以引申出来一个定理:Cayley 内容是不同的n结点标号的树的数量为n^(n-2) 换一种说法就是一棵无根树,当知道结点 ...
- LightOJ 1340 - Story of Tomisu Ghost 阶乘分解素因子
http://www.lightoj.com/volume_showproblem.php?problem=1340 题意:问n!在b进制下至少有t个后缀零,求最大的b. 思路:很容易想到一个数通过分 ...
- 2015/9/15 Python基础(12):模块和包
模块是用来组织 Python 代码的方法,而包则是用来组织模块的. 当代码量很大时,我们一般会把代码分成几个有组织的代码段,然后每个代码段之间有一定的联系.代码单之间是共享的,所以Python允许调入 ...
- 在此位置打开CMD
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\folder\shell\cmd]@="在此位置打开CMD"[HKE ...
- 51nod 1106 质数检测——Mr判素数
质数检测一般都是根号n的写法 当然Mr判素数的方法可以实现log的复杂度2333 Mr判素数的话 我们根据费马小定理只要P是素数 那么另一个素数x 满足 x^P-1≡1(mod P) 同时 x^2%P ...
- 【STSRM10】dp只会看规律
[算法]区间DP [题意]平面上有n个点(xi,yi),用最少个数的底边在x轴上且面积为S的矩形覆盖这些点(在边界上也算覆盖),n<=100. [题解]随机大数据下,贪心几乎没有错误,贪心出奇迹 ...
- UIImageView属性---iOS-Apple苹果官方文档翻译
本系列所有开发文档翻译链接地址:iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址 //转载请注明出处--本文永久链接:http://www.cnblogs.com/C ...
- 牛客网刷题(纯java题型 1~30题)
牛客网刷题(纯java题型 1~30题) 应该是先extend,然后implement class test extends A implements B { public static void m ...