考的不是很好,T1T2没区分度,T3想的太少,考试后期几乎都是在摸鱼,bitset乱搞也不敢打,只拿到了35分,跟前面的差距很大算法
标签:ui
二进制+贪心spa
题解:blog
首先x,y中必定有一个是R,考虑L的取值:对于每一位分为x中有没有讨论:排序
1>有 若是这一位不加之后全加能够>=L则不选,不然选it
2>没有 若是这一位选上之后全不加也没法<=R则不选,不然选class
由于位数从高到低枚举,因此贪心是正确的搜索
标签:二进制
折半搜索+二分im
题解:
2<=n<=40,显然是要折半搜索的,答案知足单调性,能够二分判断,check时复杂度最好是1<<20,而不是2e7的值域
说实话这道题比T1要简单
标签:
啊啊啊起个标签好蓝啊
题解:
首先证实环的数量是$m*sqrt(m)$的:
考虑最坏状况:必定是一个竞赛图,那么点数就是$sqrt(m)$,环数最可能是$m*sqrt(m)$
有了这个性质下面的算法便有了复杂度保证:
1>对于第一问:
把每一个点的出边按w[to]降序排序,考虑枚举$ x,y((x,y)\in{edge}),z((x,z)\in{edge}) $
只须要找到第一个不是三元环的z点即可以更新答案,复杂度与枚举到的环有关,而每一个环最多会被枚举到3次,因此复杂度是对的
2>对于第二问:
考虑容斥:
用每一个点的出点的权值和的平方减去平方的和,
再减去三元环的的状况,我是枚举u,v用bitset求出b[u]&b[v].count()即是有u,v的三元环的个数