我会4题,写了两题,还提交错误n次,掉了40rating(哭丧脸),又被学长D飞了。

学长:我很心疼你的成绩啊;

我:第四题忘记加特判了。。。

学长:暴力还能写挂。

我:。。。。。。

———————————————————我是分割线———————————————————

T1:给定一个n,求一个分数a/b(满足a+b=n)且gcd(a,b)=1,使这个分数<1且最大。。

我:。。。。

#include<cstdio>
#include<cmath>
using namespace std;
int gcd(int x,int y){return y==?x:gcd(y,x%y);}
int n;
int main(){
scanf("%d",&n);
for(int i=(n-)/;i>=;i--){
if(gcd(i,n-i)==){printf("%d %d\n",i,n-i);break;}
}
}

———————————————————我是分割线———————————————————

T2:一共有n个点,其中k个点已经有人居住,求旁边有人居住的空置的点至少有几个,最多有几个。

我:。。。。。。(如果n==k||k==0输出0 0,否则输出1和j(k*3<=n?j=n-k:j=k*2))

我:假题。

#include<cstdio>
using namespace std;
long long n,k;
int main(){
scanf("%I64d%I64d",&n,&k);
if(n==k||k==)puts("0 0");
else {
printf("1 ");
if(k*<=n)printf("%I64d",k*);
else printf("%I64d",n-k);
}
}

———————————————————我是分割线———————————————————

T3:有n个航班, 第i个航班原始是从第i秒起飞的。不过由于延误,前k秒不能起飞飞机,要求你让每一个航班在k+1~k+n秒中选一个时间起飞(不能重复),而且每一个航班延误1秒花费的代价为ci,要你求最小的代价。

我:。。题目正常了。

感觉尽量让ci越大的航班延误时间越小越好。所以。。大胆猜想!不用证明!

我们把ci按照时间顺序扔进大根堆里中,然后统计答案就好了。

然后我想到了,考场上没来得及写啊(抓狂~~~)

#include<cstdio>
#include<vector>
#include<queue>
using namespace std;
int g[],n,k,c[];
typedef pair<int,int> ii;
int main(){
int n,k;
scanf("%d%d",&n,&k);
for(int i=;i<n;i++)scanf("%d",&c[i]);
priority_queue<ii>pq;k--;
long long cost=;
for(int i=;i<n||(!pq.empty());i++){
if(i<n) pq.push(ii(c[i],i)); if(i>k){
ii re=pq.top();
pq.pop();
cost+=1LL*re.first*(i-re.second);
g[re.second]=i+;
}
}
printf("%I64d\n",cost);
for(int i=;i<n;i++) printf("%d ",g[i]);
}

———————————————————我是分割线———————————————————

T4:一共有m张机票,每趟飞机要么从0号点飞向其他点,要么从其他点飞向0号点,给你每趟飞机的到达时间,1-n个城市里刚好有编号为1-n的人,求让这n个人同时在0号城市呆k天且最后回到城市的最小花费是多少。。(时间大小<=1000000)

我:这题目有点意思。、、、

过了一会儿。。。

我:这不就是暴力枚举吗。。。正着枚举一遍时间轴,求1-100000s时n个人到达0号城市的代价,然后反着再枚举一遍时间轴,求n个人回到各自城市的代价。

然后统计答案就好了,暴力题。(考场上写特判挂了。。。)

#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
long long Min(long long a,long long b){return a<b?a:b;}
struct hh{
long long d,f,t,c;
}gg[];
long long n,m,k,cost[],sum,qc[],l,qian,ans=;
bool cmp(hh x,hh y){return x.d<y.d;}
int main()
{
scanf("%I64d%I64d%I64d",&n,&m,&k);
for(int i=;i<=m;i++) scanf("%I64d%I64d%I64d%I64d",&gg[i].d,&gg[i].f,&gg[i].t,&gg[i].c);
sort(gg+,gg++m,cmp);
l=n;qian=;
for(long long i=;i<=;i++)
{
while(gg[qian].d==i)
{
if(!cost[gg[qian].f]&&gg[qian].f!=)
{
cost[gg[qian].f]=gg[qian].c;
sum+=gg[qian].c;
l--;
}
else
{
if(cost[gg[qian].f]>gg[qian].c)
{
sum+=gg[qian].c-cost[gg[qian].f];
cost[gg[qian].f]=gg[qian].c;
}
}
qian++;
}
if(!l)
qc[i]=sum;
else qc[i]=-;
}
qian=m;l=n;sum=;
memset(cost,,sizeof cost);
for(long long i=;i>=k+;i--)
{
while(gg[qian].d==i)
{
if(!cost[gg[qian].t]&&gg[qian].f==)
{
cost[gg[qian].t]=gg[qian].c;
sum+=gg[qian].c;
l--;
}
else
{
if(cost[gg[qian].t]>gg[qian].c)
{
sum+=gg[qian].c-cost[gg[qian].t];
cost[gg[qian].t]=gg[qian].c;
}
}
qian--;
}
if(l==&&qc[i-k-]!=-) ans=Min(ans,sum+qc[i-k-]);
}
if(ans!=) printf("%I64d",ans);
else printf("-1");
}

