返回顶部
摘要: 题意:区间更新,区间询问. 题解;对于区间更新,我们还是用差分数组$b_i$来更新,区间询问时,我们的答案是:\(\sum_{i=l}^{r}\sum_{j=1}^{i}b_j\), 所以,我们搞两个树状数组维护$b_i$和$i*b_i$即可. 代码: #define int long long i 阅读全文
posted @ 2020-11-16 21:59 Rayotaku 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 题意:在二维坐标轴上给你一些点,求出所有由三个点构成的v和∧图案的个数. 题解:因为给出的点是按横坐标的顺序给出的,所以我们可以先遍历然后求出某个点左边比它高和低的点的个数(这个过程简直和用树状数组求逆序对的操作一模一样好不好!),用$grt[i]$记录第$i$个点左边比它大的数,$low[i]$表 阅读全文
posted @ 2020-11-16 21:45 Rayotaku 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 题意:给你两个字符串,每次取它们的子串C和D,然后求LCS,得到的贡献为$4*LCS(C,D)-|C|-|D|$,求最大贡献. 题解:首先应该了解$O(n^2)$的LCS的dp写法,然后在此基础上稍加改动,对于子串$C$和$D$,如果$c[i]=d[j]\(,那么他们的LCS应该\)+1$,长度也分 阅读全文
posted @ 2020-11-16 21:27 Rayotaku 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 题意:有一长度为$n$的字符串,要求得到$k$不同的它的子序列(可以是空串),每个子序列有$|n|-|t|$的贡献,求合法情况下的最小贡献. 题解:直接撸个爆搜找出所有子序列然后放到set里面搞一下就好了. 代码: int n,k; string str; set<string> s; queue< 阅读全文
posted @ 2020-11-16 20:46 Rayotaku 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 题意:你有$n$个礼物,礼物有自己的种类,你想将它们按种类打包送人,但是打包的礼物数量必须不同(数量,与种类无关),同时,有些礼物你想自己留着,$0$表示你不想送人,问你在送出的礼物数量最大的同时,尽可能的使自己喜欢的留下来,输出能送出的最大礼物数,以及这些礼物中自己不喜欢的数目. 题解:首先,我们 阅读全文
posted @ 2020-11-16 20:38 Rayotaku 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 题意:有一个$n$x$m$的棋盘,你需要从$(1,1)\(走到\)(n,m)\(,每次可以向右,右下,下走任意个单位,\).\(表示可以走,#表示一堵墙,不能通过,问从\)(1,1)\(走\)(n,m)$的方案数. 题解:走棋盘的经典问题的改编,唯一不同的地方在于,棋子可以在某一方向移动任意距离,而 阅读全文
posted @ 2020-11-16 20:15 Rayotaku 阅读(167) 评论(0) 推荐(0) 编辑