摘要:
对于两张卡牌,如果存在两种属性值不互质,则可以匹配。只考虑200以内的质数,一共有46个,可以新建3*46*46个点来表示一类属性值中有这两种质数的卡牌。然后对于每张卡牌,枚举它的质因子,最多只有3个,如此建图求出最大流即可。#includeconst int N=66500,inf=~0U>>2,... 阅读全文
摘要:
考虑分块,每块大小为13,则一共需要38465块,求出b[i]表示前i块的和。查询时中间部分可以$O(1)$查询,只需再往两边累加零散的不超过26个数的和。空间上一共需要开500000的int和38465的long long。#includetypedef long long ll;const in... 阅读全文
摘要:
以贝茜为参照物,则贝茜固定于原点,每个杀手是一个圆心在某条射线上的圆。解出每个杀手可以射杀贝茜的时间区间,然后扫描线即可,时间复杂度$O(n\log n)$。#include#include#includeusing namespace std;typedef long long ll;int n,... 阅读全文
摘要:
fl[i]表示[1,i]操作一次,且在[j+1,i]处操作的最大值1:把[j+1,i]改为b[i]: max(sum[j]+b[i]*(i-j))=b[i]*i+max(-j*b[i]+sum[j])(0#include#define N 500010typedef long long ll;int... 阅读全文