摘要: 容易发现通配符中间的部分可以任意匹配,会造成的无法匹配的仅仅是前后缀,前缀和后缀可以分别独立处理。如果字符串均有通配符,只需要按前/后缀长度排序然后暴力匹配就可以了。 问题在于存在无通配符的字符串。显然首先这些字符串需要相同。剩下的字符串只要都能与该字符串匹配即可。然后就不会了。想了半天去看题解…… 阅读全文
posted @ 2018-09-26 23:59 Gloid 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 设f[i]为i在子树内不与充电点连通的概率。则f[i]=(1-pi)·∏(1-qk+qk·f[k])。 然后从父亲更新答案。则f[i]=f[i]·(1-qfa+qfa*f[fa]/(1-qfa+qfa*f[i]))。 比较好想的dp。注意第二个式子可能会除0。 阅读全文
posted @ 2018-09-26 19:51 Gloid 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 可以发现每次都对后缀+1是不会劣的。考虑dp:设f[i][j]为前i个数一共+1了j次时包含第i个数的LIS长度。则f[i][j]=max(f[i][j-1],f[k][l]+1) (k<i,l<=j,a[i]+j>=a[k]+l)。容易发现这里是二维偏序,相当于查询(j,a[i]+j)左下部分的最 阅读全文
posted @ 2018-09-26 19:31 Gloid 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 之前听说过一种dp套dp的trick,大致是用另一个dp过程中用到的一些东西作为该dp的状态。这个题比较类似。 考虑求LIS时用到的单调队列。设f[S]为所选取集合为S的方案数,其中在单调队列内的标2不在的标1。转移时考虑选择一个数是否合法,这只需要保证LIS长度不超过k且所给数的相对顺序不变。 注 阅读全文
posted @ 2018-09-26 13:03 Gloid 阅读(309) 评论(0) 推荐(0) 编辑