【Codeforces 91B】Queue
【链接】 我是链接,点我呀:)
【题意】
【题解】
对于每个i,用二分的方法求出来y所在的位置j. 【代码】 [codeforces 415D]Mashmokh and ACM 题意:美丽数列定义:对于数列中的每一个i都满足:arr[i+1]%arr[i]==0 输入n,k(1<=n,k<=200 ... [题目链接]:http://codeforces.com/contest/767/problem/B [题意] 排队去办护照; 给你n个人何时来的信息; 然后问你应该何时去才能在队伍中等待的时间最短; ... [题目链接]:http://codeforces.com/contest/515/problem/D [题意] 给你一个n*m的格子; 然后让你用1*2的长方形去填格子的空缺; 如果有填满的方案且方案 ... [题目链接]:http://codeforces.com/contest/510/problem/C [题意] 给你n个字符串; 问你要怎么修改字典序; (即原本是a,b,c..z现在你可以修改每个字 ... [题目链接]:http://codeforces.com/contest/796/problem/D [题意] 在一棵树上,保证每个点在距离d之内都有一个警察局; 让你删掉最多的边,使得剩下的森林仍然 ... [题目链接]:http://codeforces.com/problemset/problem/716/D [题意] 给你一张图; 这张图上有一些边的权值未知; 让你确定这些权值(改成一个正整数) 使 ... [题目链接]:http://codeforces.com/problemset/problem/505/D [题意] 让你构造一张有向图; n个点; 以及所要求的m对联通关系(xi,yi) 即要求这张 ... [题目链接]:http://codeforces.com/problemset/problem/95/C [题意] 给你n个点,m条边; 每个点有一辆出租车; 可以到达离这个点距离不超过u的点,且在这 ... time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ... 近期在复习之前的笔记,在回想MonkeyRunner时看了看google官网的内容,写得不错.就翻译出来分享下.事实上google官网真是一个学习的好地方. 基础知识 MonkeyRunner工具提供 ... */5 * * * * ?---------------每隔5秒执行一次0 */1 * * * ?---------------每隔1分钟执行一次0 0 23 * * ?--------------- ... THRDTERM产生两个线程.周期性地检查一个event对象.以决定要不要结束自己. #define WIN32_LEAN_AND_MEAN #include<stdio.h> #incl ... 题目大意 有一串项链,项链上的每个珠子有首尾两个数字,首尾相连的两个珠子的尾数字和头数字相同.每次选择相连的一对珠子,得到第一个项链的首数字*第一个项链的尾数字(第二个项链的首数字)*第二个项链的尾数 ... 最近要给公司同事们培训WiFi快连技术,整理了相关资料,也分享在博客这,献给有缘人. 前言 现在的智能硬件产品,以WiFi品类居多,这些WiFi硬件没有人机交互界面,但设备要上网肯定要配置SSID等相 ... 1688 求逆序对 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 给定一个序列a1,a2,…, ... 中文题 (一般都比较坑) 思路:DFS (感谢学长的幻灯片) 这破题把我折腾惨了!!!搞了n天 // by Sirius_Ren #include <cstdio> #include &l ... PM类,几乎全是属性 using System; using System.Collections.Generic; using System.Linq; using System.Text; usi ... 1. 文件开始标签<html> 在任何的一个HTML文件里,最先出现的HTML标签就是<html>,它用于表示该文件是以超文本标识语言(HTML)编写的.<html&g ... /*SQLyog v10.2 MySQL - 5.5.48 : Database - 省市县****************************************************** ...
可以这样求。
假设现在二分到了位置mid.
那么随便用个rmq求出来mid..n这一段的最小值temp。
看看temp是否满足#include <bits/stdc++.h>
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
#define LL long long
using namespace std;
const int N = 1e5;
int n;
int a[N+10];
int mi[N+10][17+5];
int get_mi(int l,int r){
int len = log2(r-l+1);
return min(mi[l][len],mi[r-(1<<len)+1][len]);
}
int main()
{
//freopen("D:\\rush.txt","r",stdin);
scanf("%d",&n);
rep1(i,1,n) scanf("%d",&a[i]);
rep1(i,1,n) mi[i][0] = a[i];
rep1(l,1,17)
rep1(i,1,n){
int j = i+(1<<l)-1;
if (j>n) break;
mi[i][l] = min(mi[i][l-1],mi[i+(1<<(l-1))][l-1]);
}
rep1(i,1,n){
int l = i,r = n,temp = -1;
while (l<=r){
int mid = (l+r)>>1;
if (get_mi(mid,n)<a[i]){
temp = mid;
l = mid + 1;
}else
r = mid - 1;
}
if (temp==-1){
printf("-1");
}else{
printf("%d",temp-i-1);
}
if(i==n)puts("");else putchar(' ');
}
return 0;
}
【Codeforces 91B】Queue的更多相关文章
随机推荐