摘要:
把关系变成有向边,稍微想一下就是要求在有向图中不能到达的点对个数,这个可以用Floyd传递闭包来做,但是n^3的复杂度跑不了1000 考虑bitset优化! 因为传递过程只会出现0和1,用bitset完全没问题,而且重要的是bitset可以进行位运算,一下转移一整行:如果j能到i,也能到i能到的所有 阅读全文
posted @ 2018-05-08 21:37
lokiii
阅读(116)
评论(0)
推荐(0)
摘要:
把长度转成右端点,按右端点排升序,f[i]=max(f[j]&&r[j] include include using namespace std; const int N=100005; int n,t[N],f[N],ans; struct qwe { int l,r; }a[N]; bool c 阅读全文
posted @ 2018-05-08 21:26
lokiii
阅读(123)
评论(0)
推荐(0)
摘要:
洛谷数据好强啊,普通spfa开o2都过不了,要加双端队列优化 因为是双向边,所以dis(u,v)=dis(v,u),所以分别以pa1和pa2为起点spfa一遍,表示pb pa1 pa2和pb pa2 pa1,取个min即可 cpp include include include using name 阅读全文
posted @ 2018-05-08 21:11
lokiii
阅读(135)
评论(0)
推荐(0)
摘要:
因为是双向边,所以相当于两条到1的最短路和,先跑spfa然后直接处理询问即可 阅读全文
posted @ 2018-05-08 20:52
lokiii
阅读(156)
评论(0)
推荐(0)
摘要:
二分图最大点覆盖模型,因为对于一个点(x,y)显然只要选x或者y就好了,于是连边,跑最大匹配=最大点覆盖(不会证) cpp include include using namespace std; const int N=10005,inf=1e9; int n,m,h[N],cnt,con,lk[ 阅读全文
posted @ 2018-05-08 20:20
lokiii
阅读(169)
评论(0)
推荐(0)
该文被密码保护。 阅读全文
posted @ 2018-05-08 19:09
lokiii
阅读(4)
评论(0)
推荐(0)

浙公网安备 33010602011771号