题目链接:http://codeforces.com/problemset/problem/1037/E

题意:

一行给你n,m,k表示有n个人,有m天。现在他们要出去玩,每个人出去玩需要满足有k个及以上朋友也出去玩(朋友是不能传递)。一开始每个人都是没有朋友的,接下来m行 表示m天,每天输入x和y,表示这一天x和y成为了朋友。现在要输出m行 每行表示这一天最多能有多少人出去玩。

思路:

先算出第m天有多少人出去玩,再倒着递归删边即可。


代码:
#include <stdio.h>
#include <set>
using namespace std;set<int> s[200005];
int x[200005], y[200005], ans, res[200005], n, m, k;
bool vis[200005];void dfs(int u)
{if(s[u].size() >= k || vis[u]) return;vis[u] = 1;--ans;for(auto it : s[u]){s[it].erase(u);dfs(it);}s[u].clear();
}int main()
{int u, v;scanf("%d%d%d",&n,&m,&k);ans = n;for(int i = 1; i <= m; ++i){scanf("%d%d",&u,&v);s[u].insert(v);s[v].insert(u);x[i] = u, y[i] = v;}for(int i = 1; i <= n; ++i) dfs(i);res[m] = ans;for(int i = m; i > 1; --i){s[x[i]].erase(y[i]);s[y[i]].erase(x[i]);dfs(x[i]);dfs(y[i]);res[i-1] = ans;}for(int i = 1; i <= m; ++i) printf("%d\n",res[i]);return 0;
}

CodeForces 1037E Trips(瞎搞)相关推荐

  1. [Manthan, Codefest 18][Codeforces 1037E. Trips]

    题目链接:1037E - Trips 题目大意:有n个人,m天,每天晚上都会有一次聚会,一个人会参加一场聚会当且仅当聚会里有至少k个人是他的朋友.每天早上都会有一对人成为好朋友,问每天晚上最多能有多少 ...

  2. Codeforces 1037E Trips

    原题 题目大意: 有\(n\)个人,起初他们都不是朋友.总共有\(m\)天,每天会有两个人成为朋友.他们计划在晚上出去旅游,对于一个人,有如下两种情况: 1.要么他不出去旅游 2.要么有至少\(k\) ...

  3. Codeforces 1037E. Trips

    STL的强大不得不服,应该还有更优的做法 倒着查询,刚开始把所有边和点都考虑在内,之后依次从后往前删边,然后删除不符条件的点 重点在于如何删除不符合条件的点,我用set<pair<int, ...

  4. Codeforces 1037E Trips 图论,人类智慧

    文章目录 题意 题解 题目链接 题意 每天早上有两人成为朋友,朋友之间不会传递;每天晚上举行一次聚会,对每个人来说他如果参加聚会,则不少于 k k k个他的朋友必须参加聚会.问每天晚上能参加聚会的最多 ...

  5. [JZOJ5281]钦点题解--瞎搞+链表

    [JZOJ5281]钦点题解--瞎搞+链表 题目链接 于 暴 力 过 分析 第一眼: 模拟美滋滋?! 然后数据范围...不太对 naiive模拟30pts 然后你交换字符串指针60pts 然后发现可以 ...

  6. android重置系统,安卓手机越用越卡,恢复出厂设置真有用?别瞎搞,看完就明白了!...

    安卓手机越用越卡,恢复出厂设置真有用?别瞎搞,看完就明白了! 现在手机的价格逐渐的开始上升,一部好一点的手机价格还是比较贵的,所以很多人想要节省更多的换机支出,都会想要购买到一款可以使用的比较久的手机 ...

  7. HDU5971【瞎搞】

    题意:略(忙着准备文化课...明天期中考啊.... 思路: 正解就是染色,2-sat搞: AC代码(虽然是错误的...数据水(过踏马的也行啊,起码打脸他啊!) 4 3 1 0 1 2 2 3 3 4 ...

  8. HDU 5600(瞎搞)

    第一场Bestcoder居然爆零..果然是too naive..小聪明全部直接输出"YES"过了pretest,结果被叉也是&%$% 找到规律传递下就好.后来看官方题解感觉 ...

  9. HDU 4923 Room and Moor(瞎搞题)

    瞎搞题啊.找出1 1 0 0这样的序列,然后存起来,这样的情况下最好的选择是1的个数除以这段的总和. 然后从前向后扫一遍.变扫边进行合并.每次合并.合并的是他的前驱.这样到最后从t-1找出的那条链就是 ...

  10. 别再瞎搞数仓了!BAT内部大神:数据仓库不是谁都可以建的

    在我没有进互联网之前,我一直以为数据仓库是所有企业进行数据资产管理的必备工作,但直到我去了很多家企业搞数据之后才发现,原来并不是所有的企业都适合做数据仓库,更不要说数据中台了. 很多企业现在做数据仓库 ...

最新文章

  1. SQL Server数据库损坏、检测以及简单的修复办法
  2. PMCAFF专栏作者招募计划
  3. JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apache/IIS的整合)
  4. 基于Spring安全角色的访问授权示例
  5. linux扫盲之CPU模式
  6. caffeine 时间轮的实现
  7. -webkit-filter
  8. Linux 查看flume进程,flume分布式日志收集测试
  9. Arduino:光立方的开发与实现
  10. 【疑难解决】H265编码流媒体播放器EasyPlayer.js播放HLS H265视频流,遇到黑屏如何排查?
  11. Bert 得到中文词向量
  12. 【Adobe】怎样给音频升降调?
  13. win10定时关机怎么设置(Win10怎么设置亮度)
  14. NetWORK ShortCuts 创建
  15. 电子技术基础(三)__电路分析基础之重点__叠加原理
  16. 在OpenStack全球开源社区里,中国力量正在异军突起
  17. python-pymongo模块
  18. [Extjs6]清除数组内容
  19. 记事本如何写代码并运行代码
  20. IDEA Tomcat端口号更改

热门文章

  1. Nodejs连接12种数据库例子集合
  2. 戴尔计算机管理界面在哪里,戴尔 win10系统控制面板如何打开?
  3. 通过一道CTF题,学习pillow模块切割、合并图片
  4. IDEA2021.2安装与配置(持续更新)
  5. Python创建临时文件和文件夹
  6. html js css 简明教程,HTML+CSS+JavaScript网页制作简明教程
  7. 基于centos7和windows 搭建局域网wiki.js知识管理库的两种解决方案
  8. 转载:APM文件夹释义
  9. easypanel默认php版本设置,easypanel面板+kangle
  10. Python12306自动抢票下单,五一旅游回家就选Python