hdu4293Groups
http://acm.hdu.edu.cn/showproblem.php?pid=4293
这题单拉出来写篇吧 确实不错的一题
将每个人说的话 转化一下 可以算出它处在哪个段中 题目就转换成了求不相交的最大段数 注意区间相同的情况
#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
using namespace std;
struct node
{
int l,r;
}p[];
int dp[],w[][];
bool cmp(node a,node b)
{
if(a.l==b.l)
return a.r<b.r;
return a.l<b.l;
}
int main()
{
int i,j,k,n,a,b;
while(cin>>n)
{
int g=;
memset(w,,sizeof(w));
for(i = ; i <= n ;i++)
{
scanf("%d%d",&a,&b);
if(a+b<n)
{
g++;
p[g].l = a+;
p[g].r = n-b;
}
}
sort(p+,p+g+,cmp);
for(i = ; i <= g ; i++)
{
w[p[i].l][p[i].r]++;
if(w[p[i].l][p[i].r]>(p[i].r-p[i].l+))
w[p[i].l][p[i].r] = p[i].r-p[i].l+;
}
for(i = ;i <= g ; i++)
dp[i] = w[p[i].l][p[i].r];
for(i = ; i <= g ; i++)
for(j = ; j < i ; j++)
if(p[i].l>p[j].r)
dp[i] = max(dp[i],dp[j]+w[p[i].l][p[i].r]);
int maxz = ;
for(i = ; i <= g ; i++)
maxz = max(dp[i],maxz);
cout<<maxz<<endl;
}
return ;
}
hdu4293Groups的更多相关文章
随机推荐
- OC2_数组操作
// // main.m // OC2_数组操作 // // Created by zhangxueming on 15/6/11. // Copyright (c) 2015年 zhangxuemi ...
- checkbox prop()函数
1.设置checkbox选中状态 ①选中: .prop('checked',true); ②不选中:.prop('checked',false); 2.获取checkbox选中状态 .prop('ch ...
- 01_Java解析XML
[打印list.Map集合的工具方法] /** * 打印List集合对应的元素 */ public void printList(List<Object> list){ for(Objec ...
- 学习C++ Primer 的个人理解(十一)
关联容器 就像是个字典, 其元素是 键 - 值 对. 关键字起到索引作用. 有序: map:关联数组:保存 健-值 对 set : 关键字既是值. multimap : 关键字可重复出现的map mu ...
- OpenJudge 2754 八皇后
1.链接地址: http://bailian.openjudge.cn/practice/2754 2.题目: 总时间限制: 1000ms 内存限制: 65536kB 描述 会下国际象棋的人都很清楚: ...
- Python3 面向对象
Class 在Python中,定义类是通过class关键字: class Student(object): pass class后面紧接着是类名,即Student,类名通常是大写开头的单词,紧接着是( ...
- jquery <li>标签 隔若干行 加空白或者加虚线
$(function () { $('ul li').addClass(function (i) { return i % 6 == 5 ? "ab" : "" ...
- hdu 5626 Clarke and points 数学推理
Clarke and points Problem Description The Manhattan Distance between point A(XA,YA) and B(XB,YB) i ...
- codeforces 615D - Multipliers
Multipliers 题意:给定一个2e5范围内的整数m,之后输入m个2e5内的素数(当然可以重复了),问把这些输入的素数全部乘起来所得的数的约数的乘积mod(1e9+7)等于多少? 思路:对题目样 ...
- Linux CentOS下shell显示-bash-4.1$ 不显示用户名和主机名的解决方法
CentOS下新增加一个用户,登录进去会发现shell脚本信息没有显示用户名和主机名,反而显示的是-bash-4.1$,如图所示: 而不是我们经常看到的username@hostname$的组合,看起 ...