做题记录
如题
hdu 6494
记\(f_{i,j,k}\)表示考虑到第\(i\)个,当前比分为\(j:k\)的最多划分段数,由于\(10:10\)以及之上的可以看做\(9:9\),所以\(j,k\)两维大小不超过\(11\)
hdu 6552
记\(f_{i,j,b1,b2,b3,b4,b5,b6,b7}\)表示考虑用了\(i\)种不同的数,\(|s1|+|s2|+|s3|=j\),后面依次为\(b_i\)的方案数,由于\(i\)有用的最多\(k\)个,直接转移然后用组合数统计答案就行了
cf1314d
随机黑白染色,就可以去掉没有奇环的限制了,每次正确率为\({1\over k-1}\),那么染个\(10000\)次就能保证正确了
cf1313d
由于覆盖每个点的线段不会超过k条,所以我们可以离散之后用\(f_{i,s}\)表示考虑到第\(i\)段,覆盖第\(i\)段的所有线段中选取的情况为\(s\)的最大贡献,那么考虑到覆盖第\(i\)段却不覆盖第\(i+1\)段的如何选取是无关紧要的,所以我们对于每个\(s'\)表示只考虑\(s\)中那些覆盖第\(i+1\)段的线段的选取情况时的最大值,然后在枚举一下覆盖第\(i+1\)段却不覆盖第\(i\)段的那些线段的选取情况就行了
cf1101d
枚举所有的质数,把它们的倍数的虚树拿出来求个直径就行了
cf679b
有一个结论,设\(a=\max\{x|x^3\leq m\}\),那么最优的拆分中第一组必定是\(a^3\)或者\((a-1)^3\)
然后相当于可以拆成两个子问题,直接递归计算就行了
cf383d
如果左端点固定为\(1\)的话显然随便dp,设\(f_{i,j}\)表示考虑右端点为\(i\),和为\(j\)的方案数,考虑把左端点从\(1\)移到\(2\),可以直接令\(f_{2,0}+=1\),这样新的\(f_{i,j}\)就代表右端点固定为\(i\),左端点任意时和为\(j\)的方案数了,随便dp就行了
cf729f
设\(f_{l,r,k}\)表示下一步Alice走,Alice选了\(l\)个,Bob选了\(r\)个,当前为\(k\)的最优解,同理设\(g_{l,r,k}\),\(f\)的转移就是\(f_{l,r,k}=\max(f_{l+k,r,k}+...,f_{l+k+1,r,k+1}+...)\),\(g\)也同理,这样就能写出一个\(O(n^3)\)的dp了
冷静分析一下,发现不同的\(k\)最多只有\(O(\sqrt{n})\)种,而当\(l,k\)固定时,不同的\(r\)也只有\(O(k)\)种,所以用记忆化搜索就能让总复杂度降为\(O(n^2)\)
2019 ICPC Asia-East Continent Final H
由于间隔大于\(4\)的最多只有\(O({n\over 4})\)组,所以间隔小于\(4\)的肯定大于\(O({n\over 4})\)组,我们把所有讲个小于\(4\)的组都取出来,然后把其中所有出现次数大于\(O({n\over 4})\)的\(q\)取出来check一下就行了
cf1314c
我们先把所有的子串扔到trie上并一遍dfs就可以把所有子串排好序了,然后二分最终的答案是哪个串,此时相当于要计算分成的每一份字典序都大于当前串的划分个数,记\(f_{i,j}\)表示把前\(i\)个划分为\(j\)份的方案数,发现转移是一个前缀和的形式,那么就可以每次\(O(n^2)\)计算了。注意\(f\)可能很大,不过大于\(10^{18}\)的部分是没有必要知道具体是多少的,所以每次和\(10^{18}\)取min就行了
comet oj CCPC-Wannafly Winter Camp Day4 div 1 H
我们记\(f_{i,j,k}\)表示第\(i\)个人从\(k\)出发逆时针走,在第\(j\)轮到达\(1\)的概率(这个概率就等价于在第\(j\)轮到达\(k\)的概率),同理记\(g_{i,j,k}\)表示\(j\)轮后没有走到过\(1\)的概率,初值设为\(f_{i,0,1}=1,g_{i,0,k}=1\)
我们转移就枚举第一步走了多少,设走了\(t\)步,那么记\(pre=(k-t+n-1)%n+1\),那么有\(f_{i,j,k}+=f_{i,j-1,pre}\times p_{i,t}\),同时我们注意,由于我们的\(f\)需要的是第一次走到,那么当\(pre=1\)的时候就相当于我们从\(k\)出发经过了\(2\)次\(1\),那么换到原问题上就是从\(1\)出发经过了\(2\)次\(k\),所以当\(pre=1\)的时候是不能转移的
ps:不过如果是第一轮f还是要转移的,因为此时只有\(f_{i,0,1}\)有值
然后枚举\(i,j,k\),那么\(i\)在第\(j\)轮可以占领\(k\)的概率就是
然后根据期望的线性,把所有的概率加起来就行了

浙公网安备 33010602011771号