XUPT 新生赛题目总结

题目

  • 永远的王聪明王
    • 菊花侠大战桃花怪
      • 教官喊话
        • Time Management
          • 小布特烦恼
            • 菜学长的糖糖
            • 水题

永远的王聪明王


简单的结构体排序,唯一要注意的是数据范围(时间不能超过O(nLogn)),因此使用快排。

#include <stdio.h>
#include<string.h>
struct {char name[105];int time;
} a[1000005]={0}, temp,t;
void quicksort(int left, int right)
{if(left>right) return;while (i!=j) {while (i<j&&a[j].time>=temp.time) j--;while (i<j&&a[i].time<=temp.time) i++;if (i<j) {t = a[i];a[i]=a[j];a[j]=t;}}a[left]=a[i];a[i]=temp;quicksort(left,i-1);quicksort(i+1,right);return;
}int main()
{int i;int n;scanf("%d",&n);for (i=1;i<=n;i++) scanf("%s %d",a[i].name,&a[i].time); quicksort(1,n);for(i=1;i<=n;i++)printf("%s ",a[i].name); return 0;
}

菊花侠大战桃花怪


在讲这道题前先简单介绍一下博弈论题目特点:
1.两名选手,交替进行预先规定好的操作
2.在任何情况下,合法操作只取决于情况本身,与选手无关
3.游戏失败的最终判定往往是选手无法进行合法操作了

显然,这是一道经典博弈论的题目,不难发现先手必胜(题目中其实已经给提示),要证(猜)也不是特别难:
[1]当只有1堆时,显然必胜.
[2]当只有2堆时,拿2必胜.
[3]当只有3堆时,拿1必胜,
[4]当只有4堆时,先拿2,后手怎么拿先手都必胜。
[5]当只有5堆时,先拿4,必胜。

[n]当有n堆时,必胜.

因此直接输出win即可

#include<stdio.h>int main(){printf("Win");return 0;}

教官喊话


显然,只有奇数次操作的学妹才会站着,而又只有平方数的学妹能进行奇数次操作,因此这道题目翻译一下就是:判断1~2^40中的平方数

#include<stdio.h>
#include<math.h>
int main()
{long long int n,a,b;long long int i,count=0;scanf("%lld",&n);a=pow(n,0.5);for(i=1;i<=a;i++){b=i*i;printf("%lld ",b); }return 0;
}

Time Management


经典的贪心算法–时间规划问题,因为要尽可能多的写题,因此用结构体将结束时间从小到大排序,然后依次写就行(时间重合的就跳过)

