摘要: "传送门" 首先这是个仙人掌,设$f[i][0/1]$表示当前节点$i$,选或不选的最大独立集 如果某条边是树边,那么直接树形dp的转移即可 考虑如果它的某棵子树恰好是一个环该怎么办 我们枚举这个环的顶端选或者不选,然后从这个环的底部开始遍历一遍即可 //minamoto include defin 阅读全文
posted @ 2018-11-27 22:24 bztMinamoto 阅读(178) 评论(0) 推荐(0) 编辑
摘要: "传送门" 暴力也行,退火也行,不是很明白为啥还要用半平面交…… 总之就是把原来的所有限制看成一堆半平面 ~~根据黄学长的博客~~塔肯定建在转折处最优 //minamoto include define fp(i,a,b) for(register int i=a,I=b+1;iI; i) temp 阅读全文
posted @ 2018-11-27 19:14 bztMinamoto 阅读(208) 评论(0) 推荐(0) 编辑
摘要: "传送门" 黄学长的代码好清楚啊……大概搞明白半平面交是个什么玩意儿了…… 设抛物线 $$y=ax^2+bx$$ 则 $$y1=y1$$ $$bx1 =y1 ax1^2$$ $$b =y1/x1 ax1$$ 然后就可以转化为一个关于$a,b$的不等式了……那么就二分答案,用半平面交判断又没有解就行了 阅读全文
posted @ 2018-11-27 16:08 bztMinamoto 阅读(124) 评论(0) 推荐(0) 编辑
摘要: "传送门" 半平面交的 "讲解" 然而这个代码真的是非常的迷……并不怎么看得懂…… //minamoto include define fp(i,a,b) for(register int i=a,I=b+1;iI; i) using namespace std; const int N=1e5+5 阅读全文
posted @ 2018-11-27 15:15 bztMinamoto 阅读(240) 评论(0) 推荐(0) 编辑
Live2D