这题debug了3个小时,当时简直崩溃........

题意   :

有2^n个歌手进行比赛,每位歌手准备好了n首歌,每首歌的愉悦度都不一样,每位歌手都知道对方每首歌的愉悦度,并且愉悦度越高的就会赢,输了的直接淘汰,为了尽可能的多进行几场比赛(赛制为两两相互比赛),歌手每场都会从低到高选出第一个大于对方歌手的歌来进行比赛,对于选值操作在judge函数里,我用的是二分查找的lower_bound()函数,每场输了的人直接将他的vis置为0,赢了的歌手所场完的歌则将它的愉悦度置为-1,然后每次进行judge()操作时都要进行sort排序,愉悦度为-1的歌直接排在前面,对后续的比赛不会影响。

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
using namespace std;
typedef long long int LL;
LL t,m,n,k;
struct node
{LL song[14];LL max;int vis;
} singer[200000];
void judge(int x,int y)
{LL flag;sort(singer[x].song,singer[x].song+n);sort(singer[y].song,singer[y].song+n);singer[x].max=singer[x].song[n-1];singer[y].max=singer[y].song[n-1];if(singer[x].max>singer[y].max){flag=upper_bound(singer[x].song,singer[x].song+n,singer[y].max)-singer[x].song;singer[x].song[flag]=-1;singer[y].vis=0;}else{flag=upper_bound(singer[y].song,singer[y].song+n,singer[x].max)-singer[y].song;singer[y].song[flag]=-1;singer[x].vis=0;}
}
int main()
{int o=1;scanf("%lld",&t);while(t--){scanf("%lld",&n);int p=pow(2,n);for(int i=1; i<=p; i++){for(int j=0; j<n; j++)scanf("%lld",&singer[i].song[j]);singer[i].vis=1;}int num=0,k=n;while(k--){num = 0;for(int i=1; i<=p ; i++){if(num!=0&&singer[i].vis){judge(num,i);num=0;continue;}if(singer[i].vis==1)num=i;}}for(int i=1; i<=p; i++){if(singer[i].vis){printf("Case #%d: %d\n",o++,i);break;}}}return 0;
}

Singing Contest相关推荐

  1. (第六场)Singing Contest 【模拟】

    题目链接:https://www.nowcoder.com/acm/contest/144/A 标题:A.Singing Contest | 时间限制:1 秒 | 内存限制:256M Jigglypu ...

  2. java窗体容器坐标_Java的屏幕坐标是以像素为单位的,容器的左下角被确定为坐标的起点。...

    屏单位的的左定为的起点Despite ________ difficulties, they did not find the life in London unpleasant. 幕坐As soon ...

  3. 软件测试岗位英文自我介绍,软件测试工程师自我介绍_工程师英文自我介绍范文...

    [www.gpsvo.com--网络知识] 工程师在面试做自我介绍时知道如何做英文自我介绍吗?英语的工程师自我介绍要怎么说呢?下面小编为你整理了工程师英文自我介绍范文,欢迎阅读. 工程师英文自我介绍范 ...

  4. 英语基础知识:非谓语使用规则上篇

    非谓语使用使用规则 不定式to do,用来表示将来和目的 补充笔记: 当物体作主语的时候,一般用ing 当人作主语的时候,一般用ed 举例:这部电影非常感人,this movie is more th ...

  5. 《时代》关于李宇春的评论(转载)

    2006-05-11 23:06:59 Li Yuchun Loved for Being Herself By Susan Jakes Posted Monday, October 3, 200 ...

  6. 牛客网暑期ACM多校训练营(第六场) - (A,C,J)

    比赛链接:https://www.nowcoder.com/acm/contest/144#question A Singing Contest 题意:有编号1~2^n的2^n个人参加唱歌比赛,每人有 ...

  7. 2018 Spring Team Contest B

    C:URAL - 2064 Young gardener didn't visit his garden for a long time, and now it's not very pleasant ...

  8. 2019 浙江省赛部分题解(The 16th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple)

    签到题 GLucky 7 in the Pocket Time Limit: 1 Second      Memory Limit: 65536 KB BaoBao loves number 7 bu ...

  9. HDU 6091 - Rikka with Match | 2017 Multi-University Training Contest 5

    思路来自 某FXXL 不过复杂度咋算的.. /* HDU 6091 - Rikka with Match [ 树形DP ] | 2017 Multi-University Training Conte ...

最新文章

  1. 派工单系统 源码_「青鸟报修云」酒店设备报修管理系统
  2. SAP MM 工序委外场景再探 – 相关采购申请单据中的总账科目确定
  3. idea网页预览功能_IDEA 2020.2 重磅发布,动画级新功能预览!
  4. Hadoop完全分布式环境搭建(三节点)
  5. Linux编程---线程
  6. SpringMVC返回Map类型转换成JSON失败
  7. python批量新建文件夹_python根据txt文本批量创建文件夹
  8. centos普通用户修改文件权限_用户管理(特殊权限、特殊属性、umask 默认权限 )
  9. 解决python中join路径分隔符跨平台移植性
  10. 简记模态对话框和非模态对话框
  11. 敏感词过滤的php代码,PHP敏感词过滤
  12. 2013递归求解单链表中的结点个数(C++,附递归函数思路讲解与手绘图)
  13. 未来数据中心核心技术:RDMA在京东的应用
  14. java 金额_货币金额的计算 - Java中的BigDecimal
  15. Microsoft Office Interactive Developer Map
  16. 8086考试主要考的最小模式
  17. atitit 英文与中文与阿拉伯文的简化解决方案.docx
  18. 课程管理系统 java
  19. VHDL-任意分频器(50%占空比)
  20. 初学前端网站建立流程

热门文章

  1. Nginx配置并使用SSI功能
  2. 无穷项和求极限(夹逼准则)
  3. 卡片的sak为不支持的类型_Python 植物大战僵尸代码实现(2):植物卡片选择和种植...
  4. 【vijos】1006 晴天小猪历险记之Hill(dijkstra)
  5. linux网络被限制网速,linux iptables限速及限制每IP连接数
  6. 《基于数字信号处理的相干光通信技术》读书笔记chapter I——导论
  7. [转贴]Symbian开发入门 - UIQ开发教程
  8. 替代 Elasticsearch,TDengine 助力四维图新将存储空间利用率提升 8 倍
  9. 顾盼华发鸿蒙怦然而梦是什么意思,最美的承诺情话
  10. C++——递归之数字组合