NOIAC#110. 翘课

题目传送门

分析

考虑如果给你一张图,怎么判断最大?
首先度数不足 K K K的节点肯定都不能选。
把它们从图中删去,剩下的图中如果还有度数不足 K K K的继续删掉。
用这样一个类似拓扑的过程,最后剩下的那张图肯定是最大的合法的答案。
那么如果有加边操作呢?
考虑上面的过程,其实一直在删点删边。
所以考虑离线倒序,删边判合法即可。

代码

注意已经删除的边的影响。

#include<bits/stdc++.h>
const int N = 4e5 + 10;
int ri() {char c = getchar(); int x = 0, f = 1; for(;c < '0' || c > '9'; c = getchar()) if(c == '-') f = -1;for(;c >= '0' && c <= '9'; c = getchar()) x = (x << 1) + (x << 3) - '0' + c; return x * f;
}
int L, R, tp, k, n, m, cr, C, U[N], V[N], q[N], d[N], to[N], nx[N], pr[N], Ans[N];
void add(int u, int v) {to[++tp] = v; nx[tp] = pr[u]; pr[u] = tp;}
void adds(int u, int v) {add(u, v); add(v, u); ++d[v]; ++d[u];}
void Dec(int x) {if(--d[x] < k) q[++R] = x;}
void Bfs() {for(int u = q[L];L <= R; u = q[++L]) for(int i = pr[u]; i; i = nx[i])if((i + 1 >> 1) < C && d[to[i]] >= k)Dec(to[i]);
}
int main() {n = ri(); m = ri(); k = ri();cr = n; L = 1; R = 0;for(int i = 1;i <= m; ++i) U[i] = ri(), V[i] = ri(), adds(U[i], V[i]);for(int i = 1;i <= n; ++i) if(d[i] < k) q[++R] = i;C = m + 1; Bfs();for(C = m; C; --C) {Ans[C] = n - R;int u = U[C], v = V[C];if(d[u] >= k && d[v] >= k) Dec(u), Dec(v);Bfs();}for(int i = 1;i <= m; ++i) printf("%d\n", Ans[i]);return 0;
}

NOIAC#110. 翘课 拓扑相关推荐

  1. 一批美国名校被曝监控学生:14秒记录一次手机位置,想翘课更难了

    郭一璞 发自 凹非寺 量子位 报道 | 公众号 QbitAI 读个大学也不容易,上课还要用手机打卡. 在美国雪城大学的课堂上,当学生走进特定的课程教室后,手机就会和教室的蓝牙相连,完成打卡. 如果学生 ...

  2. 翘课老黄历——设计文档

    翘课老黄历设计图 一.主界面 (其中签应有追随鼠标晃动特效:晃动手机,未关注者弹出关注公众号界面,关注后(回复'今天想翘课',或者点击下方功能区)得到气泡,点击进入主界面.关注者直接得到内容.) 二. ...

  3. 趣味点名软件_大学老师“花样点名”,为保证出勤率也是拼了!这回看谁还敢翘课...

    文/小佳说教育 在很多大学校园当中都流传着这样一句话:大学没有翘过课,基本就算白上.而这句话,也被很多大学生所奉行,可谓是:必修课选逃,选修课必逃. 不管是在什么时候,大学生们总会有自己的理由选择不去 ...

  4. 写给大一翘课后悔了的同学

    [学生来信] 贺老师: 您好,我是一名即将步入大二的学生,学的是计算机科学与技术专业,看到您很热心的解答疑问,也想将我现在的迷茫请教您,希望得到老师的指点与帮助. 我从小就对电子产品感兴趣.大学也如愿 ...

  5. 李彦宏这样的学霸其实也是翘课恋爱都做过呢

    当母上大人的日常碎碎念已然从"怎么又瘦啦?""晚上想吃牛肉还是排骨?"变成了"怎么还不起床!""天天就知道玩手机!"的那 ...

  6. 因为我是科研废物所以每天翘课摸鱼准备去打工这件事

    心有所向,日复一日,必有精进. --刻晴 距离上次已经过了半个月时间,虽然说是开学了,但我第一周一节课都没有去,电科试听课这个概念略微有点牛逼,给我提供了光明正大的摸鱼机会,我是真讨厌上课,毕竟人菜, ...

  7. 晓夏 c语言,【最爱李霄云】今早二妹我翘课了……

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 显示屏 LCD液晶显示屏 段式液晶 字符型液晶 图形点阵型液晶 触摸屏 本文来自你的阳光(http://yoursunny.com) 存储系统 RAM:S ...

  8. 新概念英语第二册61-96课(转)

    Lesson 61  Trouble with the Hubble哈勃望远镜的麻烦   1.哈勃望远镜The Hubble telescope被发射到太空was launched into spac ...

  9. 克隆一个自己的 AI 来上网课,

    By 超神经 场景描述:在全球都开启远程办公.远程上课之际,一位外国工程师受不了每天的视频会议,于是用 AI 技术「克隆」了一个自己,替他去开会.而这项技术如果被学生们所用,那么后果-- 关键词:远程 ...

  10. 2019吉大软件C++课设——模拟即时通信系统

    吉林大学大三学生 东北师范大学附属中学OJ jinxi20111 2019.08.28 首先第一点,如果你是来学习和提问的,直走请进,如果你还没有仔细阅读完并感受到难度,我的建议是多阅读两遍,或者先动 ...

最新文章

  1. php实时股票,php获得股票数据
  2. java.lang.NoSuchMethodError: org.springframework.beans.factory.annotation.InjectionMetadata.init(L
  3. [多媒体]MKV 配音分离提取, 伴奏提取
  4. Windows+Caffe(Faster RCNN/RFCN/SSD)编译(Cuda7.5+Cuda8.0)未完待续
  5. zblog php robots,zblog的robots.txt怎么写?zblog的robots.txt文件示例下载
  6. 如何搭建企业局域网共享
  7. vue-cli 相同页面的跳转,但路由参数不同的情况下 组件状态没有更新的问题是为什么 如何解决
  8. 洛谷P5212:SubString(SAM、LCT)
  9. POJ2524——宗教(Ubiquitous Religions)【图论,并查集】
  10. java oca_OCA第6部分中的Java难题
  11. Leetcode--210.课程表Ⅱ
  12. 中小企业集群ntpd服务搭建
  13. 图像处理-自适应的二值化图像
  14. python参考手册文字版_Python参考手册(第4版)
  15. 英文键盘盲打最快速练习口诀和方法
  16. YYtext简单使用
  17. 如何搭建中国电信物联网云平台
  18. 论文阅读:Aspect-based Sentiment Classification with Aspect-specific Graph Convolutional Networks
  19. Unity不规则按钮
  20. 从零开始之驱动开发、linux驱动(七十一、电容触摸屏驱动)

热门文章

  1. cmd无敌加密安全代码
  2. docker -- docker基础命令
  3. 【HCIE-RS】考试说明
  4. Codeforces 1019C Sergey's problem 构造
  5. 断电导致RAC -- kernel: qla2xxx 0000:01:00.0: LOOP DOWN detected (2).
  6. 使用mybatis在测试类中往数据库插入数据但是表里没有数据
  7. 体会立异是王道 三大手机旗舰全接触
  8. 苹果cmsv10灰黑色响应式免费在线视频网站源码 后台管理带收集
  9. 外贸企业如何通过CRM轻松进行供应商管理?
  10. 20140917于北京