Educational Codeforces Round 62 (Rated for Div. 2)


layout: post
title: Educational Codeforces Round 62 (Rated for Div. 2)
author: "luowentaoaa"
catalog: true
tags:
mathjax: true
- codeforces
- dp
---less

传送门post

D - Minimum Triangulation (区间DP,结论题)

思路

一眼看出结论,可是实际上它是个区间DP题,枚举区间\(l-r\)中的一个点\(k\) 而后继续作一个三角形spa

E - Palindrome-less Arrays (DP)

思路

首先没有大于1的奇数的回文那就是没有长度为3的回文,能够发现只要没有长度为3的回文那就确定不会有大于长度为3的奇数回文 因此咱们就能够把问题拆成奇数和偶数的两个串 要求任意相邻两个不相同的个数code

首先若是不是-1答案就已经固定了,若是是-1就考虑这种-1的长度的状况get

\(1.\)若是所有都是-1例如\(xxxxx\) 那么咱们就直接获得这种有\(k*pow(k-1,n-1)\)it

\(2.\)若是是\(axxxx\)或者\(xxxxa\)那么咱们就能够直接获得\(pow(k-1,n)\)io

\(3.\)若是是\(axxxa\) 那么假设答案就是\(dp[len][1]\)class

\(4.\)若是是\(axxxxb\) 那么假设就是\(dp[len][0]\)test

首先定义\(dp[len][0]\) 为长度为\(len\)的以上\(3/4\)状况im

明显的若是\(len=1\)那么\(dp[len][1]=k-1\) and \(dp[len][0]=k-2\)

如今考虑\(dp[len+1][1]\) 就至关于如今已经有了一个\(axxxxa\)

对于第一个\(x\) 它确定不是\(a\) 那么他就多是\(k\)中除了\(a\)以外的\(k-1\)个,因此假设它是\(b\)

那么如今就是\(axxxb\) 发现这个答案咱们以前是否是求过了是否是就是\(dp[len][0]\)

而后\(b\)\(k-1\)中状况因此\(dp[len][1]=(k-1)*dp[len-1][0]\)

另外一种同理

相关文章
相关标签/搜索