QLU_凉肝的比赛补题

2023-10-27 21:59
文章标签 比赛 补题 qlu 凉肝

本文主要是介绍QLU_凉肝的比赛补题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

补题题目

    • B - Just Eat It!
    • C - Fadi and LCM

B - Just Eat It!

题目大意:
题目大意
输入:
输入
输出:
对于每组数据,如果Yasser会开心,输出YES,否则输出NO。

样例:
输入:
3
4
1 2 3 4
3
7 4 -1
3
5 -5 5

输出:
YES
NO
NO

解题思路:
首先要求的是在[1,n]这个连续区间内的总体的和与这个连续区间内部分连续区间的和的比较,因为题目不管怎么选择,所以对于每组数据求出其最大的部分区间的和与总体区间和的关系即可。即求出[1,n-1]与[2,n]这两个最大连续部分区间的和的最大值与总体区间和的关系。如果最大值小于总体之和,输出YES,否则输出NO。(刚开始做的时候忽略了连续区间这个前提,用排序做的来着,太憨了。。)

代码如下:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=1e5+10;
ll sum,su;
ll maxx;
int n;
int t;
ll s[maxn];
int main()
{cin>>t;while(t--){sum=0;su=0;maxx=-1;cin>>n;for(int i=1;i<=n;i++){cin>>s[i];sum+=s[i];}for(int i=1;i<=n-1;i++){su+=s[i];if(su<s[i])su=s[i];maxx=max(maxx,su);}su=0;for(int i=2;i<=n;i++){su+=s[i];if(su<s[i])su=s[i];maxx=max(maxx,su);}// cout<<"sum="<<sum<<" , "<<"maxx="<<maxx<<endl;if(sum>maxx)cout<<"YES"<<endl;elsecout<<"NO"<<endl;}return 0;
}

在此也算是学会了一个求连续区间最大值的方法

    for(int i=1;i<=n-1;i++){su+=s[i];if(su<s[i])su=s[i];maxx=max(maxx,su);}

C - Fadi and LCM

题目大意:
题目大意
lcm(a,b)的意思是求a,b的最小公倍数

解题思路:
当a * b=X时,max (a,b)最小。
又 (a * b) / gcd (a,b) = lcm (a,b).【即:a与b的乘积除以a与b的最大公约数就是a与b的最小公倍数。例如:6与8,6*8=48;6与8的最大公约数是2,且48/2=24,而24又是6与8的最小公倍数。】。即 a * b = lcm (a,b)。则 gcd(a,b)=1。

a * b / gcd(a,b) = x.(假设a ≤ b)
设A = a / gcd(a,b),B = b;
AB = X。
那么 A 和 B 肯定是互质的,且 A ≤ sqrt(x)
那么枚举A即可,从大到小,gcd(A,B) = 1,A*B = X.第一个符合条件的A就是答案。

代码如下:

#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long ll;
ll x;
ll n;
ll a,b;
int main()
{cin>>x;ll n=sqrt(x);for(ll i=n;i>=1;i--){if(x%i==0){a=i;b=x/i;if(__gcd(a,b)==1)    //__gcd()可以直接求两个数的最大公约数{cout<<a<<" "<<b<<endl;break;}}}return 0;
}

这篇关于QLU_凉肝的比赛补题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/288683

相关文章

我们依旧在追梦的路上-山东省第六届ACM比赛总结

这场比赛从结果而言达到了预期(金牌),从过程而言和我的预期相差甚远(打的太乱,个人发挥很差),还好关键时刻队友抗住压力,负责后果真的不堪设想。 热身赛 热身赛纯粹测机器的,先把A,B,C草草水过(A题小写x打成大写的也是醉了),我和老高开始各种测机器,long long不出所料是lld的,试了一下除0和数组越界的re问题,发现没有re,只有wa(甚至数组越界还AC了),至于栈深的话也没过多追

ACM比赛中如何加速c++的输入输出?如何使cin速度与scanf速度相当?什么是最快的输入输出方法?

在竞赛中,遇到大数据时,往往读文件成了程序运行速度的瓶颈,需要更快的读取方式。相信几乎所有的C++学习者都在cin机器缓慢的速度上栽过跟头,于是从此以后发誓不用cin读数据。还有人说Pascal的read语句的速度是C/C++中scanf比不上的,C++选手只能干着急。难道C++真的低Pascal一等吗?答案是不言而喻的。一个进阶的方法是把数据一下子读进来,然后再转化字符串,这种方法传说中

结合Python与GUI实现比赛预测与游戏数据分析

在现代软件开发中,用户界面设计和数据处理紧密结合,以提升用户体验和功能性。本篇博客将基于Python代码和相关数据分析进行讨论,尤其是如何通过PyQt5等图形界面库实现交互式功能。同时,我们将探讨如何通过嵌入式预测模型为用户提供赛果预测服务。 本文的主要内容包括: 基于PyQt5的图形用户界面设计。结合数据进行比赛预测。文件处理和数据分析流程。 1. PyQt5 图形用户界面设计

保研 比赛 利器: 用AI比赛助手降维打击数学建模

数学建模作为一个热门但又具有挑战性的赛道,在保研、学分加分、简历增色等方面具有独特优势。近年来,随着AI技术的发展,特别是像GPT-4模型的应用,数学建模的比赛变得不再那么“艰深”。通过利用AI比赛助手,不仅可以大大提升团队效率,还能有效提高比赛获奖几率。本文将详细介绍如何通过AI比赛助手完成数学建模比赛,并结合实例展示其强大功能。 一、AI比赛助手的引入 1. 什么是AI比赛助手? AI比

Kaggle刷比赛的利器,LR,LGBM,XGBoost,Keras

刷比赛利器,感谢分享的人。 摘要 最近打各种比赛,在这里分享一些General Model,稍微改改就能用的 环境: python 3.5.2 XGBoost调参大全: http://blog.csdn.net/han_xiaoyang/article/details/52665396 XGBoost 官方API: http://xgboost.readthedocs.io/en

【HDU】1285 确定比赛名次 拓扑排序

确定比赛名次 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 10963    Accepted Submission(s): 4374 Problem Description 有N个比赛队(1<=N<=500),

2020年ICPC南京站 补题记录

文章目录 A - Ah, It's Yesterday Once More(构造)E - Evil Coordinate(构造)F - Fireworks(概率+三分)H - Harmonious Rectangle(打表)K - K Co-prime Permutation(签到)L - Let's Play Curling(贪心+签到)M - Monster Hunter(树形dp)

第八届湘潭大学程序设计比赛A题

A Love Letter Accepted : 33 Submit : 66Time Limit : 1000 MS Memory Limit : 65536 KB  题目描述   CodeMonkey终于下定决心用情书的方式向心爱的女神表白,当他历经几天几夜写完之后才知道女神有很多不喜欢的词,所以他不得不有把这些词删掉。例如:原文是:ILOVEYOU,女神不喜欢的词是‘LV’

天池-OppO-OGeek比赛总结

赛题资源 题目链接 数据链接 我的代码 这份代码是复赛的代码,写的比较规范些,也添加了一些注释。因为实在阿里云的平台上运行的,所有有些地方会报错,不能直接运行。最主要的问题应该是输入数据的路径不对,改成对应的路径即可。 赛题描述及分析 在搜索业务下有一个场景叫实时搜索(Instance Search),就是在用户不断输入过程中,实时返回查询结果。赛题的数据如下: 字段说明数据示例pr

杭电多校个人补题

全部感悟。 1.要学会就是分类讨论,比如大于n小于n等于n,什么的。各种特殊情况,要考虑到。 2.要学会根据题意进行讨论 一、第八场: 第一题:cats的k-xor k进制表示。肯定就是a%k a/k%k a/(k*k)%k .... 我们会发现,如果说,在十进制下面 a+b=c的话那么肯定就是在很多进制下面都可以满足题意。 那么我们接着去讨论 a+b<c 和 a+b>c