摘要: 真的是下定了巨大的决心来搞这一讲,果不其然耗了一晚上 开车旅行(真的是NOIP的题吗怎么这么恐怖) 首先,先用set把小A和小B从城市i出发,到达的下一个城市预处理出来。 f[i][j][k]表示走了2^i天,j城市出发,k表示谁开车,到达那个城市。 转移就是f[i][j][k]=f[i-1][f[ 阅读全文
posted @ 2018-08-13 21:52 AKCqhzdy 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 倍增DP太难啦心情好再回去做 poj1821 先让工匠按s排序,f[i][j]表示枚举到第i个工匠涂了j个木板(注意第j个木板不一定要涂) 那么f[i][j]可以直接继承f[i-1][j]和f[i][j-1] 此外 f[i][j]=max(j-l[i]+1<=k<=s[i]){f[i-1][k-1] 阅读全文
posted @ 2018-08-13 16:11 AKCqhzdy 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 补写一下 poj3171 设f[i]表示覆盖L~i的最小花费,把区间按左端点排序,枚举区间,f[a[i].r]=min{f[a[i].l~(a[top].r-1)]}+a[i].c (当然还要和原值比较的) #include<cstdio> #include<iostream> #include<c 阅读全文
posted @ 2018-08-13 15:48 AKCqhzdy 阅读(370) 评论(0) 推荐(0) 编辑