A 按rank给出每个人的赛前分数和赛后分数 如果一个人打败了比他分数高的人 他的分数必然升高 问比赛rated吗 如果一个人的分数改变了肯定rate 如果全都没改的话 也可能是rated 这时候check分数是否递增

B 给出一个伪代码 用你的分数放进去可以生成25个rank 给出你的rank 你的现在分数x 你的最低分数y 问你hack(成功 +100 失败 - 50)成功最少多少次能够让自己的分数变化后放入这个伪代码生成的25个rank里面包含你的rank

先枚举只失败的 直到不能再失败

如果不行就枚举 成功次数 (每次都尝试失败一次)

C 你现在提交了b次 对了a次 你期望AC/SUBMIT比值是p/q 问最少提交多少次可以 或者确定不可以

让这个比值翻倍 二分翻的倍数并最小化  check 条件是 当b -> ans * q  可否实现 a -> p * ans

D 一场比赛有五道题 每道题的分数由一个通过人数和比赛总人数的比值决定 每个人在一道题上的分数由通过时间和题目总分决定 有n个人比赛 1想通过建小号的方式打败2 问最少建多少个或者确定不可以

可以看到比值最小是1/32 最大是1/2 并且n<=120 所以可以想到如果想并且有能力调控题目分数的话 需要建的小号不会太多 所以直接枚举check

需要注意的是 如果我想让A题多几个AC人数来刷低题目分数 这些人将被视为参赛者 会影响其余的题目的分数

没有看明白这个条件的我敲了一天的暴力搜索每题的总分。。打出一万个BUG。。可能已经是一条咸鱼了。。

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
#include<map>
#include<string>
#include<vector>
#include<queue>
#include<iostream>
using namespace std ;
#define L long long
#define pb push_back int n ;
int a[130][10] ;
int b[10] ;
int m ; int fs[8] = {0,500,1000,1500,2000,2500,3000} ;
int js[8] = {0,1,2,4,8,16,32} ; int zh(int x , int nn) {
if(x * 32 <= nn) return 6 ;
if(x * 16 <= nn) return 5 ;
if(x * 8 <= nn) return 4 ;
if(x * 4 <= nn) return 3 ;
if(x * 2 <= nn) return 2 ;
return 1 ;
} int vol[10][10] ; int lv[20] ;
int c[20] ;
int d[20] ; int main () {
cin >> n ;
memset(b, 0 , sizeof(b)) ;
for(int i = 1 ; i <= n ; i ++ ) {
for(int j = 1 ; j <= 5 ; j ++ ) {
cin >> a[i][j] ;
if(a[i][j] != -1) {
b[j] ++ ;
}
}
} for(int ans = 0 ; ans <= 3200000 ; ans ++ ) {
int df1 = 0 , df2 = 0 ;
for(int i = 1 ; i <= 5 ; i ++ ) {
d[i] = b[i] ;
if(a[1][i] == -1) continue ;
if(a[2][i] == -1) continue ;
if(a[1][i] > a[2][i]) {
d[i] = b[i] + ans ;
}
}
for(int i = 1 ; i <= 5 ; i ++ ) {
if(a[1][i] != -1) df1 += fs[zh(d[i] , n + ans)] / 250 * (250 - a[1][i]) ;
if(a[2][i] != -1) df2 += fs[zh(d[i] , n + ans)] / 250 * (250 - a[2][i]) ;
}
if(df1 > df2) {
printf("%d\n" , ans) ;
return 0;
}
if(ans == 3200000) {
printf("-1\n") ;
}
}
}

最新文章

  1. iOS-三方框架AFNetworking基本使用
  2. X-Cart 学习笔记(三)X-Cart框架2
  3. (Java和C++)二进制date数据写进android保存为yuv格式
  4. CentOS 6.4 32位系统 LAMP(Apache+MySQL+PHP)安装步骤
  5. TortoiseGit使用与操作
  6. Centos6.4 openNebula
  7. C++程序中不同变量、函数在内存中内存中的分布情况
  8. oracle 创建用户,授权用户,创建表,查询表
  9. iptables规则进阶
  10. 十三、Hadoop学习笔记————Hive安装先决条件以及部署
  11. 布局神器display:flex
  12. C# 使用 GDI+ 给图片添加文字,并使文字自适应矩形区域
  13. [Treap][学习笔记]
  14. Redis面试题
  15. DP h回文子串 LCS
  16. IDApython教程(五)
  17. Win平台阅读Kafka源码时候使用bat脚本时候报错以及解决方案
  18. css学习之样式层级和权重
  19. cf983E NN Country (倍增+dfs序+树状数组)
  20. Fragment 的生命周期及使用方法详解

热门文章

  1. 42、使用存放在存assets文件夹下的SQLite数据库
  2. 【BZOJ3944/4805】Sum/欧拉函数求和 杜教筛
  3. Shell脚本实现用户数据导入
  4. &lt;2013 08 20&gt; -----澳大利亚博士研究生申请-----
  5. JavaScript函数setInterval()和setTimeout()正确的写法
  6. mprotect() failed: Cannot allocate memory
  7. Java输入输出重定向代码
  8. PHP获取域名、IP地址的方法
  9. XP、win7下Excel 2007多窗口打开Excel的解决方法
  10. Python进阶(4)_进程与线程 (python并发编程之多进程)