博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cdoj 1131 男神的礼物 区间dp
阅读量:4678 次
发布时间:2019-06-09

本文共 1450 字,大约阅读时间需要 4 分钟。

给n个数字, 拿走两个数字a, b会有a*b的代价, 并新生成一个数字(a+b)%100, 求拿走所有数字所需的最小代价。

区间dp, 枚举分界点, 然后记忆化搜索。

1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 #include
12 #include
13 using namespace std;14 #define pb(x) push_back(x)15 #define ll long long16 #define mk(x, y) make_pair(x, y)17 #define lson l, m, rt<<118 #define mem(a) memset(a, 0, sizeof(a))19 #define rson m+1, r, rt<<1|120 #define mem1(a) memset(a, -1, sizeof(a))21 #define mem2(a) memset(a, 0x3f, sizeof(a))22 #define rep(i, n, a) for(int i = a; i
pll;26 const double PI = acos(-1.0);27 const double eps = 1e-8;28 const int mod = 1e9+7;29 const int inf = 1061109567;30 const int dir[][2] = { {-1, 0}, { 1, 0}, { 0, -1}, { 0, 1} };31 int dp[105][105], a[105], sum[105];32 int dfs(int l, int r) {33 if(~dp[l][r])34 return dp[l][r];35 if(l>=r)36 return 0;37 if(r-l==1)38 return a[l]*a[r];39 dp[l][r] = inf;40 for(int i = l; i<=r; i++) {41 dp[l][r] = min(dp[l][r], ((sum[i]-sum[l-1])%100)*((sum[r]-sum[i])%100)+dfs(l, i)+dfs(i+1, r));42 }43 return dp[l][r];44 }45 int main()46 {47 ios::sync_with_stdio(0);48 int t, n;49 cin>>t;50 while(t--) {51 cin>>n;52 mem1(dp);53 for(int i = 1; i<=n; i++) {54 cin>>a[i];55 sum[i] = sum[i-1]+a[i];56 }57 int ans = dfs(1, n);58 cout<
<

 

转载于:https://www.cnblogs.com/yohaha/p/5078222.html

你可能感兴趣的文章
编译适用于TP-Link WR703N的OpenWRT固件
查看>>
Ubuntu16下编译linux内核,报"mkimage" command not found错的解决
查看>>
Nginx启动SSL功能,并进行功能优化,你看这个就足够了
查看>>
php 创建简单的Restful WebAPI(三)
查看>>
C#遍历DataSet中数据的几种方法总结
查看>>
linux tomcat安装以及配置
查看>>
Git——Git的简单介绍【一】
查看>>
Vue源码学习三 ———— Vue构造函数包装
查看>>
winform编程中的跨线程访问资源(转)
查看>>
自制操作系统Antz(5)——深入理解保护模式与进入方法
查看>>
Creating one array of strings in c fails ,why?
查看>>
POJ 3683 Priest John's Busiest Day(2-sa路径输出,4级)
查看>>
hdu 1244 Max Sum Plus Plus Plus(DP线性区间)
查看>>
4.unity3D 预设的一例
查看>>
XP Sp3 开机就要激活,否则无法登录windows桌面
查看>>
转:智能模糊测试工具 Winafl 的使用与分析
查看>>
初识 Fuzzing 工具 WinAFL
查看>>
python:学习自顶向下程序设计:竞技体育模拟
查看>>
整数中1出现的次数(important)
查看>>
【转】软件设计模式六大原则详解
查看>>