hdu 4293 dp求最大权值不重合区间
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4293
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std; const int maxn = ; int G[maxn][maxn];
int dp[maxn]; //dp[i]表示前i个人,最大有多少个人没撒谎。 int main()
{
//freopen("E:\\acm\\input.txt","r",stdin);
int N;
while(cin>>N){
memset(G,,sizeof(G));
for(int i=;i<=N;i++){
int a,b;
scanf("%d %d",&a,&b);
if(a+b>=N) continue;
if(a+b<N && G[a][N-b]+a+b<N)
G[a][N-b]++; //G[a][N-b]表示区间(a,N-b]里面元素的个数。
}
memset(dp,,sizeof(dp));
int ans = ;
for(int i=;i<=N;i++){
dp[i] = max(dp[i],dp[i-]);
for(int j=i+;j<=N;j++){
if(G[i][j]){
dp[j] = max(dp[j],dp[i]+G[i][j]);
}
}
}
printf("%d\n",dp[N]);
}
}
//一直错误的原因就是把G[i][j]+i+N-j>N 的全部抹掉了。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std; const int maxn = ; struct Node{
int A,B;
int num;
bool operator < (const Node& rhs) const{
return B > rhs.B;
}
}group[maxn]; int G[maxn][maxn];
int dp[maxn]; //dp[i]表示前i个人,最大有多少个人没撒谎。 int main()
{
//freopen("E:\\acm\\input.txt","r",stdin);
int N;
while(cin>>N){
memset(G,,sizeof(G));
for(int i=;i<=N;i++){
int a,b;
scanf("%d %d",&a,&b);
if(a+b<N && G[a][b]+a+b<N) //这句才是关键。WA的原因。
G[a][b]++;
}
int cnt = ;
for(int i=;i<N;i++)
for(int j=;j<N;j++){
if(G[i][j]){
group[cnt].A = i;
group[cnt].B = j;
group[cnt++].num = G[i][j];
}
}
sort(group,group+cnt);
memset(dp,,sizeof(dp));
int pv = ;
int i;
for(i=;i<=N;i++){
if(pv >= cnt) break;
int a = group[pv].A;
int num = group[pv].num;
int b = group[pv].B;
if(N-b == i){
dp[i] = max(dp[i-],dp[a]+num);
pv++;
while(pv < cnt && N-group[pv].B == i){
dp[i] = max(dp[i],dp[group[pv].A]+group[pv].num);
pv++;
}
}
else{
dp[i] = dp[i-];
}
}
printf("%d\n",dp[i-]);
}
}
hdu 4293 dp求最大权值不重合区间的更多相关文章
- hdu 1853 Cyclic Tour 最大权值匹配 全部点连成环的最小边权和
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1853 Cyclic Tour Time Limit: 1000/1000 MS (Java/Others) ...
- hdu 1506(dp求最大子矩阵)
题意:容易理解... 分析:对于每个单位矩阵,我们先求出连续比它高的最左边的下标假设为l,然后求出比它高的最右边的下标假设为r,然后矩阵的面积就是(r-l+1)*1:我们从左到 右扫一遍,求出每个点的 ...
- hdu 2870(dp求最大子矩阵)
题意:让你求的是由同一字母组成的最大子矩阵,w可以变成a或者b,x可以变成b或者c,y可以变成a或者c,z可以变成a或者b或者c. 分析:这是hdu 1506.hdu 1505的加强版,具体的分析看我 ...
- hdu 1505(dp求最大子矩阵)
题意:就是让你求出全由F组成的最大子矩阵. 分析:这是hdu 1506的加强版,只不过这道题变成了2维的,那我们就一行一行的来.具体的分析见1506的博客:http://www.cnblogs.com ...
- Poj1163 The Triangle(动态规划求最大权值的路径)
一.Description 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 (Figure 1) Figure 1 shows a number triangle. Write a pro ...
- 紫书 例题 11-5 UVa 10048 (Floyd求最大权值最小的路径)
这道题是Floyd的变形 改成d[i][j] = min(d[i][j], max(d[i][k], d[k][j]))就好了. #include<cstdio> #include< ...
- 奔小康赚大钱 HDU - 2255(最大权值匹配 KM板题)
奔小康赚大钱 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- HDU 4616 Game(经典树形dp+最大权值和链)
http://acm.hdu.edu.cn/showproblem.php?pid=4616 题意:给出一棵树,每个顶点有权值,还有存在陷阱,现在从任意一个顶点出发,并且每个顶点只能经过一次,如果经过 ...
- HDU 4514 - 湫湫系列故事——设计风景线 - [并查集判无向图环][树形DP求树的直径]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4514 Time Limit: 6000/3000 MS (Java/Others) Memory Li ...
随机推荐
- Mysql DB2等数据库分页的实现
一.Mysql的分页 (一).MySQL分页的实现,使用关键字:Limit 语法:select * from tableName Limit A,B; 注释:tableName:表名 A:查询的 ...
- 利用c语言做简单的迷宫小游戏
#include <stdio.h> #define ROW 6 #define COL 6 // 封装打印地图的函数 void printMap(c ...
- CSS Text文本格式
Text Color 颜色属性被用来设置文字的颜色. 颜色是通过CSS最经常的指定: 十六进制值 - 如"#FF0000" 一个RGB值 - "RGB(255,0,0)& ...
- 反射(学习整理)----Class类和加载器ClassLoader类的整理
1.学习反射的时整理的笔记!Class类和ClassLoader类的简单介绍 反射机制中的Class Class内部到底有什么呢?看下图! 代码: Class cls=Person.class; .C ...
- EDM推送
一.需求描述: 日前,做了一个发送客户账单的功能,邮件模板采用自定义,生成vm文件,保存至redis, 采用jodd-mail发送邮件,查询用户账单数据,账单明细,缓存加载模板并渲 ...
- c++预编译问题:fatal error C1083: Cannot open precompiled header file: 'Debug/DllTest.pch': No such file or d
1)单独编译StdAfx.cpp 2)编译所有(即按Ctrl+F7) 这时因为该模块没有包括预编译头文件“stdafx.h”的缘故.VC用一个stdafx.cpp包含头文件stdafx.h,然后在st ...
- Memcached认知[分布式]
Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载. Memcached的服务器客户端通信使用简单的基于文本行的协议. Memcached基于一个存储键/值对的 ...
- Binary Tree Level Order Traversal II 解题思路
思路: 与Binary Tree Level Order Traversal I 几乎一样.只是最后将结果存放在栈里,然后在栈里再传给向量即可. 再次总结思路: 两个queue,先把第一个放进q1,循 ...
- 取消IE“已限制此网页运行可以访问计算机的脚本,转自“园封记忆”
为了有利于保护安全性,IE已限制此网页运行可以访问计算机的脚本或 ActiveX 控件.请单击这里获取选项... 方法一: 在本地调试html页,如果其中包含js或flash,IE经常会提示“IE已限 ...
- Day21 Django之Form文件上传、原生Ajax和实现抽屉实例
一.Form文件上传 """ Django settings for prev_chouti project. Generated by 'django-admin st ...