题目链接:Codeforces Round #433 (Div. 2)

codeforces 854 A. Fraction【水】

题意:已知分子与分母的和,求分子小于分母的 最大的最简分数。

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int gcd(int a,int b){return b?gcd(b,a%b):a;}
int n;
int main() {
int a, b;
scanf("%d", &n);
for(int i = n/; i >= ; --i)
if(gcd(i, n-i)==) {a = i, b = n-i; break;}
printf("%d %d\n", a, b);
retur

15ms

codeforces 854 B. Maxim Buys an Apartment【水】

题意:有标号1~n的n个公寓顺序排列在一条线,已知有k个公寓不为空 但不知道是哪k个,定义一个 空的 并且旁边至少有一个 非空的公寓 为好公寓,问最少和最多有几个 好公寓。

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n, k;
int main() {
int a, b;
scanf("%d %d", &n, &k);
if(k >= n/+) {a = (n!=k); b = n-k;}
else {a = (k!=); b = k*;}
printf("%d %d\n", a, b);
return ;
}

15ms

codeforces 853 A. Planning【贪心+优先队列】

题意:n个航班,原本顺序出发,现在已知前k分钟没有航班能出发,每个航班均只能延迟出发时间,已知每个航班延迟一分钟需要的花费,现在要你安排出发顺序,使得总花费最小。

题解:用优先队列维护延迟时间最大值,贪心的对每个位置取队列中的最大值。

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#include <algorithm>
using namespace std;
typedef long long ll;
const int N = 3e5+;
int n, k;
int c[N], a[N];
priority_queue<pair<int, int> > q;
ll ans, t;
int main() {
ans = t = ;
while(!q.empty()) q.pop();
int i, j, x;
scanf("%d %d", &n, &k);
for(i = ; i <= k+n; ++i) {
if(i <= n) {
scanf("%d", &x); t += x;
q.push(make_pair(x, i));
}
if(i > k) {
a[q.top().second] = i;
t -= q.top().first; q.pop();
}
ans += t;
}
printf("%lld\n", ans);
for(i = ; i < n; ++i)
printf("%d ", a[i]);
printf("%d\n", a[n]);
return ;
}

187ms

未完待补。。。

codeforces 853 B. Jury Meeting【贪心】

题意:有n+1个城市,0号为首都,1~n每个城市有一个人,现在要安排每个人去首都,并且所有人一起待上至少k天并且返回自己的城市(航班飞行时长为一天),给出m个航班信息(每个航班都是在 0号城市 与其他城市之间往返),求满足安排的最少花费。

题解:将航班按时间排序后,贪心算所有人在第i天前出发的最小花费和第i天后返回的最小花费,最后前缀后缀扫一下。

 //因为各种细节问题WA。。QAQ

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define CLR(a,b) memset((a),(b),sizeof((a)))
using namespace std;
typedef long long ll;
const int N = 1e5+;
const int M = 1e6+;
const ll inf = 2e11+;
int n, m, k;
struct node {
int d, f, t, c;
bool operator < (const node &r)const {
return d < r.d;
}
}e[N];
ll a[M], b[M];
int d[N];
int main() {
int i, j, day = , u;
ll ans = inf;
CLR(a, ); CLR(b, ); CLR(d, );
scanf("%d %d %d", &n, &m, &k);
for(i = ; i <= m; ++i) {
scanf("%d%d%d%d", &e[i].d, &e[i].f, &e[i].t, &e[i].c);
day = max(day, e[i].d);
}
int num = n, tt = ;
ll mi = ;
sort(e+, e++m);
for(i = ; i <= m; ++i) {
tt = e[i].d;
if(u=e[i].f) {
if(!d[u]) {
d[u] = e[i].c; num--;
if(!num) {
for(j = ; j <= n ; ++j)a[tt] += d[j];
mi = a[tt];
}
}
else if(d[u] > e[i].c){
if(!num) {mi -= (d[u] - e[i].c); a[tt]=mi;}
d[u] = e[i].c;
}
}
}
if(num) {puts("-1"); return ;}
CLR(d, ); num = n;
for(i = m; i >= ; --i) {
tt = e[i].d;
if(u=e[i].t) {
if(!d[u]) {
d[u] = e[i].c; num--;
if(!num) {
for(j = ; j <= n ; ++j)b[tt] += d[j];
mi = b[tt];
}
}
else if(d[u] > e[i].c){
if(!num) {mi -= (d[u] - e[i].c); b[tt]=mi;}
d[u] = e[i].c;
}
}
}
if(num) {puts("-1"); return ;} for(i = ; i <= day; ++i) {
if(!a[i]) a[i] = a[i-];
else if(a[i-]) a[i] = min(a[i], a[i-]);
}
for(i = day; i >= ; --i) {
if(!b[i]) b[i] = b[i+];
else if(b[i+]) b[i] = min(b[i], b[i+]);
} //for(i = 1; i <= day; ++i) printf("%d ",a[i]);puts("");
//for(i = day; i >= 1; --i) printf("%d ",b[i]);puts(""); for(i = ; i <= day; ++i)
if(a[i] && i++k <= day && b[i++k])
ans = min(ans, a[i]+b[i++k]);
if(ans<inf) printf("%lld\n", ans);
else puts("-1");
return ;
}

93ms

Codeforces Round #433 (Div. 2)【A、B、C、D题】的更多相关文章

  1. Codeforces Round #367 (Div. 2) A. Beru-taxi (水题)

    Beru-taxi 题目链接: http://codeforces.com/contest/706/problem/A Description Vasiliy lives at point (a, b ...

  2. Codeforces Round #575 (Div. 3) 昨天的div3 补题

    Codeforces Round #575 (Div. 3) 这个div3打的太差了,心态都崩了. B. Odd Sum Segments B 题我就想了很久,这个题目我是找的奇数的个数,因为奇数想分 ...

  3. Codeforces Round #334 (Div. 2) A. Uncowed Forces 水题

    A. Uncowed Forces Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/604/pro ...

  4. 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不可约分,如果存在多组满足 ...

  5. Codeforces Round #433 Div. 1

    A:显然从大到小排序后贪心放在第一个能放的位置即可.并查集维护. #include<iostream> #include<cstdio> #include<cmath&g ...

  6. codeforces 853b//Jury Meeting// Codeforces Round #433 (Div. 1)

    题意:几个人要去一个城市k天,现给出各航班的日期和花费,让这n个人能相会k天的最小花费? 用数组arr1[i]记录在第i天人到齐的最小花费.arr2[i]记录第i天之后才有人开始走的最小花费.然后取a ...

  7. Codeforces Round #433 (Div. 2, based on Olympiad of Metropolises) D. Jury Meeting(双指针模拟)

    D. Jury Meeting time limit per test 1 second memory limit per test 512 megabytes input standard inpu ...

  8. Codeforces Round #433 (Div. 2, based on Olympiad of Metropolises) D

    Country of Metropolia is holding Olympiad of Metrpolises soon. It mean that all jury members of the ...

  9. Codeforces Round #433 (Div. 2, based on Olympiad of Metropolises) C

    Helen works in Metropolis airport. She is responsible for creating a departure schedule. There are n ...

随机推荐

  1. java获取request的url方法区别

    1.request.getRequestURL() 返回的是完整的url,包括Http协议,端口号,servlet名字和映射路径,但它不包含请求参数.2.request.getRequestURI() ...

  2. [转]微信小程序开发:http请求

    本文转自:http://www.cnblogs.com/dragondean/p/5921079.html 在微信小程序进行网络通信,只能和指定的域名进行通信,微信小程序包括四种类型的网络请求. 普通 ...

  3. WPF TextBox 聚焦

    1.利用行为 http://blog.csdn.net/lianchangshuai/article/details/9223125 2. 利用装饰器 http://stackoverflow.com ...

  4. css样式、js2种方式 控制字符个数,多余的字用省略号代替

    大家好,我是小菜 前端 ,技术不高,正在努力中充电!希望大家多多指教:css <div class="show">大家好,我是小菜 前端 ,技术不高,正在努力中充电!希 ...

  5. Java反射获取当前项目下所有类,支持Servlet

    反射在很多时候要用,尤其自己编写框架时,那么如何获得当前项目下所有类呢!以下是本人封装的一个比较简洁的方法: [功能代码] //通过loader加载所有类 private List<Class& ...

  6. Shiro - 自定义filterChainDefinitions和Realm

    在Spring Context中定义shiroFilter(org.apache.shiro.spring.web.ShiroFilterFactoryBean)时需要为其filterChainDef ...

  7. 在 Azure 上创建和链接 MySQL 数据库

    本快速入门介绍了如何使用 Azure 门户创建并连接 MySQL 数据库.在本教程中完成的所有操作均符合 1 元试用条件. 开始之前如果您还没有 Azure 账户,可以申请 1 元试用账户 步骤1:创 ...

  8. 十一 Pipe

    Java NIO 管道是2个线程之间的单向数据连接.Pipe有一个source通道和一个sink通道.数据会被写到sink通道,从source通道读取. 创建管道 通过Pipe.open()方法打开管 ...

  9. Hibernate 脏检查和刷新缓存机制

    刷新缓存: Session是Hibernate向应用程序提供的操作数据库的主要接口,它提供了基本的保存,更新,删除和加载java对象的方法,Session具有一个缓存,可以管理和追踪所有持久化对象,对 ...

  10. python垃圾回收机制(Garbage collection)

    由于面试中遇到了垃圾回收的问题,转载学习和总结这个问题. 在C/C++中采用用户自己管理维护内存的方式.自己管理内存极其自由,可以任意申请内存,但也为大量内存泄露.悬空指针等bug埋下隐患. 因此在现 ...