HDU5900
http://acm.hdu.edu.cn/showproblem.php?pid=5900
就是给出两行数字,每行有若干的数,如果相邻的两个数字的最大公约数不是1 的话拟具可以把这两数删除,并且把第二行对应的数字加起来,你的任务就是让这些数字的和最大
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
int n; int a[],b[],c[][];
long long dp[][];
void init(){
for(int i=;i<=n;i++){
for(int j=i-;j>=;j--){
if(i-j==){
if(__gcd(a[i],a[j])!=){///要注意函数的使用方法,前面是两个——
dp[j][i]=max(dp[j][i],(long long)b[i]+b[j]);///dp是long long型的,b是int型的,要进行转化,不然会出错
c[j][i]=;
}
}
else
{if(c[j+][i-]&&__gcd(a[j],a[i])!=){
dp[j][i]=max(dp[j][i],dp[j+][i-]+(long long)b[i]+b[j]);
c[j][i]=;
}
}
for(int k=j;k<=i;k++){
if(k+>=j && k+<=i){
if(dp[j][i] < dp[j][k]+dp[k+][i]){
dp[j][i]=max(dp[j][i],dp[j][k]+dp[k+][i]); if(c[j][k] && c[k+][i]){///证明此区间已经不能再扩展啦
c[j][i]=;
} else {
c[j][i]=;
}
}
}
} }
}
}
int main()
{
int t;
cin>>t;
while(t--){ cin>>n;
memset(dp,,sizeof(dp));///忘记初始化会犯错的
// memset(a,0,sizeof(a));
//memset(b,0,sizeof(b));
memset(c,,sizeof(c));
for(int i=;i<=n;i++){
cin>>a[i];
}
for(int i=;i<=n;i++){
cin>>b[i];
}
init();
long long ans=;
for(int i=;i<=n;i++){
for(int j=;j<=n;j++){
ans=max(ans,dp[i][j]);
}
}
cout<<ans<<endl; }
}
HDU5900的更多相关文章
- HDU5900 QSC and Master(区间DP + 最小费用最大流)
题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=5900 Description Every school has some legends, ...
- [POJ&HDU]杂题记录
POJ2152 树形dp,每次先dfs一遍求出距离再枚举所有点转移即可. #include<iostream> #include<cstdio> #include<cma ...
随机推荐
- Ubuntu-搜狗输入法
Sougou(搜狗):要换fictx输入法,先删除ibus输入法.搜索sudo apt-get purge ibussudo apt-get autoremove 然后安装fcitx和拼音输入法(要安 ...
- AngularJS向指令传递数据
我今天要实现的功能是利用AngularJS来完成客户端过滤器. list.html页面主要代码如下: ...... <div class='tj_con_tr_ipt' ng-init=&quo ...
- 使用HTML5+CSS3制作圆角内发光按钮----示例
<!doctype html> <html> <head> <meta charset="utf-8" /> <title&g ...
- React Native中的网络请求fetch和简单封装
React Native中的网络请求fetch使用方法最为简单,但却可以实现大多数的网络请求,需要了解更多的可以访问: https://segmentfault.com/a/1190000003810 ...
- 使用OpenXML操作Office文档
使用OpenXML类库, 以编程的方式来访问PowerPoint, Word, Excel等文档, 有时能够为我们批量编辑文档提供方便. 最近项目中遇到的两个任务是: 1. 替换文档中的图片的Alt ...
- magento中如何实现产品图片放大效果
Magento列表页用jQuery实现产品图片放大效果今天看到个网站,鼠标移到列表页的产品图片上,旁边会弹出一个大图,感觉不错,就自己在Magento里写了个.先看看效果 这个效果比较好实现,打开li ...
- iOS-服务器文件断点下载
文件下载基本步骤:1.获取下载链接,创建响应发送请求.(使用异步请求,避免因文件过大下载时间长而阻塞主线程).2.当接到响应时在下载目录中创建文件.创建文件使用NSFileHandle进行文件内部处理 ...
- raw_input 和input的区别
input它会根据用户输入变换相应的类型, raw_input则是不管用户输入什么类型的都会转变成字符型.
- AppStore 内购验证的方法
AppStore增加了验证内购(In App Purchasement)的方法, 就是苹果提供一个url地址, 开发测试用: https://sandbox.itunes.apple.com/veri ...
- H5版俄罗斯方块(2)---游戏的基本框架和实现
前言: 上文中谈到了H5版俄罗斯方块的需求和目标, 这次要实现一个可玩的版本. 但饭要一口一口吃, 很多东西并非一蹴而就. 本文将简单实现一个可玩的俄罗斯方块版本. 下一步会引入AI, 最终采用coc ...