[刷题codeforces]650A.637A
| 650A |
| 637A |
点击查看原题
650A又是一个排序去重的问题,一定要注意数据范围用long long ,而且在写计算组合函数的时候注意也要用long long 虽然10^9没有超过long的范围,但是在计算n*(n-1)/2的过程中超了,所以需要用long long ,否则会出错。
#include<iostream>
#include<cmath>
#include<cstdlib>
#include<cstdio>
#include<algorithm>
using namespace std;
long n;
struct Point {
long x,y;
};
bool cmpx(const Point &p1,const Point &p2)
{
if (p1.x!=p2.x) {
return p1.x<p2.x;
}
else {
return p1.y<p2.y;
}
}
bool cmpy(const Point &p1,const Point &p2)
{
if (p1.y!=p2.y) {
return p1.y<p2.y;
}
else {
return p1.x<p2.x;
}
}
long long cn2(long long n)
{
)/;
}
Point a[];
Point ax[];
];
Point ay[];
];
Point axy[];
];
void mysortx(Point *a,Point *ax)
{
axc[]=;
;
while (p<n) {
;
axc[]++;
ax[axc[]]=a[p];
<n && a[p+].x==a[p].x) {
p++;
coup++;
}
axc[axc[]]=coup;
p++;
}
}
void mysorty(Point *a,Point *ay)
{
ayc[]=;
;
while (p<n) {
;
ayc[]++;
ay[ayc[]]=a[p];
<n && a[p+].y==a[p].y) {
p++;
coup++;
}
ayc[ayc[]]=coup;
p++;
}
}
void mysortxy(Point *a,Point *axy)
{
axyc[]=;
;
while (p<n) {
;
axyc[]++;
axy[axyc[]]=a[p];
<n && a[p+].x==a[p].x && a[p+].y==a[p].y) {
p++;
coup++;
}
axyc[axyc[]]=coup;
p++;
}
}
int main()
{
scanf("%ld",&n);
;i<n;i++) {
scanf("%ld %ld",&a[i].x,&a[i].y);
}
sort(a,a+n,cmpx);
mysortx(a,ax);
/*for (int i=1;i<=axc[0];i++) {
cout <<ax[i].x <<"," <<ax[i].y <<"|" <<axc[i]<<endl;
}*/
sort(a,a+n,cmpy);
mysorty(a,ay);
mysortxy(a,axy);
;
;i<=axc[];i++) {
ans+=cn2(axc[i]);
}
;i<=ayc[];i++) {
ans+=cn2(ayc[i]);
}
;i<=axyc[];i++) {
ans-=cn2(axyc[i]);
}
printf("%I64d\n",ans);
;
}
637A原本是想的双关键字sort,但是后来发现没有那么麻烦,直接把数据存进1000000的数组扫两遍就行了。注意细节,尤其是for循环的起始位置。
#include<stdio.h>
#include<stdlib.h>
struct point {
int o,x,y;
};
];
int main()
{
int n;
scanf("%d",&n);
int i;
;i<=;i++) {
a[i].o=i;
}
;i<=n;i++) {
int input;
scanf("%d",&input);
(a[input].x)++;
(a[input].y)=i;
}
;
].x;
;i<=;i++) {
if (a[i].x>maxn) {
maxn=a[i].x;
maxj=i;
}
}
;
;
;i<=;i++) {
if (a[i].x==maxn && a[i].y<minm) {
mini=i;
minm=a[i].y;
}
}
printf("%d\n",a[mini].o);
;
}
[刷题codeforces]650A.637A的更多相关文章
- [刷题]Codeforces 794C - Naming Company
http://codeforces.com/contest/794/problem/C Description Oleg the client and Igor the analyst are goo ...
- [刷题codeforces]651B/651A
651B Beautiful Paintings 651A Joysticks 点击可查看原题 651B是一个排序题,只不过多了一步去重然后记录个数.每次筛一层,直到全为0.从这个题里学到一个正确姿势 ...
- [刷题]Codeforces 786A - Berzerk
http://codeforces.com/problemset/problem/786/A Description Rick and Morty are playing their own vers ...
- [刷题]Codeforces 746G - New Roads
Description There are n cities in Berland, each of them has a unique id - an integer from 1 to n, th ...
- CF刷题-Codeforces Round #481-G. Petya's Exams
题目链接:https://codeforces.com/contest/978/problem/G 题目大意:n天m门考试,每门考试给定三个条件,分别为:1.可以开始复习的日期.2.考试日期.3.必须 ...
- CF刷题-Codeforces Round #481-F. Mentors
题目链接:https://codeforces.com/contest/978/problem/F 题目大意: n个程序员,k对仇家,每个程序员有一个能力值,当甲程序员的能力值绝对大于乙程序员的能力值 ...
- CF刷题-Codeforces Round #481-D. Almost Arithmetic Progression
题目链接:https://codeforces.com/contest/978/problem/D 题解: 题目的大意就是:这组序列能否组成等差数列?一旦构成等差数列,等差数列的公差必定确定,而且,对 ...
- [刷题]Codeforces 785D - Anton and School - 2
Description As you probably know, Anton goes to school. One of the school subjects that Anton studie ...
- Codeforces刷题计划
Codeforces刷题计划 已完成:-- / -- [Codeforces370E]370E - Summer Reading:构造:(给定某些数,在空白处填数,要求不下降,并且相邻差值<=1 ...
随机推荐
- I.MX6 Ethernet UI patch failed
/*********************************************************************** * I.MX6 Ethernet UI patch f ...
- BrowserSync,调试利器--自动刷新(转
---恢复内容开始--- 请想象这样一个场面:你开着两个显示器,一边是IDE里的代码,另一边是浏览器里的你正在开发的应用.此时桌上还放着你的手机,手机里也是这个开发中的应用.然后,你新写了一小段代码, ...
- java运用FFMPEG视频转码技术
基于windows系统安装FFMPEG转码技术 http://wenku.baidu.com/link?url=z4Tv3CUXxxzLpa5QPI-FmfFtrIQeiCYNq6Uhe6QCHkU- ...
- android bin目录下的.ap_是神马文件?
resources.ap_ resources翻译过来是资源的意思 应该就是一种中间文件,可以改成rar.zip等压缩文件的类型,里面包含res.AndroidMainfest.xml.resourc ...
- MyBatis的association示例——MyBatis学习笔记之三
前两篇博文介绍的都是单表映射,而实际上很多时候我们需要用到较复杂的映射.今天学会的association的用法,就是一例,现写出来和大家分享(为简洁起见,ant工程中各文件.目录的布局,以及其它与前面 ...
- zoj3822-Domination (概率dp)
题意: 给你n*m的棋盘,每天选择的一个空的方格放一个棋子,求使棋盘的每行每列都至少有一个棋子的天数期望. 分析: 先想状态,要使每行每列都至少一个,考虑前i行j列,能放得就是i行j列里面的或第i+1 ...
- DzzOffice管理员登陆方法和管理员应用介绍
DzzOffice的管理方式类似于windows的管理方式,是直接在桌面中,通过管理员应用进行系统中的所有管理里工作. 1.访问http://www.domain.com (你站点的访问地址) 2.点 ...
- ARM指令协处理器处理指令
ARM支持16个协处理器,在程序执行过程中,每个协处理器忽略属于ARM处理器和其他协处理器指令,当一个协处理器硬件不能执行属于她的协处理器指令时,就会产生一个未定义的异常中断,在异常中断处理程序中,可 ...
- bzoj 3439 Kpm的MC密码(Trie+dfs序+主席树)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3439 [题意] 给定若干串,问一个串的作为其后缀的给定串集合中的第k小. [思路] 如 ...
- bzoj 2229 [Zjoi2011]最小割(分治+最小割)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2229 [题意] 回答若干个关于割不超过x的点对数目的询问. [思路] [最小割最多有n ...