[刷题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 ...
随机推荐
- POJ 3177 Redundant Paths (桥,边双连通分量,有重边)
题意:给一个无向图,问需要补多少条边才可以让整个图变成[边双连通图],即任意两个点对之间的一条路径全垮掉,这两个点对仍可以通过其他路径而互通. 思路:POJ 3352的升级版,听说这个图会给重边.先看 ...
- Remove Duplicates from Sorted List I & II
Title: Given a sorted linked list, delete all duplicates such that each element appear only once. Fo ...
- 【编程之美】计算1-N中含1的个数
转自:点我 1位数的情况: 在解法二中已经分析过,大于等于1的时候,有1个,小于1就没有. 2位数的情况: N=13,个位数出现的1的次数为2,分别为1和11,十位数出现1的次数为4,分别为10,1 ...
- [shell]通过ping检测整个网段IP的网络状态脚本
要实现Ping一个网段的所有IP,并检测网络连接状态是否正常,很多方法都可以实现,下面简单介绍两种,如下:脚本1#!/bin/sh# Ping网段所有IP# 2012/02/05ip=1 #通过修改初 ...
- Android FragmentActivity+viewpager的使用
使用场景,打算设计一个“底部菜单栏+其余可滑动的页面”的简单的功能. package com.lanyuweng.mibaby; import android.content.Intent; impo ...
- 常见设计模式的解析和实现(C++)之九—Decorator模式
作用:动态地给一个对象添加一些额外的职责.就增加功能来说,Decorator模式相比生成子类更为灵活. UML结构图: 抽象基类: 1) Component :定义一个对象接口,可以为这个接口动态地 ...
- jQuery遍历Table tr td td中包含标签
function shengchen() { var arrTR = $("#tbModule").children(); var Context=""; $( ...
- HDU 1890 Robotic Sort(splay)
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=1890 [题意] 给定一个序列,每次将i..P[i]反转,然后输出P[i],P[i]定义为当前数字i ...
- 最短路+线段交 POJ 1556 好题
// 最短路+线段交 POJ 1556 好题 // 题意:从(0,5)到(10,5)的最短距离,中间有n堵墙,每堵上有两扇门可以通过 // 思路:先存图.直接n^2来暴力,不好写.分成三部分,起点 终 ...
- Azure终于支持大容量虚拟机了-最高32核,448G内存
Azure终于支持大容量虚拟机了-最高32核,448G内存 最近微软Azure虚拟机旗下的大容量G系列虚拟机通用版本正式上线.G系列虚拟机方案提供公有云领域最大的内存容量.最强处理能力以及空间可观的本 ...