摘要:
dp主要是找到状态方程,大多运用双层循环,进行整体最优解的积累,像数塔,时间安排比较困难的就需要循环加条件判断比较,还有比较需要熟悉的是一般都是先从后往前递归出方程,在进行递推编码#include <stdio.h>int main(){ int i,j; int n,c,t; int vt,v1,v2; int len; int p[102]; double e,min,dp[102]={0}; while(scanf("%d",&len)!=EOF) { scanf("%d%d%d",&n,&c,&t); 阅读全文
摘要:
主要是剪枝:分为总体和枝节总体:sum%4!=0,max<sum/4枝节:在于dfs的参数设置和条件判断,动态的判断是否进行参考代码(参考牛人的):#include <stdio.h>#include <stdlib.h>#include <string.h>int a[25],vist[25],m,ave,flag;int cmp(const void *a,const void *b){ return (int *)b-(int *)a;}int dfs(int res,int sums,int cur){ int i; if(sums==ave) 阅读全文