摘要:
题意:n*m矩阵,从某一点起,向上下左右四个方向走,只能走到比自身值小的格子上,问最长路径的长度。分析:从小到大考虑每一个格子,dp[i][j]=max(dp[i-1][j], dp[i+1][j], dp[i][j+1], dp[i][j-1]) + 1, 其中 a[i][j]>a[x][y]。int dx[] = {-1,0,1,0};//up Right down Leftint dy[] = {0,1,0,-1};const int M = 105;int a[M][M], d[M][M];int n, m, ans;struct node{ int x,y;}nd[M*M];i 阅读全文
摘要:
题意:n种物品,第i种价值num[i],数量cnt[i],要将其尽量平分成两份,问这两份的价值各是多少?分析:多重背包的题,用母函数做的。输入数据以负数结束,但我看到样例最后一行是-1,就以为是以-1结束,TLE了半天。。。const int N = 50, M = 250000;int a[2][M+1], p, q, n, sum;int num[N+1], cnt[N+1];//值和个数int main(){ #ifndef ONLINE_JUDGE freopen("in.txt","r",stdin); //freopen("out. 阅读全文