摘要:同学: dqa2019 mn2016 大佬: itst memset0 阅读全文
posted @ 2020-04-03 10:18 cszmc2004 阅读(49) 评论(0) 推荐(0) 编辑
摘要:看了题,A,B题都是lojround原题(A题其实也是JOI2013原题)。 而且部分分都一样。。。。。。。。。。。。。。。。。。 但是B忘了。 A题就是个扫描线+单调栈+线段树。 随便写一下就跳到C C题暴力死活不会,但是20分是送的就写了。 从“数列的相似性”想了很久,但是还是不会,十分自闭。 阅读全文
posted @ 2020-06-05 12:28 cszmc2004 阅读(8) 评论(0) 推荐(0) 编辑
摘要:按照题意设f[i]表示前i个点的最大收益,g[i]表示后i个点的最大收益。 显然: f[i]=max(f[i-1],f[j]+\frac{(i-j)(i-j+1)}{2}-s[i]+s[j]) 拆开括号变成f[i]=max(f[i-1],f[j]+\frac{i*2-2*ij+i-+j^2-j}{2 阅读全文
posted @ 2020-06-05 07:50 cszmc2004 阅读(0) 评论(0) 推荐(0) 编辑
摘要:没学过最大权独立集,但是想到了最大权闭合子图,建图和正解差不多。 实际上,这个图要是一个二分图,原因是题目条件。 如果图有奇环,则会发现无论怎么选都无法满足题目条件,所以图是二分图 转化以后,枚举较小大小的一边的点是否被选,贪心选择另一边的点即可获得35分。 在考场上想到了最大权闭合子图。这道题在a 阅读全文
posted @ 2020-06-04 16:09 cszmc2004 阅读(10) 评论(0) 推荐(0) 编辑
摘要:设f[i][j]表示选了i个点,只考虑右端点不大于j的区间的最大收益。 转移方程为f[i][j]=f[i-1][k-1]+val(k,j) 其中val(k,j)表示l<=k<=r<=j的区间的价值之和。 一种想法是使用可持久化线段树维护。在插入j的时候继承j-1的结果,可持久化线段树的每个下标i维护 阅读全文
posted @ 2020-06-04 15:47 cszmc2004 阅读(5) 评论(0) 推荐(0) 编辑
摘要:首先开A,发现是GDOI防ak题,随便写个30分就跳过。 再开B,显然图必须是一个二分图,再枚举小的一边的节点数量就是35分。 后来想到了最大权闭合子图,想到了和正解差不多的东西,但是以为是假的没法修所以没写(因为点数要最大)想了很久其他做法(走了歪路)都没想到。 开c已经只剩下1h了,根据一道cf 阅读全文
posted @ 2020-06-04 12:34 cszmc2004 阅读(7) 评论(0) 推荐(0) 编辑
摘要:。 阅读全文
posted @ 2020-06-03 11:44 cszmc2004 阅读(3) 评论(0) 推荐(0) 编辑
摘要:考场上本来该打个插值拿23分的,但是没时间了... 一直在向生成函数想,想用多项式ln+城市规划+euler变换,结果思路是错的... 其实这道题不用城市规划。不用求无向图的个数。 原来我想的是一个划分关键链的方案数是f[i]*mul s[j] 其中i为连通块个数,s为每一块的大小,f要用多项式求逆 阅读全文
posted @ 2020-06-03 08:09 cszmc2004 阅读(12) 评论(0) 推荐(0) 编辑
摘要:这道题我首先搞出了一个做法,但是看到题解后发现了一个更优雅的做法。 我的做法(也是官方做法1)就是:先猜一个结论:极大权值消除序列=最大权值消除序列。 这个结论的推论:从任意顺序开始消除,则答案还是一样的。 考虑钦定一个顺序消除,使用一个栈扫描整个序列,则每次最多会删除1个数。时间复杂度O(qn) 阅读全文
posted @ 2020-06-01 19:37 cszmc2004 阅读(5) 评论(0) 推荐(0) 编辑
摘要:复习斜率优化。 原题公式$\min((x-x_i)^2+c_i)$拆开括号得$\min(-2*x*x_i+x_i^2+c_i)+x^2$ 是个斜率优化的标准形式。 题目中建出操作树后一个星球会影响到它的子树。所以可以使用线段树 (其实所有和区间相关的问题都可以使用线段树) 线段树上的每一个节点上存储 阅读全文
posted @ 2020-06-01 08:34 cszmc2004 阅读(8) 评论(0) 推荐(0) 编辑
摘要:如果要统计的是有根树, 阅读全文
posted @ 2020-06-01 08:11 cszmc2004 阅读(12) 评论(0) 推荐(0) 编辑