码迷,mamicode.com
首页 > 其他好文 > 详细

acm新生集训第一周比赛题解

时间:2018-11-11 23:30:03      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:ati   最小值   结合   html   字符串   cal   输出   ==   dash   

第一题:吃鸡蛋星人吃鸡蛋

题解:签到题,按题意模拟每天吃的鸡蛋数相加即可,但是需要注意的是和的类型应该是long long类型的

第二题:沛奇之战

题解:难度适中,思维题,其实只有两种情况,一种是沛沛作弊的情况下两者的时间差,另一种就是沛沛不作弊当沛沛作弊且先到终点时

而我们只需要判断什么时候沛沛可以作弊就行了,而这个判断首先沛沛速度大时,无法作弊,当沛沛速度小时,只有,奇奇离终点的距离大于k时,才能作弊。

(附:本来以为这题的ac率会很高,但是可能因为修改题面的时间有些延迟,导致可能对题意没有理解,出题人背锅。。。)

第三题:决战到天亮

题解:签到题,有一个小坑,貌似坑了不少人,只需要n>=abs(a)+abs(b),但是如果n-abs(n)-abs(m)如果是奇数,就不可达,可以画个图简单推一下

第四题:你听,那猹又在咬瓜了

题解:签到题,但是因为一些出题人的操作,导致数据有大锅。赛后可以在problem里提交一下

在这里说下操作吧,用一个数组来存当前编号西瓜的是否存在,被猹咬后,变成0,然后输出还是1的编号就行了

第五题:嘤嘤怪的夜袭

题解:思维题,但没想到没人ac

如果一个数是3的倍数,那么这个数的各个位相加应该也是3的倍数

按字符串遍历,首先当一个数是3的倍数时,划分,如果不是则继续遍历到第二个数字,结合起来如果是,则划分。

否则继续遍历到第三个数,这时候一定会使得这三个数组合起来一定是3的倍数,划分。

(附:如果没来听课,且对这个规律有所疑问的,可以问)

 

第六题:头发渐渐沛沛

题解:压轴题! ! !

(附 :拓展欧几里得 https://www.cnblogs.com/hadilo/p/5914302.html 

首先说正解,通过exgcd判断  是否有解,即如果c%gcd(a,b)==0则有解,如果有解则将不定方程代入二元二次方程中进行化简。

具体步骤:先进行消元   代入方程中,可得 然后进行化简,最后得到

 

这不就是一个一元二次方程的最小解问题

然后根据高中知识可得对称轴为 

最后在对称轴两边找满足的解,即可,找到即为最小解

然后说下暴力解法 先假设一个最小值minn1e18+7,直接暴力跑x,让x-10^510^5开始跑,首先如果满足不定方程有解,则代入算一个值,如果这个值小于minn,则minn=这个解,然后跑完之后如果minn==1e18+7,则没有不定方程的解,输出bold,否则输出minn就行了。

当然这里要强调的是,minn需要一开始初始化的时候放大一些,否则一些数据会有问题,因为这里也有一个坑,这个最小解是会爆int的,嘿嘿

至于为什么x会在-1e5——1e5之间,看下图

 

 

acm新生集训第一周比赛题解

标签:ati   最小值   结合   html   字符串   cal   输出   ==   dash   

原文地址:https://www.cnblogs.com/maybe96/p/9943591.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!