摘要: 闫式dp分析法 状态表示f[i][j]:表示在前i个数中选,且包含第i个数,一共j个数的所有集合,属性:max 状态计算: f[i][j]:当前第j个点已经在第i个位置,那么第j-1个点与第j个点之间的点数个数应该不大于k,那么假设倒数第二个点 即第j-1个点的下标是t 则 i-k<=t<i 那么f 阅读全文
posted @ 2022-05-08 18:12 xhy666 阅读(33) 评论(0) 推荐(0)
摘要: 假设ci=ai,那么一定有cj=aj(aj == bi),循环这个过程直到ck=ak(bk == ai),这个过程中所选出的元素为一个集合(在b中也有一个相同的集合,只是顺序不同) 不同集合数量为cnt,答案即为2^(cnt-m)(m为c确定的集合个数) #include<bits/stdc++.h 阅读全文
posted @ 2022-05-08 15:42 xhy666 阅读(71) 评论(0) 推荐(0)
摘要: 先用迪杰斯特拉剪枝,再dfs确定最佳方案 #include<bits/stdc++.h> using namespace std; typedef pair<int,int> pii; const int N = 4010,INF = 0x3f3f3f3f; int n,m,c,t; int num 阅读全文
posted @ 2022-05-08 12:51 xhy666 阅读(38) 评论(0) 推荐(0)