题意:给出n组l[i],r[i],求出能够相互连接的最大个数,比如(1,2) ,(2,3),(5,6)就是可以连接的3组数据;

思路:2073数组大小为100,纯暴力就可以了,不过注意排序时,按照r的顺序从小到大;

5214数组大小为10000000,纯暴力的话绝对超时,但是要求能找到3组的时候就输出YES即可,因此从两边贪心就好了,本来以为排序更方便一些,不过TLE了,改成找最大最小就好了;

误区:我以为的是图论,求最长路径(bellman-ford可以求最长路,只要吧权值改成相反数即可),其实适用于2073,不过大材小用了,而且判的很严格,容易MLE,TLE;

2073代码:

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cstdlib>
#define repu(i,a,b) for(int i=a;i<b;i++)
#define N 1100
#define MOD 4294967296
#define ll long long
using namespace std;
int vis[N];
struct S
{
int l,r;
bool operator < (const S& p) const
{
if(r == p.r)
return l < p.l;
return r < p.r;
}
} m[N];
int main()
{
int T,n,a,b,c,d;
while(cin>>n&&n)
{
repu(i,,n)
cin>>m[i].l>>m[i].r;
sort(m,m+n);
memset(vis,,sizeof(vis));
int maxn = ;
int u = m[].r,v= m[].l;
// repu(i,0,n)
// cout<<m[i].l<<" "<<m[i].r<<endl;
repu(i,,n)
{
repu(j,i+,n)
{
if(u <= m[j].l && v < m[j].l)
{
u = m[j].r;
v = m[j].l;
vis[i]++;
}
}
vis[i]++;
// cout<<vis[i]<<endl;
maxn = max(vis[i],maxn);
}
cout<<maxn<<endl;
}
return ;
}

5214代码:

 #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#define MOD 4294967296 using namespace std;
typedef unsigned int LL;
int T;
int n;
const int N=;
LL s1,e1;
LL L1,R1,L2,R2;
LL minL,minR,maxL,maxR;
LL a,b,c,d;
LL l[N],r[N];
int main()
{
scanf("%d",&T);
while(T--)
{
cin>>n>>s1>>e1>>a>>b>>c>>d;
l[]=s1;
r[]=e1;
minL=maxL=l[];
minR=maxR=r[];
for(int i=; i<=n; i++)
{
l[i]=l[i-]*a+b;
r[i]=r[i-]*c+d;
if(l[i]>r[i])
swap(l[i],r[i]);
if(r[i]<minR)///找出最大最小的两组,到时候直接跟这两组比较就好了
{
minL=l[i];
minR=r[i];
}
if(l[i]>maxL)
{
maxL=l[i];
maxR=r[i];
}
}
bool flag=false;
for(int i=; i<=n; i++)
{
if(l[i]>minR&&r[i]<maxL)
{
flag=true;
break;
}
}
printf("%s\n",flag?"YES":"NO");
}
return ;
}

