上一页 1 2 3 4 5 6 ··· 16 下一页
摘要: "题目链接" 定义$f[i][j]$表示$a=i,b=j$时是必胜态还是必败态,博弈DP可以解决$a,b \leq 100$ 的情况 然后就可以找规律了,发现$f[i][j]=0$的情况很少,所以打印出$f[i][j]=0$时的$i$和$j$的表 $(i,j)$和$(j,i)$是等价的,所以不妨只考 阅读全文
posted @ 2019-11-07 17:20 yjk 阅读(180) 评论(0) 推荐(0)
摘要: "题目链接" $solution$ 类似于蚂蚁那道题的做法 弹性碰撞相当于交换位置并继续前进,考虑一个起点$(x,0)$,时间为$t$出发的$dancer$,相当于从$(x, t)$的坐标出发,最终所有终点位置是一定的,但是不知道与哪个$dancer$配对 两个$dancer$碰撞的条件是$x+y$ 阅读全文
posted @ 2019-11-07 17:09 yjk 阅读(254) 评论(0) 推荐(0)
摘要: "题目链接" 离线用链表维护,先按权值排序,建立链表,记录每一天在链表的位置,然后按天数从大到小查询,查询完删除 阅读全文
posted @ 2019-11-07 16:59 yjk 阅读(190) 评论(0) 推荐(0)
摘要: 模板 "【模板】manacher算法" 不妨先只考虑如何求长度为奇数的回文串 记$P[i]$表示以$i$为中心最多向两边扩展几个字符,满足回文 如串$ababa$, $P[1]=0,P[2]=1,P[3]=3,P[4]=1,P[5]=0$ 如果暴力求解的话就是枚举每个中心位置,暴力判断能否扩展,在随 阅读全文
posted @ 2019-11-07 16:51 yjk 阅读(169) 评论(0) 推荐(0)
摘要: T1 $solution$ 求出第一个开始下降的位置,移动到连续的与它相同的数的最前面的一个数的位置,记录为$p$ $p$以前的位置的数与原数相同,$p$位置为原数 1,后面全部为9 cpp include include include include define int long long u 阅读全文
posted @ 2019-11-04 21:46 yjk 阅读(240) 评论(0) 推荐(0)
摘要: 存个链接[https://www.luogu.org/blog/KingSann/fou chang yong di hei ke ji san yuan huan post] 阅读全文
posted @ 2019-11-04 21:21 yjk 阅读(152) 评论(0) 推荐(0)
摘要: "第一题" 考虑树上$DP$,f[i][j][0/1]表示以$i$为根的子树,入读为零点的个数为$j$,点$i$的入度为$0$/不为$0$时的方案数 转移的时候考虑$u$的一个子树$v$的贡献,分类讨论边$(u,v)$的两个方向的两个方案,具体的转移方程看代码 记录子树size,利用“刷表法”,只进 阅读全文
posted @ 2019-11-04 16:45 yjk 阅读(134) 评论(0) 推荐(0)
摘要: "题目链接" 用两条扫描线从左往右扫描,距离为W,右边的扫描线扫到就加上,左边的扫到就减去, 线段树上的一点$x$维护$(x,x+H)$的星星总价值,修改时直接修改$(x H,x)$就行了 坐标大,离散化 阅读全文
posted @ 2019-11-03 21:03 yjk 阅读(169) 评论(0) 推荐(0)
摘要: 求$n$个矩形的面积并,可以用线段树维护一条垂直于$y$轴的直线上被矩形覆盖的长度有多少长,将直线从左往右扫一遍,遇到矩形左边界就+1,遇到右边界就 1,不为$0$的位置就表示没有覆盖 不为$0$的位置的多少似乎不好维护, 考虑这样一个性质: 如果一个线段树上的区间在扫过一个矩形的左边界被全部覆盖, 阅读全文
posted @ 2019-11-03 20:58 yjk 阅读(154) 评论(0) 推荐(0)
摘要: "链接" 对于每个状态$f[j]$多记录一个维度,转移的时候利用类似于归并排序的方法合并,以保证时间复杂度可以承受 注意事项:前$K$大可以有重复的价值 cpp include include include using namespace std; const int MAXK=55; const 阅读全文
posted @ 2019-10-26 18:39 yjk 阅读(183) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 ··· 16 下一页