上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 22 下一页
摘要: 这是一场考得很不好的比赛,逐一分析问题,下次找回面子(和$Rating$)。 \(A.\quad Subtract\quad or\quad Divide\) 第一眼感觉没有思路(也是我第一次$div_2$的$A$题没思路),于是打了个100的表出来。 发现当$4\leq n$时,偶数答案为2,奇数 阅读全文
posted @ 2020-11-22 01:37 syzf2222 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 考虑二分答案,问题转化为能否用边长为$len$的正方形框住大于等于$c$个草场。 继续转化问题,即边长为$len$的正方形能框住的最多草场数是否大于$c$。 考虑每一个右下角$(x,y)\(,则每一个横坐标在\)[x-len+1,x]\(,纵坐标在\)[y,y+len-1]$中的草场都可以被框住。 阅读全文
posted @ 2020-11-15 22:58 syzf2222 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 虚树$dp$+倍增。 构建虚树:边权为原树这条链上的最小值。 状转方程:若子节点为关键点,则此边必断,\(dp[x]+=w[x->son]\)。 否则,可以选择断这条边或在子树中自行解决,\(dp[x]+=\min\{w[x->son],dp[son]\}\)。 链上最小值,可以选择树剖维护,这里使 阅读全文
posted @ 2020-10-28 00:32 syzf2222 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 最近调题都好艰辛啊……(请忽略弱者的一句感叹) 虚树,为关键点及其$lca$构成的树,在这棵树上跑$dp$有时可以降低复杂度。 若我有$m$个关键点,以下给出虚树建树模板: st[++top]=1;beg[1]=0; for(int i=1;i<=m;i++){ if(a[i]==1)continu 阅读全文
posted @ 2020-10-27 22:50 syzf2222 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 因为两桥不能相交,故易得$dp$方程:\(dp[i]=\min\{dp[j]+sumw[i-1]-sumw[j]+(h[i]-h[j])^2\}\) 看起来似乎可以斜率优化,可惜$h[i]$不单调。 这里介绍一种很巧妙的做法:李超线段树。 整理方程:\(dp[i]-h^2[i]-sumw[i-1]= 阅读全文
posted @ 2020-10-26 20:15 syzf2222 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 纯暴力$\Theta(n3)\(,前缀和优化\)\Theta(n2)$,因$n$为十万级别无法通过本题。 考虑将每个二进制位的贡献分开来算。 对于二进制第$i$位,若当前此位为1,则只有与0亦或才能产生贡献,反之亦然。 则对于每一个二进制位,维护数组$val[i][0/1]$,代表这个位置上$0/1 阅读全文
posted @ 2020-10-23 23:19 syzf2222 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 考虑$dp$,设状态量$dp[i][j]$表示抽到$i$用了$j$次连抽的最大值。 预处理前缀和:\(sum[i]=\sum\limits_{j=1}^i a[j]\) 状转方程:\(dp[i][j]=\max\{\quad dp[i-k-c][j-1]+a[i-k-c+1]+sum[i]-sum[ 阅读全文
posted @ 2020-10-19 19:55 syzf2222 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 前言:$OI$中有一些奇思妙想,可能第一次自己想不出来,不要懊恼,不要沮丧,认真地去学习它,下次遇到就不怕了^_^ 正文:考虑$dp$,设状态量$dp[i][j]$表示前$i$个数分$j$段(任意一段满足条件)的方法数。 先给出状态转移方程: \(dp[i][j]=(j-c)*dp[i-1][j-1 阅读全文
posted @ 2020-10-18 21:01 syzf2222 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 孤立地去看每一个询问,发现问题可以这样转化: 有一些集合,取出一个数则集合占用,求最多可以取多少个从0开始的连续自然数。 先手玩一组数据: \(\{0,1,2\},\{1,2,3\},\{1,3\}\) 考虑0:占用${0,1,2}$ 考虑1:占用${1,2,3}$ 考虑2:发现有2的${1,2,3 阅读全文
posted @ 2020-10-17 21:51 syzf2222 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 部分分1:暴力算法$O(n2m2)$,期望得分$20pts$。 部分分2:考虑枚举每个矩形的右上角。 转而考虑每一个点作为右上角能产生多少面积的矩形。 预处理数组$rht[i][j]\(,代表从点\)(i,j)$最远可以向右走多少。 那么每次枚举一个点,枚举向下延伸多长,可以得到以这条边最远能向右平 阅读全文
posted @ 2020-10-16 15:08 syzf2222 阅读(196) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 22 下一页