摘要:
将每张卡四个角的圆心跑graham出正常凸包,再加上一个圆就好了。要注意先输入的是x,找点时三角函数瞎换就过了。。#include#include#include#include#include#define N 40050#define PI 3.141592653... 阅读全文
摘要:
谁终将声震人间,必长久自身缄默;谁终将点燃闪电,必长久如云漂泊; 阅读全文
摘要:
就是dp啊f[i][j]表示到第i位,最后一位高度是j的最小花费转移::f[i][j]=minn(f[i-1][k])+abs(a[i]-num[j]);(k#include#include#include#include#includeusing namespace... 阅读全文
摘要:
n,m#include#include#include#includeusing namespace std;int n,m,a[18][18],now[18][18],tim[18][18],nxt[18],final[18],num,tot;bool bo=0;i... 阅读全文
摘要:
题目大意:每个点有费用,要求选出花费最少的一些点,使得全部点都满足:他被选或与他相邻的任意点被选。没看清数据范围233333和翻格子游戏一样,考虑上中下三行,可行才能转移f[i][j][k]表示到第i行i-1行状态为j,i行状态为k,且i行以前的所有行均满足条件f[i... 阅读全文
摘要:
7.25-7.26 ysf 神犇来讲课,杂题选讲什么的。。7.27 集训第一天有点小激动,8点才起,跪了T1:大爆搜,因为种种原因,没打,-1得20;T2:想到了dp,但觉得不对,只打了一个O(n3)的暴力dp,没有想到正解是O(n2),也就没有想到用数据结构优化。下... 阅读全文
摘要:
每一个点可向上下左右四个方向连边,这就是插头。每一条轮廓线切开的是当前已确定的点的未确定的点,其经过的插头有m个竖着的,一个横着的,懒得画图了。。每一次转移就是将左边的变到下面,上面的变到左边,每一行转移直接左移一位。#include#include#include#... 阅读全文
摘要:
判断中位数是否可行需要将当前的解作为分界,大于其的置为1,小于为-1,然后b-c必选,ab,cd可不选,这个用线段树判定就好但不能每次跑,所以套主席树,按权值排序,构建主席树,更新时将上一个节点改为-1,能保证以上结论#include#include#include#... 阅读全文
摘要:
强制在线kruskal重构树,每两点间的最大边权即为其lca的点权。倍增找,dfs序对应区间搞主席树#include#include#include#include#include#define N 100005#define M 500005using namesp... 阅读全文
摘要:
主席树上树,对于每个节点,继承其父亲的,最后跑f[x]+f[y]-f[lca]-f[fa[lca]]去重竟然要减一,我竟然不知道??#include#include#include#include#include#define N 100005using namesp... 阅读全文
摘要:
每一个数能做出的贡献就是其两端第二个比他大的中间的数和他的异或值按权值大小排序,按照位置扔进set,set内的元素都是比他大的,也是全的然后Tire上跑就行了。。#include#include#include#include#include#include#defi... 阅读全文
摘要:
修改+查询第k小值单纯主席树修改会打乱所有,所以再套一个树状数组维护前缀和使得修改,查询都是log对了,bzoj上不需要读入组数,蜜汁re。。#include#include#include#include#includeusing namespace std;int... 阅读全文
摘要:
对于每个点,处理出走完其子树所需要的时间和其子树完全下载完软件的时间易证,对于每个点的所有子节点,一定优先选择差值大的来给后面的时间树规+贪心。#include#include#include#include#include#include#define N 5000... 阅读全文