题目

https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2095

题意

球赛,n个球队,每两个之间赛两场,胜得三分,平得1分。梦之队是胜利场数最多的队伍,问梦之队的最低排名。

思路

明显,可以令梦队和其他队伍都相差1个胜局。

那么不妨干脆设梦队胜局为2,其他队伍胜局数为1

由于每个队伍只能参与2n-2场比赛,让情况尽可能对梦队不利,也就是其他队伍的胜局都来自于梦队,同时其他队伍之间的比赛都是平局

梦队参与的胜局,平局,输局为 2, n - 3, n - 1,总分为n + 3

一般队伍与梦队平局,胜局,平局,输局为 1, 2n - 3, 0,总分为2n

差队伍输给了梦队,胜局,平局,输局为 1, 2n - 4, 1,总分为2n - 1。

那么何时梦队的结果比一般队伍差? n + 3 < 2n,得到 n > 3

何时梦队结果比差队伍还差?n + 3 < 2n - 1,得到n > 4

也就是说

n <= 3,梦队最低也是第一名

n == 4,梦队最低是第二名,因为此时一般队伍有4 - 2 - 1 = 1个。

n >= 5, 梦队可能是最后一名。

感想

1. 读完题目之后不知为何心中坚定认为梦之队前面只能有第一名,也就是说梦之队前面的队伍得分是一样的,为此怎么构造也构造不出来

代码

#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
using namespace std;
const int MAXN = 1e3 + 3;
typedef pair<int, int> Pair;
int n;
int main() {
int T;
//scanf("%d", &T);
freopen("C:\\Users\\Iris\\source\\repos\\ACM\\ACM\\input.txt", "r", stdin);
//freopen("C:\\Users\\Iris\\source\\repos\\ACM\\ACM\\output.txt", "w", stdout);
for (int ti = 1; scanf("%d", &n) == 1 && n; ti++) {
if (n < 4)puts("1");
else if (n == 4) puts("2");
else {
printf("%d\n", n);
}
}
return 0;
}

  

UVa LA 4094 WonderTeam 构造 难度: 1的更多相关文章

  1. LA 4094 WonderTeam 构造

    题意: 一共有\(n\)支队伍参加比赛,每两支队伍比赛两场,主客场各一场. 胜场得\(3\)分,平局得1分,败场不得分. 一支得分为\(p\)的队伍的排名\(=\)分数大于\(p\)的队伍数\(+1\ ...

  2. UVa LA 4636 Cubist Artwork 难度: 0

    题目 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pr ...

  3. UVA LA 7146 2014上海亚洲赛(贪心)

    option=com_onlinejudge&Itemid=8&page=show_problem&category=648&problem=5158&mosm ...

  4. UVa LA 3266 - Tian Ji -- The Horse Racing 贪心,不只处理一端,也处理另一端以理清局面 难度: 2

    题目 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pr ...

  5. UVa LA 4254 - Processor 二分,贪心 难度: 1

    题目 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pr ...

  6. UVa LA 3213 - Ancient Cipher 水题 难度: 0

    题目 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pr ...

  7. UVA LA 3983 - Robotruck DP,优先队列 难度: 2

    题目 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pr ...

  8. UVa LA 3882 - And Then There Was One 递推,动态规划 难度: 2

    题目 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pr ...

  9. UVa LA 2965 - Jurassic Remains 中间相遇,状态简化 难度: 2

    题目 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pr ...

随机推荐

  1. electron 打包流程 electron-packager + NSIS

    1.安装 electron-packager 2.electron-packager 应用目录 应用名称 打包平台  左上角的图标和任务栏的图标  输出目录 架构 版本     win打包:  ele ...

  2. ajax的三次封装简单概况

    原生ajax:                readyState         准备状态                status             页面状态               ...

  3. flutter测试页

    import 'package:flutter/material.dart'; // 应用页面使用有状态Widget class AppScene extends StatefulWidget { @ ...

  4. ProtoType原型和__Proto__原型链的详解

    var arr = new Array(12,13,14,15,16,17,18); var arr2 = new Array(12,13); arr.sun=function(){ //用原型加Ar ...

  5. springboot实现自定义的错误页面展示

    https://blog.csdn.net/trusause/article/details/84299886 参考 SpringBoot默认的错误处理机制 默认效果为: 返回一个默认的错误页面 Wh ...

  6. C C++互相调用注意

    注意:直接调用会找不到函数定义 1. C 调用 C++封装好后的函数: 在C++中有一个函数 int main_cpp(): 首先构建头文件, #ifndef CPP_FILE_H   #define ...

  7. LeetCode03 最长无重复子串

    题目 给定一个字符串,找出不含有重复字符的最长子串的长度. 解答 刚开始以为只是一遍遍历后来的字符和前面一样便开始算新子串,给的案例都过了,但是卡在了"dvdf" 后来经过重重试验 ...

  8. H5外包团队 技术分享 基于H5+的项目分享

    项目截图:             有H5项目需求欢迎联系我们 我们提供免费的项目评估报价 QQ:372900288 WX:Liuxiang0884

  9. 蓝牙 - 小米手环3 NFC版BLE协议研究

    0x01 前言 最近买到了小米手环3nfc版本,基本上实现了我对手环的所有功能需求,高中的时候就缠线圈做过戒指一卡通,但是缺陷是不好看,而且只能储存一张卡,等 手环3nfc版我认为比较好的功能 可以储 ...

  10. Git 安装和使用Tips

    1. git的安装 2. git的常见用法 3. git的常见问题 1. git的安装 1)首先去下载https://git-scm.com/downloads 在上述官网上下载符合自己操作系统的gi ...