———————————————————我是分割线———————————————————

Codeforces Round #433的更多相关文章

  1. Codeforces Round #433 (Div. 2)【A、B、C、D题】

    题目链接:Codeforces Round #433 (Div. 2) codeforces 854 A. Fraction[水] 题意:已知分子与分母的和,求分子小于分母的 最大的最简分数. #in ...

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

  3. Codeforces Round#433 简要题解

    来自FallDream的博客,未经允许,请勿转载,谢谢. 我的号自从几个月前姿势水平过低疯狂掉分之后就没动过了  突然想上点分  就打了一场Div1  没想到打到了rank5  一发上橙了,可还行. ...

  4. [Codeforces Round #433][Codeforces 853C/854E. Boredom]

    题目链接:853C - Boredom/854E - Boredom 题目大意:在\(n\times n\)的方格中,每一行,每一列都恰有一个被标记的方格,称一个矩形为漂亮的当且仅当这个矩形有两个角是 ...

  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. Oracle 11g 审计跟踪管理

    在Oracle11g之前,oracle数据库自带的审计功能是关闭的,考虑到性能和审计管理的复杂性,用户一般不打开审计功能.如果有审计要求,DBA会采用trigger来实现对DDL审计的方法来折中.例如 ...

  2. java编程思想 内容总结

    Java编程思想重点笔记(Java开发必看) Java编程思想,Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面 试过程中,而且 ...

  3. 安装floodlight遇到的问题和解决

    环境:ubuntu18.04 安装floodlight先前准备:java的环境,ant. sudo apt-get install build-essential defailt-jdk ant py ...

  4. io学习2-磁盘阵列RAID

    磁盘阵列 RAID(Redundant ArrayOf Inexpensive Disks) 如果你是一位数据库管理员或者经常接触服务器,那对RAID应该很熟悉了,作为最廉价的存储解决方案,RAID早 ...

  5. 【Android入门】——模拟器的创建及常见问题汇总

    [前言] 刚刚接触Android,第一门课我们就来创建一个模拟器.安卓模拟器,简称AVD(Android Virtual Device),是安卓运行的虚拟设备.有了他以后,我们就不需要在连着安卓手机进 ...

  6. Github & DMCA Takedown Policy

    Github & DMCA Takedown Policy Digital Millennium Copyright Act 数字千年版权法案 https://help.github.com/ ...

  7. Mapreduce简要原理与实践

    探索Mapreduce简要原理与实践 目录-探索mapreduce 1.Mapreduce的模型简介与特性?Yarn的作用? 2.mapreduce的工作原理是怎样的? 3.配置Yarn与Mapred ...

  8. background 背景图铺满界面

    background <body background="/image/1.png" style=" background-repeat:no-repeat ; b ...

  9. WebSocket API使用篇检测浏览器是否支持WebSocket(4)

    WebSocket API是下一代客户端-服务器的异步通信方法.前面有三篇文章已经对WebSocket有了一些介绍,这里我总结了一下.我在使用WebSockets API过程中遇到的问题. 1.检测浏 ...

  10. CF#366 704D Captain America 上下界网络流

    CF上的题,就不放链接了,打开太慢,直接上题面吧: 平面上有n个点, 第 i 个点的坐标为 ($X_i ,Y_i$), 你需要把每个点染成红色或者蓝色, 染成红色的花费为 r , 染成蓝色的花费为 b ...