我与DP永远为敌(?
数位dp
100+没写+没写
T2题解(目前)没看懂,T3看懂了(目前)不会写
T1
一个数位dp,十分浅显,但是需要设置114514个变量
目前编号,上一个数字,上上个数字,有4,有8,有3连(?),是否有选择限制
发现这个了这题就被终结了(代码看最后)
树形dp
15+0+0
不!你不是真正的数位dp,你是博弈论!(?)
T3似乎换根dp
T1(仅思路)
对于每个非叶,他的儿子颜色哪个多自己就是哪个颜色(相等->无色)
最后推出根节点,如果是蓝直接-1
如果是红输出所有可以涂的叶子
如果无色:二次Dfs寻找哪些点可以把一个点变成红色
—
数位T1代码
#include
#define int long long
using namespace std;
int l,r,cnt,dp[15][15][15][2][2][2][2],a[25];
int dfs(int id,int lst2,int lst1,int b4,int b8,int lmt,int l3){
if(b4&&b8){return 0;}
if(!id){return l3;}
if(dp[id][lst2][lst1][b4][b8][lmt][l3]!=-1)
return dp[id][lst2][lst1][b4][b8][lmt][l3];
int mn=(id==cnt?1:0),mx=(lmt?a[id]:9),ans=0;
for(int i=mn;il>>r;
cout<<sum(r)-sum(l-1)<<endl;
return 0;
}
