bitset
Joker & Liar
这个作者很懒,什么都没留下…
展开
-
CodeForces - 981E(Addition on Segments)
题意:给出若干个操作,每个操作给定三个数 l , r , d ,表示给区间 [l,r] 内的所有值加上 d ,选出这些操作的子集,若一个子集的最大值在[1,n]之间则记录下来,问这些操作的所有子集的最大值累加下来,能达到[1,n]之间的多少个并输出。 分析:线段树+bitset,第一次见这个做法组合有点不习惯,不过做过一次就好了,代码很简单,看下就可以理解了。 (还有一种巧妙的DP做法:...原创 2019-10-16 23:10:03 · 151 阅读 · 0 评论 -
Gym - 100345H 【Settling the Universe Up】
文章目录题意:分析:代码: 题意: 初始给定一个有向图,有动态删增边和查询两点是否连通三类操作: ①: + u v 添加一条 u->v 的有向边 ②: - u v 删除 u-v 这条边 ③: ? u v 查询 u 和 v 是否连通 对于每次增删边,输出点对(u,v)的数量,满足 u<v 且 u 可以到达 v ,对于每次查询,若两点连通输出‘YES’,否则输...原创 2020-04-03 22:37:17 · 111 阅读 · 0 评论 -
【BZOJ2208】联通数
分析: 求传递闭包,有向图,先缩点变成 DAG,然后bitset维护走过的点dp一下就可以了 代码:原创 2020-04-03 15:50:17 · 161 阅读 · 0 评论 -
Gym - 100342J 【Triatrip】
文章目录题意:分析:代码: 题意: 给定一个有向图,求其中的三元环的数量 分析: 首先可以想到暴力枚举 O(n^3) ,令 a[i][j]=1 表示有一条 i->j 的有向边,令 b[j][i]=1 表示有一条 i->j 的有向边,则可以先暴力: for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(a[i...原创 2020-04-03 14:55:52 · 155 阅读 · 0 评论