摘要: 题意:给N个点,M条边,随后加入Q条边,边可能会重复,对于每一次加边,问图中剩余桥的数量 思路:简单的做法就是建图后用tarjan求出桥的数量cnt,再对于每次新加的边u,v,用总数cnt减去所成环(有的话)里桥的数量 #include"cstdio" #include"queue" #includ 阅读全文
posted @ 2016-03-09 15:31 Septher 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 题意:N个线段,机器最多一次录K段,不重叠的可以连续录而不占用其他资源,问最多能录几段 思路:首先经典的贪心排序方法排序(按结束时间从小到大,如果结束时间相同,按起始时间从大到小) 我们可以想象有K个机器,那我们需要记录的就是第i个机器在什么时候才会有空 对于每一段[l,r],我们只需要查找这K个机 阅读全文
posted @ 2016-03-09 10:54 Septher 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 题意:在第一象限,所有坐标都为整数,有N个点有哥布林,再有M个圆,圆心半径已知,在圆内的哥布林会挂掉,问最后剩几个哥布林活着 思路:这里要注意到,虽然N和M很大,但是r很小,坐标范围也不大(1e4) 我们对于每一个x轴上的整数点开一个set,保存在这条线上的哥布林的纵坐标 对于每一个圆,我们枚举它覆 阅读全文
posted @ 2016-03-09 10:46 Septher 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 题意:N台请求,每台机器1秒能处理K个,处理一个需要耗时1s,给出每个请求的出现时间,问至少需要几个机器才能全部处理? 思路:把每个请求的时间看成一个区间,比如在0时间点出现,则它占用机器的时间为[0,1000) 为了简化,我们直接写成占用区间为[i,i+999] 只要某一个点的覆盖数未超过K,则一 阅读全文
posted @ 2016-03-09 10:37 Septher 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题意:求字典序最小且重复次数最多的连续重复子串 思路: 枚举循环节长度i,再枚举起始位置(0开始,每次加i),求出循环次数 这里有一个关键:枚举的起始位置不一定是答案所在的位置 比如:c a b a b a b 枚举循环节长度为2,起始位置2时 根据RMQ可O(1)求出suffix(2)和suffi 阅读全文
posted @ 2016-03-09 10:28 Septher 阅读(222) 评论(0) 推荐(0) 编辑