vp Educational Codeforces Round 160 (Rated for Div. 2)
ABC很顺畅,没有卡住
然后到最后D都做不出来
D我感觉是一个类似计数dp的东西
但是我找不到统计的规律
但是可以得到一些性质:一个数字如果想被删掉,那它直到它左边的比它小的数字为止所有数字都要先删掉,它才能被删掉
发现自己如果不去想DP,会去往贪心的方向想,这题就是那种贪心没法完全被判断掉的
因为贪心也有不同的程度,某种意义上dp的转移方程也是一种贪心
无后效性,最优子结构,子问题重复
无后效性好像满足了,前面的减少不会影响到后面,只需要在转移的时候增加条件即可
这个算是计数dp,但是也有明显的阶段,我感觉我只要也往这个方向想,应该是能够做出来了
但是没有往这个方向想,以后遇到觉得不可做的题目就往dp想想吧。。。
我现在还是不知道怎么直接判断用不用dp
对于这题,状态就是f[i]表示前以a[i]结尾的子串有多少个
这个状态都给了,转移也很明显了。。
算是脑子题吧,我看到状态基本就知道怎么做了。
唉唉
菜,就多练
今天把D写了,我tm交了38发。。
坐大牢啊
主要是有几个问题。
首先是常数,我能用前缀和的我用了树状数组,然后能O(n)算的用了个理论O(n)的
然后就常数炸了
然后是。。
我对dp不够敏感,可以用dp统计的却一点反应没有
能够完全保证成立的不去严谨的想一想就不用了,导致代码效率严重降低,而且代码难度大幅上升。。
这要是在打比赛的时候,那就是寄啊
还有一个问题,单调栈的模型是真的不熟悉。
这个D题里面就是单调栈的统计,我居然想着用二位偏序。。
这要是用了,估计常数又爆炸了,然后又要重写。。
我前面知识点的漏洞确实还是太多了。。
唉唉