题目链接:

C - CodeCoder vs TopForces

Gym - 101142C

题目大意:给你n个人的信息,每一个人的信息包括两个。t1和t2.A>B的前提是A的t1和t2至少有一个是大于B的t1和t2的。还要注意有一种情况当A>B,B>C的时候,A也是大于C的(虽然有可能A和C直接比,有可能A是小于C的)。

打个比方:

A 4 10

B 3 13

C 5 12

这个时候A是大于B的,但是A是小于C的,但是B是大于C的,所以就可以认为A是大于C的。

具体思路:首先按照x进行排序,建图,保证当前的点连向的边是比他大的。然后按照y来排序,同样建图的时候保证当前的点连向的边是比他大的。然后从第一个点开始,看一下当前的点能连向哪些边,那么这些点肯定是比他大的。当前的点找完之后,下一个点可以直接累加上上一个点找到的答案,因为下一个点肯定大于第一个点。

AC代码:

 #include<bits/stdc++.h>
using namespace std;
# define ll long long
# define inf 0x3f3f3f3f
const int maxn = 2e5+;
struct node
{
int x,y;
int id;
node()
{
x=,y=,id=;
}
} q[maxn];
vector<int>edge[maxn];
int vis[maxn];
bool cmp1(node t1,node t2)
{
return t1.x<t2.x;
}
bool cmp2(node t1,node t2)
{
return t1.y<t2.y;
}
int cnt=;
int ans[maxn];
void dfs(int u)
{
cnt++;
vis[u]=;
for(int i=; i<edge[u].size(); i++)
{
if(vis[edge[u][i]])
continue;
dfs(edge[u][i]);
}
}
int main()
{
freopen("codecoder.in","r",stdin);
freopen("codecoder.out","w",stdout);
int n;
scanf("%d",&n);
int l,r;
for(int i=; i<=n; i++)
{
scanf("%d %d",&q[i].x,&q[i].y);
q[i].id=i;
}
sort(q+,q+n+,cmp1);
for(int i=; i<=n; i++)
{
edge[q[i].id].push_back(q[i-].id);
}
sort(q+,q+n+,cmp2);
for(int i=; i<=n; i++)
{
edge[q[i].id].push_back(q[i-].id);
}
for(int i=; i<=n; i++)
{
if(!vis[q[i].id])
{
dfs(q[i].id);
}
ans[q[i].id]=cnt-;
}
for(int i=; i<=n; i++)
{
printf("%d\n",ans[i]);
}
return ;
}

C - CodeCoder vs TopForces Gym - 101142C (连通块+思维)的更多相关文章

  1. Artwork (Gym - 102346A)【DFS、连通块】

    Artwork (Gym - 102346A) 题目链接 算法 DFS,连通块 时间复杂度:O(k*n + k * k) 1.这道题就是让你判断从(0,0)到(m,n),避开中途所有的传感器(传感器的 ...

  2. DFS序+线段树 hihoCoder 1381 Little Y's Tree(树的连通块的直径和)

    题目链接 #1381 : Little Y's Tree 时间限制:24000ms 单点时限:4000ms 内存限制:512MB 描述 小Y有一棵n个节点的树,每条边都有正的边权. 小J有q个询问,每 ...

  3. UVA 572 油田连通块-并查集解决

    题意:8个方向如果能够连成一块就算是一个连通块,求一共有几个连通块. 分析:网上的题解一般都是dfs,但是今天发现并查集也可以解决,为了方便我自己理解大神的模板,便尝试解这道题目,没想到过了... # ...

  4. HD1269迷宫城堡(有向图 && 划分连通块)

    迷宫城堡 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  5. DFS(连通块) ZOJ 2743 Bubble Shooter

    题目传送门 题意:从炮台射出一个球,三个及以上颜色相同的会掉落,问最后会掉落多少个球 分析:先从炮台找一个连通块,然后与顶部连接的连通块都不会掉落,剩下的就是炮台射出后跟随掉落的. #include ...

  6. Codeforces Round #375 (Div. 2)——D. Lakes in Berland(DFS连通块)

    D. Lakes in Berland time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  7. 图-用DFS求连通块- UVa 1103和用BFS求最短路-UVa816。

    这道题目甚长, 代码也是甚长, 但是思路却不是太难.然而有好多代码实现的细节, 确是十分的巧妙. 对代码阅读能力, 代码理解能力, 代码实现能力, 代码实现技巧, DFS方法都大有裨益, 敬请有兴趣者 ...

  8. UVa 572 油田(DFS求连通块)

    https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  9. DFS入门之二---DFS求连通块

    用DFS求连通块也是比较典型的问题, 求多维数组连通块的过程也称为--“种子填充”. 我们给每次遍历过的连通块加上编号, 这样就可以避免一个格子访问多次.比较典型的问题是”八连块问题“.即任意两格子所 ...

随机推荐

  1. (链表 双指针) leetcode 141. Linked List Cycle

    Given a linked list, determine if it has a cycle in it. To represent a cycle in the given linked lis ...

  2. cookie猜数字游戏(下)------------以及cookie使用的不安全之处

    1.通过cookie可以解决上篇中多个用户对数据的修改,每个COOKIE保存不同用户的数据 <?php if(empty($_COOKIE['num'])||empty($_GET['num'] ...

  3. consul配置和使用

    一:consul介绍 consul用于提供服务发现和服务配置的工具.有以下特性:1. 服务发现 consul的客户端提供一个服务,比如api或者mysql,另外一个客户端就可以去发现指定服务的服务提供 ...

  4. CentOS7利用systemctl添加自定义系统服务

    CentOS7的每一个服务以.service结尾,一般会分为3部分:[Unit].[Service]和[Install] 转载于互联网 [Unit] 部分主要是对这个服务的说明,内容包括Descrip ...

  5. vue初始化页面dom操纵 $nextTick

    new Vue({ el: '#app', data:{ }, mounted: function () {/*生命周期函数*/ this.$nextTick(function () { $(&quo ...

  6. maven编译或者打包web项目显示“软件包 javax.servlet.http 不存在"

    2.解决办法: 这是由于缺少servlet-api.jar包,其实tomcat下有,但是在java build path把他加载过来,还是报这个错误,所以我们直接在pom.xml里面加入这个jar包即 ...

  7. git ssh https 踩坑记 ---- 域账号密码更新

    前几天突然通知要更新公司的域账号密码,然后git pull就一直报 fatal: Authentication failed for 'https://git ... 很奇怪的是,有一个项目git p ...

  8. Spring Boot学习记录02_构建SpringBoot工程_通过idea构建

    1.通过idea新建工程 2.Initial Service Url指向的地址就是Spring官方提供的Spring Initializr工具地址 3.结合情况进行设置 4.这里我选择的版本是1.5. ...

  9. Kademlia、DHT、KRPC、BitTorrent 协议、DHT Sniffer

    catalogue . 引言 . Kademlia协议 . KRPC 协议 KRPC Protocol . DHT 公网嗅探器实现(DHT 爬虫) . BitTorrent协议 . uTP协议 . P ...

  10. sqlyog创建数据库表关系图

    作为一个后台前端,数据库,需求分析,运维,PPT全包的码农来说.uml建模不存在的,对不起我没有时间,就用sqlyog拉几个你看看吧.看的懂的一眼就看清了,看不懂的整再好也是白瞎. 第一步:选择增强工 ...