ZOJ 3941 Kpop Music Party
先把能合并的区间都合并起来。
考虑最裸的贪心策略,从左到右一段一段的取。
但是,这样会有错,错在没有考虑每段区间选取最后一个点。
因为N只有10,所以枚举一下哪些区间最后一个点会被选择,然后按照最裸的的贪心策略从左到右选择即可,每次更新最大值。
#include<cstdio>
#include<cstring>
#include<cmath>
#include<map>
#include<algorithm>
using namespace std; const int maxn=;
struct X
{
long long L,R;
} s[maxn],tmp[maxn];
int n;
long long k,m,ans;
int g[maxn]; bool cmp(const X&a,const X&b)
{
if(a.L==b.L) return a.R<b.R;
return a.L<b.L;
} void f()
{
sort(tmp+,tmp++n,cmp);
int cnt=;
s[].L=tmp[].L,s[].R=tmp[].R;
for(int i=; i<=n; i++)
{
if(tmp[i].L<=s[cnt].R+)
s[cnt].R=max(s[cnt].R,tmp[i].R);
else
{
cnt++;
s[cnt].L=tmp[i].L,s[cnt].R=tmp[i].R;
}
}
n=cnt;
} long long check()
{
long long sum=,pos=; long long sy=m; for(int i=;i<=n;i++)
{
if(pos<s[i].L)
{
long long u=min(sy,(s[i].R-s[i].L+)/k);
sum=sum+u*k,pos=s[i].L-+u*k;
sy=sy-u; if(sy==) return sum; if(pos<s[i].R)
{
sum=sum+k,pos=pos+k;
sy=sy-; if(sy==) return sum;
} if(g[i]==)
{
sum=sum+s[i].R+k--pos;
pos=s[i].R+k-;
sy=sy-; if(sy==) return sum;
}
}
else if(pos>=s[i].R)
{
if(g[i]==)
{
sum=sum+s[i].R+k--pos;
pos=s[i].R+k-;
sy=sy-; if(sy==) return sum;
}
}
else
{
long long u=min(sy,(s[i].R-pos)/k);
sum=sum+u*k,pos=pos+u*k;
sy=sy-u; if(sy==) return sum; if(pos<s[i].R)
{
sum=sum+k,pos=pos+k;
sy=sy-; if(sy==) return sum;
} if(g[i]==)
{
sum=sum+s[i].R+k--pos;
pos=s[i].R+k-;
sy=sy-; if(sy==) return sum;
}
}
}
return sum;
} void dfs(int tot)
{
if(tot==n+)
{
ans=max(ans,check());
return;
}
g[tot]=; dfs(tot+);
g[tot]=; dfs(tot+);
} int main()
{
int T;
scanf("%d",&T);
while(T--)
{
ans=;
scanf("%d%lld%lld",&n,&k,&m);
for(int i=; i<=n; i++)
scanf("%lld%lld",&tmp[i].L,&tmp[i].R);
f();
dfs();
printf("%lld\n",ans);
}
return ;
}
ZOJ 3941 Kpop Music Party的更多相关文章
- ZOJ 3941 Kpop Music Party 贪心
题目链接: http://www.icpc.moe/onlinejudge/showProblem.do?problemCode=3941 题解: 先吧所给的区间合并,得到若干个独立的区间. 然后从左 ...
- ZOJ 3941 Kpop Music Party(省赛, 贪心)
Kpop Music Party Time Limit: 2 Seconds Memory Limit: 65536 KB Marjar University often hosts Kpo ...
- ZOJ People Counting
第十三届浙江省大学生程序设计竞赛 I 题, 一道模拟题. ZOJ 3944http://www.icpc.moe/onlinejudge/showProblem.do?problemCode=394 ...
- ZOJ 3686 A Simple Tree Problem
A Simple Tree Problem Time Limit: 3 Seconds Memory Limit: 65536 KB Given a rooted tree, each no ...
- ZOJ Problem Set - 1394 Polar Explorer
这道题目还是简单的,但是自己WA了好几次,总结下: 1.对输入的总结,加上上次ZOJ Problem Set - 1334 Basically Speaking ac代码及总结这道题目的总结 题目要求 ...
- ZOJ Problem Set - 1392 The Hardest Problem Ever
放了一个长长的暑假,可能是这辈子最后一个这么长的暑假了吧,呵呵...今天来实验室了,先找了zoj上面简单的题目练练手直接贴代码了,不解释,就是一道简单的密文转换问题: #include <std ...
- ZOJ Problem Set - 1049 I Think I Need a Houseboat
这道题目说白了是一道平面几何的数学问题,重在理解题目的意思: 题目说,弗雷德想买地盖房养老,但是土地每年会被密西西比河淹掉一部分,而且经调查是以半圆形的方式淹没的,每年淹没50平方英里,以初始水岸线为 ...
- ZOJ Problem Set - 1006 Do the Untwist
今天在ZOJ上做了道很简单的题目是关于加密解密问题的,此题的关键点就在于求余的逆运算: 比如假设都是正整数 A=(B-C)%D 则 B - C = D*n + A 其中 A < D 移项 B = ...
- ZOJ Problem Set - 1001 A + B Problem
ZOJ ACM题集,编译环境VC6.0 #include <stdio.h> int main() { int a,b; while(scanf("%d%d",& ...
随机推荐
- springAOP 的pointcut
<bean id="amqFilter" class="com.xxx.hotel.base.aspectj.AmQConsumerFilter"/> ...
- mysql 不能插入中文
三.#vim /etc/mysql/my.cnf .(5.5以前系统)在[client]下面加入 default-character-set=utf8 在[mysqld]下面加入default-cha ...
- C、C++、java的区别
经常听到有人在抱怨这个语言哪里哪里 不好,那个语言又是如何的优秀.对于这样 的牢骚,我只是一笑而过. 就我而言,语言只是工具,没有好坏之 分.只要你采用相应的语言,完成对应的工 作,那你的目标就完成了 ...
- linux通用邻居基础架构
1.为每一个协议提供一个缓存来存放L3到L2的转换结果. 2.提供在缓存中添加.删除.改变和查找一个特定映射项的函数.查找函数必须要快,因为它会影响整个系统的性能. 3.为每一个协议缓存的数据项提供一 ...
- HDU 5833 (2016大学生网络预选赛) Zhu and 772002(高斯消元求齐次方程的秩)
网络预选赛的题目……比赛的时候没有做上,确实是没啥思路,只知道肯定是整数分解,然后乘起来素数的幂肯定是偶数,然后就不知道该怎么办了… 最后题目要求输出方案数,首先根据题目应该能写出如下齐次方程(从别人 ...
- UVALive 7291 Kinfolk(最近公共祖先)
题目中的描述就很最近公共祖先,再说其实这个题并不难,就是麻烦点(代码其实可以化简的),我写的判定比较多. 方法:求出两者的最近公共祖先lca,在求出两者到lca的距离 分析:给出a和b,如果LCA(a ...
- Python基础学习2---模块
模块 你已经学习了如何在你的程序中定义一次函数而重用代码.如果你想要在其他程序中重用很多函数,那么你该如何编写程序呢?你可能已经猜到了,答案是使用模块.模块基本上就是一个包含了所有你定义的函数和变量的 ...
- HDU 5723 Abandoned country
题目说每条边权值都不一样,说明最小生成树是唯一的,不存在最小期望这一说. 然后就是先求出最小生成树,随便确定一个根节点,计算出每个点的子树有多少节点,记为c[x]. 指向x的这条边被统计的次数为c[x ...
- Windows API 之 ReadProcessMemory
ReadProcessMemory: BOOL WINAPI ReadProcessMemory( _In_ HANDLE hProcess, _In_ LPCVOID lpBaseAddress, ...
- JSP内置对象---总结
request: javax.servlet.http.HttpServletRequest的接口实例 1. setCharacterEncoding("GBK"):防乱码2. ...