摘要: 显然答案与杆的顺序无关(按每个高度考虑)。 从高到低考虑杆,设此时的状态为$S$,$S "i]$是高度$i$的帆的数目,初始全为$0$,当前杆的高度为$h$,杆上需要放置的帆的数目为$k$,贪心地,假设两个高度的同等宜选,优先选择更高的;帆尽量放置在$S[i]=0(i\le h)$的高度上,若还有剩 阅读全文
posted @ 2019-03-19 12:01 nosta 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 推石子 首先设$d[i]=\sum_{t=1}^{U[i]}t^{n R[i]}(U[i] t)^{R[i] 1}$,即第$i$门课程分数的合法分布方案数; 然后设$f[i,j]$表示前$i$门课程中$j$个人被碾压的合法方案数,转移有: $$ \begin{aligned} &f[i,j]=d[i 阅读全文
posted @ 2019-03-18 20:57 nosta 阅读(232) 评论(0) 推荐(2) 编辑
摘要: idea1 可能会死掉的想法:考虑点分治维护每个分治中心x到达分治块内的个点距离,具体是用堆维护分治快内的x的儿子y到y的子树内的所有点距离(记为C[y]),取所有C[y]的top+e(x,y)放入x的堆里(记为B[x]),答案为所有B[x]的top+top2的最大值,可以在用一个堆维护(记为A)。 阅读全文
posted @ 2019-03-18 17:12 nosta 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 推狮子的部分 $$ \sum_{i=1}^A\sum_{j=1}^B\sum_{k=1}^C\sigma(ijk) =\sum_{i=1}^A\sum_{j=1}^B\sum_{k=1}^C\sum_{x|i}\sum_{y|j}\sum_{z|k}\epsilon(\gcd(x,y))\epsil 阅读全文
posted @ 2019-03-16 21:57 nosta 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 题意 每次新建一个节点,并与一个已知节点连边。(或者不连)。多次询问以某个已知点点出发的最远路径长度。 分析 显然,在任何时候图都是一个森林。由树的直径算法可知,与某点最远距的点必然是树的直径的一段。那么考虑在lct中维护直径。 实现 一篇精彩的LCT,应该像少女穿的迷你裙,越短越好。——林语堂 ( 阅读全文
posted @ 2019-03-13 20:41 nosta 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 分析 题目要求在一共加入若干条边是的不同B序列的个数;方便统计,我们不妨让一个B序列对应一种特定的操作来构造,具体如下 从1开始按从小到大加入点,始终维护一个顺序为加点次序的链;每次加入一条有向边 不会影响SCC个数的 1)连上新点:链末尾与新点连 2)连上废边:加上一条不改变强连通情况的边,不改变 阅读全文
posted @ 2019-03-04 22:14 nosta 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 题意 设把$n$个不同元素分成若干个大小相等的集合的方案个数为$res$,求$m^{res}$模$10^9 401$后的余数。 (n,m不超过2\ 10^9) 分析 可以知道,所求答案为$m^r \bmod P$其中$r=\sum_{d\mid n} \dfrac{n!}{\frac{n}{m}!^ 阅读全文
posted @ 2019-03-03 21:50 nosta 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 分析 設$g[i,j]$表示底邊長爲$i$,底部恰好有$j$行全部安全,沒有面積大於$k$的子矩陣(下稱:合法)的概率,$s[i, ]$為$g[i, ]$的前綴和,意義為最下面至少有$j$行全部安全的合法概率。 我們枚舉第一個在第$i+1$行的危險點來轉移$g$和$s$,設這個危險點在第$k+1$列 阅读全文
posted @ 2019-02-27 20:46 nosta 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 求函数定积分用,以两道咕咕上的题目为例。 题一【P4525】 直接套用“牛顿莱布尼茨”公式,被积函数 $$ f(x) =\frac{cx+d}{ax+b} =\frac{c}{a}(1+\frac{\frac{ad}{c} b}{ax+b})\ $$ 情况一,$ac\not=0​$ $$ \int 阅读全文
posted @ 2019-02-26 14:07 nosta 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 考虑一对情侣(x,y)x using namespace std; const int N=1e5+10; int head[N],to[N 1; if(Lb||c d) return; s[++cnt]=(seg){1,c,a,b}; s[++cnt]=(seg){ 1,d+1,a,b}; } l 阅读全文
posted @ 2019-02-25 16:38 nosta 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 动态dp初探 动态区间最大子段和问题 给出长度为$n$的序列和$m$次操作,每次修改一个元素的值或查询区间的最大字段和(SP1714 GSS3)。 设$f[i]$为以下标$i$结尾的最大子段和,$g[i]$表示从起始位置到$i$以内的最大子段和。 $$ f[i]=\max(f[i 1]+a[i],a 阅读全文
posted @ 2019-02-23 19:30 nosta 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 这题斯坦纳树的做法详见 "最小斯坦纳树初探" ,此处写插头dp的做法。 用最小表示法来描述轮廓线上的连通性(如果某个点不选,记标号为0),与“括号表示法”不同,此轮廓线长度位m而非m+1,即 轮廓线里不在有当前格子左侧的边上的插头 (与左边格子的插头本质相同)。 设当前格子为(x,y),左侧格子上的 阅读全文
posted @ 2019-02-22 16:10 nosta 阅读(440) 评论(0) 推荐(1) 编辑
摘要: 问题描述 插头dp用于解决一类可基于图连通性递推的问题。用插头来表示轮廓线上的连通性,然后根据连通性与下一位结合讨论进行转移。 表示连通性的方法 与字符串循环最小表示不同,这种方法用于给轮廓线上的联通情况确定一个唯一对应的标号序列,做法是从左至右轮廓线扫描,每扫描到一个未标号的位置就新建一个标号,并 阅读全文
posted @ 2019-02-22 10:33 nosta 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 问题描述 斯坦纳树问题是组合优化学科中的一个问题。将指定点集合中的所有点连通,且边权总和最小的生成树称为最小斯坦纳树(Minimal Steiner Tree),其实最小生成树是最小斯坦纳树的一种特殊情况。而斯坦纳树可以理解为使得指定集合中的点连通的树,但不一定最小。(by "Angel_Kitty 阅读全文
posted @ 2019-02-22 09:29 nosta 阅读(5045) 评论(1) 推荐(1) 编辑
摘要: 每种堆法(理解成名次序列,举例3,3,8,2和7,7,100,2都对应2,2,1,3这个名次序列)等概率出现;题目中“两种堆法不同当且仅当某个积木在两种堆法中处于不同的层中”可见这是个组合问题,于是设一个名次的生成函数F(x)=sum i=1 inf 1\ x^i/(i!) 。因为F(x)的常数项为 阅读全文
posted @ 2019-02-10 15:05 nosta 阅读(315) 评论(1) 推荐(0) 编辑