摘要:
所以 之前的那些随笔可能只能将就着看了... 阅读全文
该文被密码保护。 阅读全文
摘要:
点分治是一个很有意思的东西。 一般可以用来静态地处理树上路径问题。 先看下题吧: 一、LuoguP3806模板 给定一棵有n个点的树 询问树上距离为k的点对是否存在。 怎么考虑这个问题呢? 我们不妨先任选一个点为根RT。 那么对于树上路径分成两种:跨过根RT的路径,在RT一颗子树内的路径(不经过RT 阅读全文
摘要:
ZJOI2007仓库建设 讲一个比较呆一点的做法: 设f[i][1]表示后i个点且i点建仓库的最优解,f[i][0]表示后i个点且i点不建仓库的最优解。 那么显然可以从后往前DP: f[i][0]=mini<j<=n{f[j][1]+∑i<=k<j(X[j]-X[k])*P[j]}; f[i][1] 阅读全文
摘要:
情侣?给我烧了 组合题。。。要推公式: 首先考虑和谐的k对情侣: 从n对中选出k对:C[n][k]。 从n排座位中选出k排座位:C[n][k]。 情侣的排列方式:k!。 一对情侣可以互换位置,每队可以选择换或不换:2k。 综上,这一部分的贡献为:C[n][k]2*k!*2k。 接下来考虑n-k对情侣 阅读全文
摘要:
Good Sequences n2DP就不写了。 直接考虑优化: 既然相邻的两个要求不互质,那么存在同样的约数。 那么我们考虑枚举当前数x的约数, 当前情况下的最优解 只能从前面的 含x的约数的 数中的最优解转移过来。 如当前x=8,那么f[x]可以由前面的含有2或4这个约数的数中的最优解转移。 那 阅读全文
摘要:
数三角形 直接正着做不好做,那么考虑整体减去部分。 首先算出如果可以3点共线,总共多少个,显然是C[n*m][3]。 接下来考虑共线的情况: 横排的显然是n*C[m][3],竖排的就是m*C[n][3]。 比较麻烦一点的是斜着的,乍一看好像统计斜着的n3? 实际上,有这样一个结论: 对于点(a,b) 阅读全文
摘要:
APIO2010特别行动队 令S为前缀和,那么n方DP: f[i]=max{f[i],f[j]+a*(S[i]-S[j])*(S[i]-S[j])+b*(S[i]-S[j])+c}; 展开,移项得到: f[j]+a*s[j]*s[j]=(2*a*s[i]+b)s[j]+f[i]- a*s[i]*s[ 阅读全文
摘要:
HNOI2008玩具装箱 n方DP: f[i]=min{f[i],f[j]+(A[i]-B[j])*(A[i]-B[j])}; 转化为一次函数形式: f[j]+B[j]*B[j]=2*A[i]*B[j]+f[i]-A[i]*A[i]; 所以就是以f[j]+B[j]*B[j]为y,2*A[i]为x的一 阅读全文
摘要:
模拟退火 小结: 主要是能够把rand的方式弄清: ①点的随机化:直接rand。 ②序列的随机化:rand两个位置交换或rand整个序列。 ③树的随机化:尽量把其转成序列形式,同序列rand即可。 接下来只要知道怎样算答案,剩下的基本上就是上板子,注意调参的问题就好了。 一般以exp(-△ans/T 阅读全文