ECNU 3263 丽娃河的狼人传说 (贪心)
链接:http://acm.ecnu.edu.cn/problem/3263/
题意:
从 1 到 n 的一条数轴。有 m 个区间至少要安装一定数量的路灯,路灯只能装在整数点上,有k盏路灯已经安装好 ,现在求最少需要安装多少盏路灯。
分析:
一开始我的想法是按重叠部分给数轴每个整数点一个优先级,然后在区间中优先度高的先补灯。但比赛中无论如何都是WA,最后找出错误是因为这样补灯优先级相同时候他会按顺序补灯。
最后看题解发现他是根据右端点升序排序进行处理,然后不满足的话尽量往右边补灯,因为如果按右端点排序,那么每一个区域的左边肯定先被前一个区域考虑到了。
给出两组组数据, 第一组证明我第一个想法是错误的, 第二组测试。
8 3 1
8
1 6 2
1 3 1
4 6 1
1
答案是:2
9 5 6
1 2 3 4 5 7
1 5 4
4 8 5
1 3 3
2 9 7
1 8 3
答案是:2
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e4;
struct K
{
int x, y, num;
friend bool operator < (K a, K b)
{
return a.y < b.y;
} };
K ins[1000];
bool lap[maxn];
int n,m,k,ans,flag;
int main()
{
// freopen("1.txt","r",stdin);
int t;
scanf("%d", &t);
for(int kase = 1; kase <= t; kase ++)
{
memset(lap,0,sizeof(lap));
scanf("%d %d %d", &n, &m, &k);
for(int i = 0; i < k; i++)
{
int t;
scanf("%d", &t);
lap[t] = 1;
}
for(int i = 0; i < m; i++)
{
scanf("%d %d %d", &ins[i].x, &ins[i].y, &ins[i].num);
}
sort(ins, ins+m); ans = 0,flag = 0;
for(int i = 0; i < m; i++)
{
int b = ins[i].x, e = ins[i].y, need = ins[i].num;
int sum = 0;
for(int j = e; j >= b; j--)
{
if(lap[j])
{
sum++;
} }
int pos = e;
while(sum < need && pos >= 1)
{
if(!lap[pos])
{lap[pos] = 1;
sum++;
ans++;
}
pos--;
}
if(sum < need)
{
flag = 1;
break;
}
}
if(flag) printf("Case %d: -1\n",kase);
else printf("Case %d: %d\n",kase,ans);
} }
ECNU 3263 丽娃河的狼人传说 (贪心)的更多相关文章
- ECNU 3263 丽娃河的狼人传说(差分约束)
丽娃河的狼人传说 Time limit per test: 1.0 seconds Memory limit: 256 megabytes 丽娃河是华师大著名的风景线.但由于学校财政紧缺,丽娃河边的路 ...
- ECNU 3263 - 丽娃河的狼人传说
一定要纪念一下第一道在比赛中自己做出来的贪心. 题目链接:http://acm.ecnu.edu.cn/problem/3263/ Time limit per test: 1.0 seconds T ...
- Problem #3263 丽娃河的狼人传说 区间满足灯数,r排序后贪心。
丽娃河的狼人传说 Time limit per test: 1.0 seconds Time limit all tests: 1.0 seconds Memory limit: megabytes ...
- EOJ 3263 丽娃河的狼人传说
差分约束系统,$spfa$. 首先判断无解,若某个约束的$t$大于区间长度,则一定无解. 否则一定有解,可以得到一系列的不等式: 最终区间和大于等于目前的区间和:$S[R]-S[L-1]≥val$, ...
- EOJ3263:丽娃河的狼人传说(贪心)
传送门 题意 分析 考虑将区间按右端点排序,再遍历区间,操作即可 建议以加方式写 trick 1.不需要判区间重合 代码 #include<cstdio> #include<cstr ...
- 超时空英雄传说2复仇魔神完全攻略&秘技
╓─╥───────────────────────────────────────────────────╥─╖ ║ ║ 超 時 空 英 雄 傳 說 2 ║ ║ ║ ║ --復 仇 魔 神-- ║ ...
- [原创]webapp/css3实战,制作一个《炉石传说》宣传页
在移动网页,尤其是webapp中常需要用到大量的css3动画,来获得良好交互体验 我之前帮朋友做了一个,可惜没帮上忙现在和大家分享一下 目标是要做一个<炉石传说>游戏的介绍宣传页面,文字内 ...
- codevs 1021 玛丽卡(spfa)
题目描述 Description 麦克找了个新女朋友,玛丽卡对他非常恼火并伺机报复. 因为她和他们不住在同一个城市,因此她开始准备她的长途旅行. 在这个国家中每两个城市之间最多只有一条路相通,并且我们 ...
- 狼人杀BETA阶段计划简介
狼人杀beta阶段任务与目标 简介 一.前言 狼人杀alpha阶段终于在组团刷夜中结束了,我们取得了一些成绩,同时也暴露了团队的一些问题.但不管怎样,有了在alpha版本中收获的经验,我们将在beta ...
随机推荐
- hdu 4565 So Easy! (共轭构造+矩阵快速幂)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4565 题目大意: 给出a,b,n,m,求出的值, 解题思路: 因为题目中出现了开根号,和向上取整后求 ...
- glassfish应用服务器安装配置
1.Glassfish4.0下载地址:https://glassfish.java.net/download.html#gfoseTab 2.将下载的glassfish-4.0.zip传输到服务器/h ...
- 转 SQL - 字符串中的转义字符
一位同事在使用SQL处理一串字符时,出现一个意料之外的问题:这个字符串中包括字符‘&’.我们先看一下现象: SQL> select * from v$version; B ...
- Web自动化测试框架-PO模式
Web自动化测试框架(WebTestFramework)是基于Selenium框架且采用PageObject设计模式进行二次开发形成的框架. 一.适用范围:传统Web功能自动化测试.H5功能自动化测试 ...
- PHP PDO事务处理及MYSQLengine=InnoDB
如果出现“#skip-innodb”则将“#”去掉,重启MySQL: 如果第一条无法解决,加上配置:default-storage-engine=InnoDB 再重启MySQL. 进入MYsql数据据 ...
- [BZOJ2330][SCOI2011]糖果 差分约束系统+最短路
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2330 类似于题目中这种含有不等式关系,我们可以建立差分约束系统来跑最长路或最短路. 对于一 ...
- 用RecyclerView做一个小清新的Gallery效果
一.简介 RecyclerView现在已经是越来越强大,且不说已经被大家用到滚瓜烂熟的代替ListView的基础功能,现在RecyclerView还可以取代ViewPager实现Banner效果,当然 ...
- Java编程思想总结笔记Chapter 3
本章需要总结的不多,但细节的东西需要注意,有些很容易遗忘. 第三章 目录: 3.1 更简单的打印语句 3.2 使用Java操作符 3.3 优先级 3.4 赋值 3.5 算数操作符 3.6 自动递增和递 ...
- R in action读书笔记(22)第十六章 高级图形进阶(下)
16.2.4 图形参数 在lattice图形中,lattice函数默认的图形参数包含在一个很大的列表对象中,你可通过trellis.par.get()函数来获取,并用trellis.par.set() ...
- JavaScript操作DOM与jQuyer操作DOM的对比
1.通过jQuery方法包装后的对象,是一个类数组对象.它与DOM对象完全不同,唯一相似的是它们都能操作DOM. 2.通过jQuery方法包装后的对象,是一个类数组对象.它与DOM对象完全不同,唯一相 ...