bzoj2348[Baltic 2011]Plagiarism*

bzoj2348[Baltic 2011]Plagiarism

题意:

n个数,如果其中两个数fi≤fj且fi≥0.9*fj,则它们要被比较。求多少对数要被比较。n≤100000。

题解:

排序然后双指针法。

代码:

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 #define inc(i,j,k) for(int i=j;i<=k;i++)
 5 #define maxn 100010
 6 using namespace std;
 7
 8 inline int read(){
 9     char ch=getchar(); int f=1,x=0;
10     while(ch<‘0‘||ch>‘9‘){if(ch==‘-‘)f=-1; ch=getchar();}
11     while(ch>=‘0‘&&ch<=‘9‘)x=x*10+ch-‘0‘,ch=getchar();
12     return f*x;
13 }
14 int n,a[maxn],l,r; long long ans;
15 int main(){
16     n=read(); inc(i,1,n)a[i]=read(); sort(a+1,a+n+1);
17     l=1; r=1;
18     while(r<n){
19         r++; while(l<r&&a[l]+1e-8<a[r]*0.9)l++; ans+=r-l;
20     }
21     printf("%lld",ans); return 0;
22 }

20160829

时间: 2024-10-16 10:07:19

bzoj2348[Baltic 2011]Plagiarism*的相关文章

【二分法】【尺取法】bzoj2348 [Baltic 2011]Plagiarism

一开始以为死于精度……调了半天发现死于long long…… 一.二分法: #include<cstdio> #include<cstring> #include<algorithm> using namespace std; bool cmp(const int &a,const int &b){return a>b;} int n,a[100001],b[100001]; long long ans; int main() { scanf(&q

BZOJ 2348 Baltic 2011 Plagiarism 排序

题目大意:求n个数中有多少无序点对(i,j)满足0.9a[j]<=a[i]<=a[j] <论排序算法的高效性和合理利用以及能否记得使用排序算法> 忘写sort贡献了个WA 2333333 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define M 100100 #define EPS 1e-7 using namespa

BZOJ2346 [Baltic 2011]Lamp

只要每条对角线都建一条边 原来对角线有的边权为0,没有的边权为1 最短路即可 1 /************************************************************** 2 Problem: 2346 3 User: rausen 4 Language: C++ 5 Result: Accepted 6 Time:1312 ms 7 Memory:29404 kb 8 ********************************************

bzoj2348

实在不懂为啥网上的题解都是二分,本人没写二分,wa的很惨结果竟然是printf("%d")的锅,改了就A了 2348: [Baltic 2011]Plagiarism Time Limit: 1 Sec  Memory Limit: 256 MBSubmit: 586  Solved: 265[Submit][Status][Discuss] Description 世界编程大赛的选手们提交N份程序文件f1, -, fN给评测系统.在将评测结果正式公布之前,评委会想要排除一切可能的剽窃

大神刷题表

9月27日 后缀数组:[wikioi3160]最长公共子串 dp:NOIP2001统计单词个数 后缀自动机:[spoj1812]Longest Common Substring II [wikioi3160]最长公共子串 [spoj7258]Lexicographical Substring Search 扫描线+set:[poj2932]Coneology 扫描线+set+树上删边游戏:[FJOI2013]圆形游戏 结论:[bzoj3706][FJ2014集训]反色刷 最小环:[poj1734

BZOJ2440 [中山市选2011]完全平方数

Description 小 X 自幼就很喜欢数.但奇怪的是,他十分讨厌完全平方数.他觉得这些数看起来很令人难受.由此,他也讨厌所有是完全平方数的正整数倍的数.然而这丝毫不影响他对其他数的热爱. 这天是小X的生日,小 W 想送一个数给他作为生日礼物.当然他不能送一个小X讨厌的数.他列出了所有小X不讨厌的数,然后选取了第 K个数送给了小X.小X很开心地收下了. 然而现在小 W 却记不起送给小X的是哪个数了.你能帮他一下吗? Input 包含多组测试数据.文件第一行有一个整数 T,表示测试数据的组数.

开始使用CCA CRM 2011

你可能从微软的市场动态获知我们最近发布了最新版本的Microsoft Dynamics CRM 2011的客户关怀加速器(CCA R2).CCA在一个单一的用户界面提供呼叫中心功能相结合的,能够显示和操纵来自不同业务应用程序的数据.CCA提供了许多功能,包括: l 集成代理的桌面 l 脚本以消除重复的数据输入 l 计算机电话集成(CTI) l 代理活动报告 CCA的核心是一个允许开发人员构建自己的代理的桌面,并提供多会话管理等功能的框架.UI集成不同类型的应用程序(包括Web.Windows窗体

PowerShape 2011 R3 SP1 Update Only Win32 1CD

TraceParts v2.3-ISO 1CD VisCAM.RP.v5.2.8600 1CD  Beta-CAE ANSA.v13.1.2.Win64 1CD CEI.Ensight.Gold.v9.2.2b.Linux64.Debian 1CD CEI.Ensight.Gold.v9.2.2b.MacOSX 1CD InfinySlice.v1.0.8581 1CD Leica.LISCAD.v9.0.3 1CD  AFT Impulse v4.0 2011.04.21 1CD AgroKa

国家集训队2011 happiness

[试题来源] 2011中国国家集训队命题答辩 [问题描述] 高一一班的座位表是个n*m的矩阵,经过一个学期的相处,每个同学和前后左右相邻的同学互相成为了好朋友.这学期要分文理科了,每个同学对于选择文科与理科有着自己的喜悦值,而一对好朋友如果能同时选文科或者理科,那么他们又将收获一些喜悦值.作为计算机竞赛教练的scp大老板,想知道如何分配可以使得全班的喜悦值总和最大. [输入格式] 第一行两个正整数n,m.接下来是六个矩阵第一个矩阵为n行m列 此矩阵的第i行第j列的数字表示座位在第i行第j列的同学