HDU2073(暴力) VS HDU5214(贪心)的更多相关文章

  1. Codeforces Round #265 (Div. 2) C 暴力+ 找规律+ 贪心

    C. No to Palindromes! time limit per test 1 second memory limit per test 256 megabytes input standar ...

  2. The 10th Shandong Provincial Collegiate Programming Contest H.Tokens on the Segments(贪心+优先级队列 or 贪心+暴力)

    传送门 •题意 二维平面上有 n 条线段,每条线段坐标为 $(l_i,i),(r_i,i)$: 平面上的每个整点坐标上都可以放置一枚硬币,但是要求任意两枚硬币的横坐标不相同: 问最多有多少条线段可以放 ...

  3. codeforces-473D Mahmoud and Ehab and another array construction task (素数筛法+贪心)

    题目传送门 题目大意:先提供一个数组,让你造一个数组,这个数组的要求是 1 各元素之间都互质  2  字典序大于等于原数组  3 每一个元素都大于2 思路: 1.两个数互质的意思就是没有公因子.所以每 ...

  4. [luogu] P4364 [九省联考2018]IIIDX(贪心)

    P4364 [九省联考2018]IIIDX 题目背景 Osu 听过没?那是Konano 最喜欢的一款音乐游戏,而他的梦想就是有一天自己也能做个独特酷炫的音乐游戏.现在,他在世界知名游戏公司KONMAI ...

  5. TopCoder比赛总结表

    TopCoder                        250                              500                                 ...

  6. noip2015 提高组 解题报告

    完美退役...说好的不卡常呢QAQ day1: T1:模拟题?..考察选手将题目描述翻译成代码的能力233 //其实真相是考验rp..论代码雷同的危害233 T2:简单图论,每个点出度为1所以是基环内 ...

  7. Codeforces Round #470 Div. 1

    A:暴力枚举x2的因子,由此暴力枚举x1,显然此时减去其最大质因子并+1即为最小x0. #include<iostream> #include<cstdio> #include ...

  8. 【模板】.bat对拍

    对拍是个很有用的东西,比如在验证贪心策略是否正确时,可以写上个暴力然后和贪心程序对拍上几个小时. 在c++里用system写对拍总是会出现一些莫名其妙的问题.. 比如my.out明明是1 fc的时候却 ...

  9. [比赛|考试]nowcoder NOIP提高组组第二场

    160/300pts,rank16(100,30,30) 在自身找毛病,首先做题感觉还不不够认真,比如T3那个我一开始审出来了,然后tmd忘了...gg...T1AC没啥好赞美的,T2T3暴力没拿全啊 ...

  10. 11.6NOIP模拟赛

    [数据规模和限制] 对于全部测试数据,满足 N,M,K≤,W≤ 各个测试点的数据规模及特殊性质如下表. 测试点 N M K ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ 师 更多咨询:北京信息学窦老师 QQ ...

随机推荐

  1. JAVA 数组作业——动手动脑以及课后实验性问题

    JAVA课后作业——动手动脑 一:阅读并运行示例PassArray.java,观察并分析程序输出的结果,小结,然后与下页幻灯片所讲的内容进行对照. 1.源代码 // PassArray.java // ...

  2. python中字典dict的操作

    字典可存储任意类型的对象,由键和值(key - value)组成.字典也叫关联数组或哈希表. dict = {' , 'C' : [1 , 2 , 3] } dict['A'] = 007 # 修改字 ...

  3. cf(#div1 A. Dreamoon and Sums)(数论)

    A. Dreamoon and Sums time limit per test 1.5 seconds memory limit per test 256 megabytes input stand ...

  4. hdu----(5023)A Corrupt Mayor's Performance Art(线段树区间更新以及区间查询)

    A Corrupt Mayor's Performance Art Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 100000/100 ...

  5. hdu----(2586)How far away ?(DFS/LCA/RMQ)

    How far away ? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  6. 整理的一些模版LCS(连续和非连续)

    对于连续的最大串,我们称之为子串....非连续的称之为公共序列.. 代码: 非连续连续 int LCS(char a[],char b[],char sav[]){ int lena=strlen(a ...

  7. C语言知识整理(3):内存管理(详细版)

    在计算机系统,特别是嵌入式系统中,内存资源是非常有限的.尤其对于移动端开发者来说,硬件资源的限制使得其在程序设计中首要考虑的问题就是如何有效地管理内存资源.本文是作者在学习C语言内存管理的过程中做的一 ...

  8. UML类图关系大全

    UML类图关系大全 1.关联 双向关联: C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法.在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设 ...

  9. A-Making the Grade(POJ 3666)

    Making the Grade Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4656   Accepted: 2206 ...

  10. 修改WAMPServer中MySql中文乱码的方法

    修改MySql的配置文件my.ini,在[client]段落增加:default-character-set=utf8;在[mysqld]段落增加:character_set_server=utf8; ...