Maxim Buys an Apartment CodeForces - 854B
题意:已知一条街上有n幢房子,依次的编号为1~n,其中有k幢已经卖出去了但是不知道是哪k幢。当且仅当一幢房子没有卖出去且其两旁至少有一幢房子卖出去了的时候,认为这幢房子是好的。问这n幢房子中好的房子最多、最少可能有多少。
思路:简单的贪心(但是不小心可能错)。首先如果k==n或者k==0,那么显然不可能有任何好的房子。否则,当将所有的卖出去的房子的位置连续地放在街的一端时,好的房子的数量取到最小值1。当n>=k*3时,将n个房子按每三个为一段分开,其中任选k段使中间的那一个房子为卖出去的,那么这k段中每一段就有了一幢卖出去的房子和两幢好的房子,可以使好的房子的数量取到最大值k*2。如果n<k*3,先用n/3幢房子按n>=k*3的方法搞到2*[n/3]幢,剩下n-[n/3]*3套既不是卖出的又不是好的,然后如果n-[n/3]*3为1或2则在这剩下的几套中选出1套,显然分别能使好的房子数量分别增加0、1套,也就是如果n-[n/3]*3=0那么有2*[n/3]好的和k=[n/3]套已卖出的,如果n-[n/3]*3=1那么有2*[n/3]好的和k=[n/3]+1套已卖出的,如果n-[n/3]*3=2那么有2*[n/3]+1好的和k=[n/3]+1套已卖出的,三种情况都满足好的数量等于n-k。
易错点:3*k可能爆int,需要long long
#include<cstdio>
typedef long long LL;
LL n,k;
int main()
{
scanf("%lld%lld",&n,&k);
if(n==k||k==)
{
printf("0 0");
return ;
}
printf("1 ");
if(n>=k*)
printf("%lld",k*);
else
printf("%lld",n-k);
return ;
}
Maxim Buys an Apartment CodeForces - 854B的更多相关文章
- cf854B Maxim Buys an Apartment
Maxim Buys an Apartment #include <iostream> #define int long long using namespace std; int n,k ...
- Codeforces 854B Maxim Buys an Apartment:贪心
题目链接:http://codeforces.com/contest/854/problem/B 题意: 有n栋房子从1到n排成一排,有k栋房子已经被售出. 现在你要买一栋“好房子”. 一栋房子是“好 ...
- 【Codeforces Round #433 (Div. 2) B】Maxim Buys an Apartment
[链接]h在这里写链接 [题意] 你有n个位置,然后其中有k个地方是已经被人占据了的. 一个"好的位置"的定义是指,这个位置相邻的地方其中至少有一个被人占据了. k个被人占据的位置 ...
- Codeforces Round #433 (Div. 2, based on Olympiad of Metropolises)
A. Fraction 题目链接:http://codeforces.com/contest/854/problem/A 题目意思:给出一个数n,求两个数a+b=n,且a/b不可约分,如果存在多组满足 ...
- Codeforces Round #433 (Div. 2)【A、B、C、D题】
题目链接:Codeforces Round #433 (Div. 2) codeforces 854 A. Fraction[水] 题意:已知分子与分母的和,求分子小于分母的 最大的最简分数. #in ...
- Codeforces 433 Div.2(A、B、C、D)
A. Fraction 暴力遍历1-1000,取组成的真分数比值最大且分子分母gcd为1时更新答案 代码: #include <stdio.h> #include <algorith ...
- 2018SDIBT_国庆个人第一场
A - Turn the Rectangles CodeForces - 1008B There are nn rectangles in a row. You can either turn eac ...
- CF 1009A Game Shopping 【双指针/模拟】
Maxim wants to buy some games at the local game shop. There are n games in the shop, the i-th game c ...
- CodeForces - 261B Maxim and Restaurant
http://codeforces.com/problemset/problem/261/B 题目大意:给定n个数a1-an(n<=50,ai<=50),随机打乱后,记Si=a1+a2+a ...
随机推荐
- 【C语言】统计数字在排序数组中出现的次数
//数字在排序数组中出现的次数. //统计一个数字在排序数组中出现的次数.比如:排序数组{1,2,3,3,3,3,4,5}和数字3,因为3出现了4次,因此输出4. #include <stdio ...
- Appium基于安卓的各种FindElement的控件定位
转自:http://www.2cto.com/kf/201410/340345.html 1. findElementByName 1.1 示例 ? 1 2 el = driver.findEleme ...
- 2016/06/10 日历插件 Datepicker
显示效果: <!doctype html> <html lang="en"> <head> <meta charset="utf ...
- 初识Restful(学习笔记)
什么是Restful? REST -- Resource Representational State Transfer(表现层状态转移) 本质上是一种优雅的URL表达方式,描述资源的状态和状态的转移 ...
- java.lang.ClassNotFoundException: org.springframework.boot.context.embedded.FilterRegistrationBean
java.lang.ClassNotFoundException: org.springframework.boot.context.embedded.FilterRegistrationBean 把 ...
- js 中整理(一)
一. 冒泡与冒泡阻止 var arr={5,0,-56,900,12,9000,-123}; var flag=false; //大的排序次数(arr.length-1) for(var i=0; ...
- 解决VMware安装Ubuntu的过程中窗口过小无法看到【下一步】按钮的问题
只要按住ALT键向上拖动窗口
- NOSQL安全攻击
摘自:http://www.infoq.com/cn/articles/nosql-injections-analysis JSON查询以及数据格式 PHP编码数组为原生JSON.嗯,数组示例如下: ...
- hadoop-3.0.0 配置中的 yarn.nodemanager.aux-services 项
在hadoop-3.0.0-alpha4 的配置中,yarn.nodemanager.aux-services项的默认值是“mapreduce.shuffle”,但如果在hadoop-2.2 中继续使 ...
- skynet源码阅读<3>--网关分析
继上一篇介绍了skynet的网络部分之后,这一篇以网关gate.lua为例,简单分析下其串接和处理流程. 在官方给出的范例中,是以examples/main.lua作为启动脚本的,在此过程中会创建wa ...