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 ...
随机推荐
- 原生javascript和jquery实现简单的ajax例子
后台C#代码 public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/p ...
- Java中面向对象的详解
1:成员变量和局部变量的区别(理解) (1)在类中的位置不同 成员变量:类中方法外 局部变量:方法定义中或者方法声明上 (2)在内存中的位置不同 成员变量:在堆中 局部变量:在栈中 (3)生命周期不同 ...
- Population-based metagenomics analysis reveals markers for gut microbiome composition and diversity
读paper的时候觉得自己就是个24K纯学渣(=.=)一大堆问题等着我去解决...所以在这里写一个Q&A好了,先列问题,逐步填充答案- ××××××××××××××××××我是分割线么么哒×× ...
- windows核心编程---第二章 字符和字符串处理
使用vc编程时项目-->属性-->常规栏下我们可以设置项目字符集合,它可以是ANSI(多字节)字符集,也可以是unicode字符集.一般情况下说Unicode都是指UTF-16.也 ...
- angular插件合集
图片视频类 angular-maxonry 图片墙效果插件,可以将图片组织成类似于瀑布流的效果,依赖于jQuery.imageloaded和Masonry angular-deckgrid 另一个照片 ...
- POJ 1236 SCC+缩点
题意:一张有向图,一问至少给几个点发送软件,才能让所有点都能收到软件:二问是至少添加几条边才能让整个图是一个连通分量: 分析:一般求连通分量都会求缩点,在这里缩点之后,生成一张新的图,在新的图中求每一 ...
- Thrift 个人实战--初次体验Thrift
前言: Thrift作为Facebook开源的RPC框架, 通过IDL中间语言, 并借助代码生成引擎生成各种主流语言的rpc框架服务端/客户端代码. 不过Thrift的实现, 简单使用离实际生产环境还 ...
- android首次点击没反应,第二次才反应
比如我写了个重置密码确认按钮的animation动画,动画代码都没问题,但等我输入密码,再点击这个确认按钮,动画没反应,第二次才反应 解决办法已经写到我的公众号,二维码在下面,欢迎关注,谢谢. 本人联 ...
- Spring将多个配置文件引入一个配置文件中
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- stl 初步的使用
1.sort 和 lower_bound 例如 marble https://uva.onlinejudge.org/index.php?option=com_onlinejudg ...