怎么免费网站高端效果图制作公司
web/
2025/10/6 0:52:57/
文章来源:
怎么免费网站,高端效果图制作公司,猎头公司人才招聘,工作服定制厂家正题
评测记录:https://www.luogu.org/recordnew/lists?uid52918pidP1282 题目大意
n个多米诺骨牌#xff0c;上下值不相同#xff0c;可以交换一个多米诺上下的值#xff0c;求最少的交换次数使上下之和的差值最小。 解题思路
用fi,jNfi,jN表示只计算前i个多米诺52918pidP1282 题目大意
n个多米诺骨牌上下值不相同可以交换一个多米诺上下的值求最少的交换次数使上下之和的差值最小。 解题思路
用fi,jNfi,jNf_{i,j+N}表示只计算前i个多米诺上下之差为j需要的最小次数然后类似背包的想法正常用差值转移就好了。 code
#includecstdio
#includecstring
#includealgorithm
#define N 5000
using namespace std;
int n,n1,n2,f[1001][N*3],a[1001],ans,mins;
int main()
{scanf(%d,n);for(int i1;in;i){scanf(%d%d,n1,n2);a[i]n1-n2;//只保存差值}memset(f,127/3,sizeof(f));f[0][N]0;//初始化for(int i1;in;i){for(int j-N;jN;j){f[i][jN]min(f[i-1][jN-a[i]],f[i-1][jNa[i]]1);}}for(int i0;iN;i){minsmin(f[n][Ni],f[n][N-i]);//计算最小答案if(mins1000)break;}printf(%d,mins);
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87648.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!