#include<stdio.h>
struct timu
{int start;
int end;
};
int main()
{int n,i,j,count=1;struct timu a[50003],temp; scanf("%d",&n);for(i=1;i<=n;i++)scanf("%d%d",&a[i].start,&a[i].end);for(i=1;i<=n-1;i++)for(j=1;j<=n-i;j++){if(a[j].end>a[j+1].end){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}for(i=2,j=1;i<=n;i++){if(a[i].start>=a[j].end){count++;j=i;}}printf("%d\n",count);return 0;
}
小布特烦恼


这道题本质上来讲是一道阅读题,题目中的关键信息:
1.小布必须以这样的方式放置立方体:它们将按体积按非递减顺序排序。
2.小布可以交换两个相邻的立方体。

显然这是冒泡排序的方法,因此我们只需计算冒泡排序的最差情况下的交换次数:假设有n个物体从大到小排列,那么第1个物体需交换n-1次,第2个物体需交换n-2次…第n-1个物体需交换1次。显然这是等差数列。
那么总次数sum=(n-1+1)*(n-1)/2。
又因为题目中说了
3.如果小布需要超过 (n-1)n/2-1 次交换操作,他就不会做这种无聊的工作。
因此只需判断数列是否单调递减即可。

#include<stdio.h>
int main()
{int t,n,i,j,s,a[5000]={0},count=0;scanf("%d",&s);while(s--){count=0;scanf("%d",&n);for(i=1;i<=n;i++)scanf("%d",&a[i]);for(i=1;i<=n-1;i++) { for(j=1;j<=n-i;j++) { if(a[j]>a[j+1]) { count++;t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } }if(count>=(((n-1)*n/2)-1))printf("NO\n");elseprintf("YES\n");     }return 0;
}
菜学长的糖糖


判断一个数出现的次数即可。

#include <stdio.h>
int main()
{ long long int a[1005]={0};int n,i,j,t,count; scanf("%d",&n); for(i=1;i<=n;i++) scanf("%lld",&a[i]);  for(i=1;i<=n-1;i++) { for(j=1;j<=n-i;j++) { if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } for(i=1;i<=n;){count=0;for(j=1;j<=n;j++) { if(a[i]==a[j])count++;}if(count%2==1){printf("%lld",a[i]);break;}i=i+count;}return 0;
}
水题


一道数学思维题,从n=k,n<k,n>k三种情况考虑即可

#include<stdio.h>
int main()
{int a;scanf("%d",&a);int n,k,count=0;while(a--){scanf("%d%d",&n,&k);if(n==k)printf("0\n");else if(n<k){    while(n<k){n++;count++;}printf("%d\n",count);count=0; }else{if(n%2==k%2)printf("0\n");elseprintf("1\n");    }}return 0;
}

XUPT 新生赛题目总结相关推荐

  1. XUPT新生赛题目回顾(2)

    题目J: Description ACM-ICPC以团队的形式代表各学校参赛,每队由至多3名队员组成.每位队员必须是在校学生,有一定的年龄限制,并且每年最多可以参加2站区域选拔赛.比赛期间,每队使用1 ...

  2. XUPT新生赛题目回顾(1)

    题目A: 一天,聪明王在家中写作业,一共有n门课的作业,现在他知道自己写完每门作业的时间.他的妈妈可能随时会回来,他想在他的妈妈回来时尽可能的写完多的科目(显得自己很努力),他该如何安排写作业的顺序呢 ...

  3. 论如何举办一个承载400人的比赛(XUPT新生赛承办小记)

    XUPT新生赛承办小记 老师去年就想搞一个新生赛了,奈何去年时间不够,没有搞,于是今年就开始提前搞起来了.ZLS说要不然搞一个domjudge,我寻思着好鸭好鸭,看起来很牛逼,然后就开始了苦逼的配环境 ...

  4. 2022年郑州轻工业新生赛题目-打死我也不说

    7-5 打死我也不说! (15 分) 梗:最好的密电码是啥? 是"打死我也不说!"这样,即使帮我们传送密电码的猪队友被敌人抓住严刑拷打,我们也不用担心泄露秘密. 现在稍微改进一下, ...

  5. SCAU程序设计在线实训平台_编程进阶_新生赛题目_2019年初出茅庐_开门,你的圣诞礼物

    开门,你的圣诞礼物(No.18598) 描述: 快要到圣诞节了,说到圣诞节首先让人想到圣诞老人和圣诞树. 实际上,圣诞节是为了庆祝耶稣的降生,但是这跟我们没有什么关系,有兴趣可以选修英语选修中讲述历史 ...

  6. 21级爪哇程序设计新生赛(二)题解

    21级爪哇程序设计新生赛(二) 序 A 小爪的数字集合(并查集) B 小爪的得分(博弈) C 小爪的博弈(博弈) D ljc和cyj玩五子棋(模拟) E ljc和雪球(模拟) F LJC的背包(动态规 ...

  7. 2015GPNU新生赛题解

    2015GPNU新生赛题解 今年的题目结合了往年的题目和华工,华师新生赛题目,确实是历年最难. * 1001 * Problem Description 最近ACM协会各种各样的费用都要申报,会长一时 ...

  8. 2016中北大学ACM程序设计新生赛题解

    新生赛题目地址 a or an 输入字符串后判断第一个字符是不是'a','e','i','o','u',即可. #include<algorithm> #include <iostr ...

  9. [SUCTF2018]babyre [ACTF新生赛2020]fungame

    文章目录 [SUCTF2018]babyre 惯用思维 常人思维 GAMEOVER [ACTF新生赛2020]fungame int __cdecl sub_401340(int a1) int __ ...

最新文章

  1. 性能测试回归测试_自动网站性能回归测试
  2. “智能”基石:人工智能数据标注与训练,是决定智能时代的第一步
  3. 七、处理机调度概念、层次
  4. Java栈和局部变量操作(二)
  5. open cv提取图片特征值_基于VGG16网络提取Flicker8K数据集图像特征
  6. 第五章 二叉树(a)树
  7. 宏基4752g linux驱动下载,宏基4752g显卡驱动
  8. linux下利用MP4v2封装H264 aac为mp4
  9. html学习笔记-用代码画皮卡丘
  10. python路线寻优_基于DEAP库的Python进化算法从入门到入土 --(四)遗传算法的改进...
  11. druid.io剖析
  12. 三面阿里拿下Offer,总结与面试官交锋两个半小时的面经。
  13. 2022/07/17 软件设计师错题日志 Day 1
  14. python爬虫之Scrapy介绍八——Scrapy-分布式(以爬取京东读书为示例)
  15. 华为奇葩面试题登上热搜!「一头牛重800公斤一座桥承重700公斤,请问牛怎么过桥?」
  16. 误将桌面的计算机图标删除,如何恢复误删除的"桌面图标"
  17. NumPy-创建adarray
  18. 计算机组成原理——计算机的发展历史
  19. linux 7 dns服务器,十分钟搭建 linux 7 DNS服务器和WEB服务器
  20. 计算机中逻辑移位示意图,定点数运算之移位运算(收藏)

热门文章

  1. 在word “打钩” √
  2. java背单词软件_背单词的java小软件
  3. mysql 调用方差函数_mysql 函数大全
  4. 数组图像处理:直方图均衡化
  5. 停电让服务器自动关机,服务器断网/断电自动关机小工具 断网/断电5分钟后自动关机...
  6. gin embed打包静态资源文件
  7. vue 获取动态域名_vue项目接口域名动态获取操作
  8. 若依ajax返回数据,若依管理系统RuoYi-Vue(二):权限系统设计详解
  9. R语言模拟疫情传播-gganimate包
  10. 三菱Q系列PLC(内置以太网)与IFIX驱动IGS通讯测试 - TCPIP或UDP