https://codeforces.com/contest/1121

B

题意

给你n(<=1000)个数a[i](<1e5),找出最多对和相等的数,每个数只能用一次,且每个数保证各不相同

题解

  • 重点:每个数只会出现一次
  • 枚举所有数对的和并标记,遍历和,次数最多即答案
  • 为什么这样可以保证没有数使用了两次?

    因为每个数只会出现一次,所以对于某个和来说,组成的每个数对都是唯一的

代码

#include<bits/stdc++.h>

using namespace std;
int n,i,a[1005],j,ans,vi[200005];
int main(){
cin>>n;
for(i=1;i<=n;i++){
cin>>a[i];
}
for(i=1;i<=n;i++){
for(j=i+1;j<=n;j++){
vi[a[i]+a[j]]++;
}
}
for(i=1;i<=200000;i++)
ans=max(ans,vi[i]);
cout<<ans;
}

C

题意(阅读题,难在题意和实现细节)

模拟判题系统,一共有n(<=1000)个提交,每个提交有a[i](<=150)个数据点,有k(<=100)个判题机器,判题顺序如下:n个提交依次判定,假如有空闲的机器就将下一个提交放上去,判定一个数据点需要1s,直到所有提交判定完毕。

定义d为判题率为round(100*m/n),m为已经判定完的提交数,对于每个提交来说,假如存在一个时刻,提交正在判定第x个数据点,而此时的d也是x,问有多少个这样的提交?

题解

  • 数据量较少,所以直接模拟即可
  • 每次模拟的是+0.5的情况,因此需要操作顺序为:将每个数据点+1,统计上一秒末的完成度->结算本秒->更新完成情况

坑点

  • 对于有的提交,可能会多次满足条件,导致重复计算结果,所以需要标记每个提交

代码

#include<bits/stdc++.h>

using namespace std;
int n,k,m,a[1005],i,p[1005],j,vi[1005],d,ans,mk[1005];
double ti=0.5;
int main(){
cin>>n>>k;
for(i=1;i<=n;i++){
cin>>a[i];
}
k=min(n,k);
for(i=1;i<=k;i++)vi[i]=1;
for(;;ti+=1){
for(i=1;i<=n;i++){
if(vi[i]==1)p[i]++;
}
d=round(100.0*m/n); /*for(i=1;i<=n;i++)cout<<p[i]<<" ";
cout<<d<<" ";*/
for(i=1;i<=n;i++){
if(vi[i]==1&&p[i]==d&&!mk[i]){ans++;mk[i]=1;}
}
//out<<ans<<" "<<ti<<endl;
for(i=1;i<=n;i++){
if(p[i]==a[i]&&vi[i]==1){
m++;vi[i]=2;
for(j=i+1;j<=n;j++){
if(!vi[j]){vi[j]=1;break;}
}
}
} if(m==n)break; }
cout<<ans;
}

Codeforces Round #543 (Div. 2)B,C的更多相关文章

  1. Codeforces Round #543 (Div. 2, based on Technocup 2019 Final Round)

    A. Technogoblet of Fire 题意:n个人分别属于m个不同的学校 每个学校的最强者能够选中 黑客要使 k个他选中的可以稳被选 所以就为这k个人伪造学校 问最小需要伪造多少个 思路:记 ...

  2. Codeforces Round #543 (Div. 2) F dp + 二分 + 字符串哈希

    https://codeforces.com/contest/1121/problem/F 题意 给你一个有n(<=5000)个字符的串,有两种压缩字符的方法: 1. 压缩单一字符,代价为a 2 ...

  3. Codeforces Round #543 (Div. 2) D 双指针 + 模拟

    https://codeforces.com/contest/1121/problem/D 题意 给你一个m(<=5e5)个数的序列,选择删除某些数,使得剩下的数按每组k个数以此分成n组(n*k ...

  4. cf 20190307 Codeforces Round #543 (Div. 2, based on Technocup 2019 Final Round)

    B. Mike and Children time limit per test 2 seconds memory limit per test 256 megabytes input standar ...

  5. Codeforces Round #543 (Div. 1, based on Technocup 2019 Final Round) 题解

    题面戳这里 A. Diana and Liana 首先如果s>ks>ks>k一定无解,特判一下.那么我们考虑找恰好满足满足题目中的要求的区间[l,r][l,r][l,r],那么需要要 ...

  6. Codeforces Round #366 (Div. 2) ABC

    Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...

  7. Codeforces Round #354 (Div. 2) ABCD

    Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/out ...

  8. Codeforces Round #368 (Div. 2)

    直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...

  9. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

随机推荐

  1. Python: print stdout同行输出

    项目中发现,PyCharm运行youtube_dl下载,其进度在同行显示,即替换上行输出. 稍做研究,记录下来: #coding=utf-8 from __future__ import print_ ...

  2. java常量类编译问题

    常量类编译后并不在.class文件中呈现,取而代之的是各个具体的常量.例如: 编译前:(Constant.OPTIONSRADIO常量值为1) 编译后: 应用场景 1,项目编译后发布项目前可以删除常量 ...

  3. java项目中常见的异常及处理

    Java开发中常见异常及处理方法 1.JAVA异常 异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等.异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程.Java通 过API ...

  4. day 25 udp, socketserver

    建立UDP连接的示例: # server端 import socket sk = socket.socket(type=socket.SOCK_DGRAM) sk.bind(('127.0.0.1', ...

  5. MySQL安装(windows版本)

    1.下载.MySQL http://dev.mysql.com/downloads/mysql/ 下载windows的zip包,解压后,添加path路径bin, 系统环境变量->path-> ...

  6. Ajax cookie session form组件

    . Cookie是什么 保存在浏览器端的键值对 为什么要有Cookie? 因为HTTP请求是无状态的 Cookie的原理? 服务端可以在返回响应的时候 做手脚 在浏览器上写入键值对(Cookie) 浏 ...

  7. OCSP

    一.简介   二.协议   三.其他 1)OCSP装订 https://zh.wikipedia.org/wiki/OCSP%E8%A3%85%E8%AE%A2

  8. Python while for if....else

    1函数input()的工作原理: 函数input()让程序暂停运行,等待用户输入一些文本.获取用户输入后,python将其存储在一个变量(即要向用户显示的提示或说明) raw_input    是Py ...

  9. gcd(欧几里得算法)

    基础 int gcd(int a,int b)   {       int r;       )       {            r=a%b;            a=b;           ...

  10. js对象(BOM部分/DOM部分)

    JS总体包括ECMAScript,DOM,BOM三个部分,但是能够和浏览器进行交互的只有DOM和BOM,那么到底什么是DOM和BOM呢 概念 BOM(Browser Object Model)是指浏览 ...