上一页 1 ··· 50 51 52 53 54 55 56 57 58 ··· 64 下一页
摘要: 第一篇题解确实会被讨论区里的数据hack掉,那么就随便水一个不会被hack掉的题解吧 首先我们尝试着发现这道题的一些结论, 你就会发现答案是单调的不降的 这里的答案不降指的是 选择每一个位置$i$作为结尾能形成的最长区间的左端点是单调不降的 ,这个很好证明,将$i 1$这个位置作为结尾形成的最长区间 阅读全文
posted @ 2019-01-02 11:59 asuldb 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 树剖维护边双 首先我们看到在整个过程中图是保证连通的,于是我们并不需要LCT来维护连通性 而这些询问询问的是两个点之间关键路径的数量,也就是无论怎么走都必须走的数量,显然这就是两点之间的割边的数量 由于这里还有一些删除操作,树剖并不支持,所以我们先将所有的答案读进来,删掉所有的边 之后我们就$Tar 阅读全文
posted @ 2019-01-02 11:58 asuldb 阅读(178) 评论(0) 推荐(0) 编辑
摘要: $Trie$树+$DP$ 我们只需要做一个存在性dp就好了 对于每一个字符串,我们设$f[i]$表示从$1$到$i$位是否能被完全匹配 首先$f[0]=1$,之后我们对于每一个$f[i]=1$我们都可以往下匹配 具体的匹配方法自然是丢到$Trie$树上去,从$i$这位开始,一旦遇到一个结束标记就将这 阅读全文
posted @ 2019-01-02 11:58 asuldb 阅读(147) 评论(0) 推荐(0) 编辑
摘要: $Trie$ 树+搜索 我用的是$dfs$ 首先对于将所有的RNA片段都建到$Trie$树里去,之后来匹配那个模板串就好了 如果是匹配的位置是字母,那么我们就继续往下匹配 如果是$?$,我们必须要略过$Trie$树上的一位去匹配 如果是$ $,我们可以先考虑直接忽略这一位,也可以直接把这一位当成$? 阅读全文
posted @ 2019-01-02 11:58 asuldb 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 思路太妙了 刚开始yy出了一种比较自然的dp方法,就是按照游戏的进行来开始dp,设$dp[i][j]$表示第$i$个人为庄家,还剩下$j$个人的概率为多少,但是很快发现这个样子没法转移,因为没有办法确定下一个庄家是谁 于是只能将第二维压成一个状态$s$ ,$dp[i][s]$表示第$i$个人为庄家存 阅读全文
posted @ 2019-01-02 11:57 asuldb 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 很妙的一道题 感觉又加深了对$KMP$还有$next$数组的理解 先来看看这个鬼畜的题意,大致就是给你一个字符串, 对于这个字符串的每一个前缀 ,要去找到这个前缀的一个最长的前缀,使得 前缀成为这个前缀的前缀倍长之后的前缀 很蛇皮的题意,之后可能就会懵逼了,这根$KMP$有什么关系 我们来考虑这样一 阅读全文
posted @ 2019-01-02 11:56 asuldb 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 首先我们得贪心一下,让吃饭时间较长的人排在队首 去抄一段贪心的证明吧 现在研究在一个队伍里的人有什么性质 可以发现道题里也有一个不变量,就是对于队伍里的前$i$个人,不管他们排队的顺序如何,$a[i]$的前缀和$s[i]$是不会变的,第$i$个人会在$s[i]+b[i]$时刻吃完,这前$i$个人的吃 阅读全文
posted @ 2019-01-02 11:56 asuldb 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 发现自己推得组合数好像不太一样 先把这个复杂的柿子写一遍 $$\sum_{i=2}^{\left \lfloor\frac{n}{k}\right \rfloor}C_{2^k 1}^{i}+\sum_{i=1}^{2^{n\text{ } \text{mod} \text{ }k} 1}C_{2^ 阅读全文
posted @ 2019-01-02 11:55 asuldb 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 这是一道概率+树形$dp$ 首先我们看到这里每一个的贡献都是1,所以我们要求的 期望就是概率 求得其实就是这个 $$\sum_{i=1}^nP_i$$ $P_i$为节点$i$通电的概率 显然节点$i$通电有三种可能 1. 它自己来电了 1. 它的子树里有一个点来电了传了过来 1. 它的子树外面有一个 阅读全文
posted @ 2019-01-01 21:50 asuldb 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 发现自己的离散化姿势一直有问题 今天终于掌握了正确的姿势 ~~虽然这并不能阻挡我noip退役爆零的历史进程~~ 还是先来看看离散化怎么写吧,我以前都是这么写的 这是使用$set+map$的离散化,但是显然巨大的常数是极大的劣势 正确的操作应该是这个样子 cpp std::sort(a+1,a+n+1 阅读全文
posted @ 2019-01-01 21:50 asuldb 阅读(85) 评论(0) 推荐(0) 编辑
上一页 1 ··· 50 51 52 53 54 55 56 57 58 ··· 64 下一页