wa了5遍?!!

(1)前4遍,思路没简化,企图模拟整个过程,但是调用sort函数时由于没有把奇数的屋子和偶数的屋子统一,排序出了问题。

思路:遍历n段,每次只扫未被标记过的一段,ans++并且从该段出发,访问到第n段,将所有和该段不重叠的段标记为1,ans不变。

代码:

#include<bits/stdc++.h>
using namespace std;
#define maxn 500
#define rep(i,a,b) for(int i=(a);i<(b);i++)
#define ll long long
struct gg{
int s,e;
}a[maxn];
int vis[maxn]; int cmp(gg k1,gg k2){
return k1.s<k2.s;
} int main()
{
int T;
cin>>T;
while(T--){
int n;
memset(vis,0,sizeof(vis));
scanf("%d",&n);
rep(i,0,n){
int x,y;
scanf("%d%d",&a[i].s,&a[i].e);
if(a[i].s>a[i].e)
swap(a[i].s,a[i].e);
a[i].s=a[i].s%2==0?a[i].s:a[i].s+1;
a[i].e=a[i].e%2==0?a[i].e:a[i].e+1;
}
sort(a,a+n,cmp); int ans=0; rep(i,0,n){
if(!vis[i]){
int last=a[i].e;
ans++,vis[i]=1;
rep(j,i+1,n){
if(!vis[j]){
if(a[j].s>last){
last=a[j].e;
vis[j]=1;
}
}
}
}
} ans*=10;
printf("%d\n",ans); } return 0;
}

  (2)简化思路:把从一个屋子到另一个屋子看作线段,计算所有线段中被重叠次数最多的线段对应的重叠次数。理解:和某线段不重叠的线段不计入总时间。只要知道重叠次数最多的线段,就能知道有多少线段要计入总时间。

代码:

#include<bits/stdc++.h>
using namespace std;
#define maxn 500
#define rep(i,a,b) for(int i=(a);i<(b);i++)
#define ll long long int vis[maxn];
int main()
{
int T;
cin>>T;
while(T--){
int n;
memset(vis,0,sizeof(vis));
scanf("%d",&n);
rep(i,0,n){
int x,y;
scanf("%d%d",&x,&y);
if(x>y)
swap(x,y);
if(x%2)
x++;
if(y%2)
y++;
for(int j=x;j<=y;j+=2)
vis[j]++;
}
int ans=0;
rep(i,0,401){
ans=max(ans,vis[i]);
}
ans*=10;
printf("%d\n",ans);
}
return 0;
}

  

最新文章

  1. [LeetCode] Permutation Sequence 序列排序
  2. 并发编程 20—— AbstractQueuedSynchronizer 深入分析
  3. OpenSSL Heartbleed原因小结
  4. 线段树的区间更新---A Simple Problem with Integers
  5. 使用C++的开源序列化(Serialization)库cereal
  6. HTML之Data URL(转)
  7. [LeetCode]题解(python):072-Edit Distance
  8. Android 自定义view实现水波纹效果
  9. Python 爬虫练习(一) 爬取国内代理ip
  10. JS的常用正则表达式 验证密码(转载自用)
  11. 操作XML
  12. 使用以下映射将包含A-ZIS的字母的消息编码为数字:&#39;A&#39; - &gt; 1,&#39;B&#39; - &gt; 2 ...&#39;Z&#39; - &gt; 26 给定包含数字的编码消息,确定解码方式的总数(python)(原创)
  13. Date Calendar
  14. zip压缩类
  15. vue项目插入视频-mp4
  16. windows(cr lf )转unix (lf)
  17. cf711D. Directed Roads(环)
  18. oracle function用法(本文来自百度文库)
  19. spring boot更换日志为log4j2
  20. 十倍交叉验证 10-fold cross-validation

热门文章

  1. 在IIS上搭建Exceptionless日志收集框架
  2. 重写URL
  3. 认识 WebService
  4. java中定时器的简单使用
  5. ILRuntime_NewbieGuide—入门
  6. python format() 函数
  7. rockchip 3128 平台USB接口鼠标U盘功能调试日记
  8. CSS3基础入门02
  9. JavaScript - proxy
  10. Python 练习——计算1-2+3-4...+99