牛客
SRT_HD
这个作者很懒,什么都没留下…
展开
-
2021年浙大城市学院新生程序设计竞赛
快速幂原创 2022-03-07 22:38:00 · 749 阅读 · 0 评论 -
“深圳计算科研院杯“E起来编程暨第三届湖北省赛 C Hamster and Equation
题意: 给两个数n ,k ,在【-n,n】的范围内,满足以上公式。问一共有几组例子。思路:a=x1(x1+1)将公式化简为a+b=k(c+d);以例子1为例子,a的值只能取到0,2.x1=0,-1时a是0,x1=1时,a=2.然后,根据化简后的公式,可以得到a b c d0 0 0 00 2 0 20 2 2 02 0 2 02 0 0 22 2 2 2这六种情况,然后 是排列组合的思路:0 0 0 0 ==>2 * 2 * 2 * 2 =16就是0有两种情况..原创 2021-05-12 15:37:38 · 373 阅读 · 0 评论 -
第19届上海大学程序设计联赛春季赛E Compute‘s Collection
C本来不准备说题意的,但是我的小伙伴说题目读不懂…其实就是,这个小朋友有一推卡片,每张卡片的满意度就是给出的数字(这个是文字游戏,题目说对i张卡片的满意度是i,但是输入哪里是第i天拿ai卡片,这个i和前面的i指代的不是一个东西,满意度是ai对应的值而不是第几天,,,,这让我很怀疑他们的语文)然后,小朋友只想要不一样的卡片,所以他把一样的挑出来给妈妈(们??)但是 妈妈拿卡片是有要求的,小盆友要一次拿三张卡片出来,妈妈拿走最大和最小的所以小盆友要准备好顺序,但是 当不要卡片的数量是奇数时,就要原创 2021-04-22 17:06:26 · 300 阅读 · 2 评论 -
牛客小白月赛24 最短路径 --判断线段和圆是否相交
最短路思路,好像并不难,但是我一开始带的特殊点,忘了那个距离是切线,然后导致算不出来1.判断两点构成的线段是否与圆相交(注意是线段,直线的话,如果过圆心,或者怎么样,就。。)这里推荐用角度判断,具体下面会写:2.不相交就直接距离公式,相交就算两点和圆的切线的距离,再算圆弧import mathx1,y1,x2,y2=map(float,input().split())x,y,r=map(float,input().split())d12 = math.sqrt((x1 - x2) * (x原创 2021-04-09 14:49:49 · 494 阅读 · 0 评论 -
小白月赛25 G解方程
G这题硬要解方程好像也可以,但是代码不好实现,然后据说还有一种做法是牛顿迭代的公式,在类似循环找答案。思路:用二分查找,首先先带特殊值,1,然后会发现这个答案最小就是1,左边是递增数列,基于此可以知道1<=x<=c,然后既然确定了答案范围就可以用二分去做(因为是求解,算出来是小事,不是整数)(不知道为什么小于c就多带特殊值)这么一看好像挺简单对不对,但是单纯直接二分超时,然后我就在想为什么。。。。看他们都是有限制条件的,但是这个条件这么来的呢?然后我就试,发现当二分到一定次数的时原创 2021-04-08 15:38:45 · 159 阅读 · 0 评论 -
小白月赛27 B 乐团派对--python
B思路:先找最大的那个数,并递减下去找到符合这个数的一串乐队(列表),确定这一个列表可以存放剩余所有任意数(作为一个垃圾桶,处理那些不好存放的数)在升序列表里面,往上找符合条件的构成列表数最后剩下一些数,就可以直接丢到垃圾桶里面n = int(input())a = list(map(int, input().split()))a.sort()if n < a[-1]: print(-1)else: a = a[:n-a[-1]] cnt = ans =原创 2021-04-05 16:26:46 · 164 阅读 · 0 评论 -
牛客小白月赛28B牛牛和牛可乐的赌约2
B这题真的就是一个迷我一直想着先到达(0,0)的牛输,也就是踩到3,6的牛必输,结果好久好久以后,被告知,是挪到(0,0)后不能移动的牛输 ! ! ! 心态崩了也就是,除了一开始(0,0) 然后是谁先到(0,0)谁赢!然后因为有横纵坐标(好像是不能又向上又向左移动)所以,不能叠加考虑,在基本上赛况都是控制在先手手里,而又是智商在线,所以画图得结论:就基本这样?就记住那个位置可以控制全局就好然后遍出来那个,普遍结论 (x-y)%3==0牛牛必输很荣幸的告诉你这样还不够,如果是pyth原创 2021-04-02 13:44:31 · 136 阅读 · 0 评论 -
牛客小白月赛30 G 滑板比赛
G这一题和科林明伦杯的赛马题型一模一样然后我就把那题代码复制改了个输入程序员的本质就是懒思路: 就是都先排序,找到一个最大的,到隔壁去找有没有比这个小的,有把那个数删除,然后赢的次数加一,再一直重复def f(b,an2): aa=[0] for k in range(len(an2),0,-1): if b>an2[k-1]: an2.pop() # print('a') aa=[1原创 2021-03-30 20:34:10 · 163 阅读 · 0 评论 -
中国计量大学现代科技学院第四届“中竞杯”程序设计校赛 H变换
H思路:倒着想,N为奇数就减一,再除以2,再判断奇偶,偶数就直接除以2难在python 的输入格式,想了好一会,一个可以用list(open(0)) 不过这个在编译器上看不到效果,毕竟是直接打开文件夹,在就是用错误调试while True: try: a = int(input()) ans = 0 while (a != 1): if (a % 2): ans += 1原创 2021-03-24 16:53:46 · 101 阅读 · 0 评论 -
吉林大学ACM集训队选拔赛(重现赛)F EndAs GPA python
好难,就A了签到,其他…签到,按照公式写,注意那个精度问题然后其实那个判断,ans>3.99就这一个就可以过,因为pn的和最终为1,那么按照这个为比例算分,最大的值也只有4n = int(input())an = list(map(int, input().split()))pn = list(map(int, input().split()))res=0for i in range(n): res+=an[i]*pn[i]/100ans=res*0.04if ans&g.原创 2021-03-24 16:42:11 · 236 阅读 · 0 评论 -
第十七届浙大城市学院程序设计竞赛 C Sumo and Virus python
C并查集,还没有完全吃透理下思路:病毒是按天走的(每个人的天),所以有一个列表记录每天患病的人数(包括潜伏和感染期)然后传染的人数由变量决定,影响因素有:传染期人数,未感染剩余人,然后每次加到固定第一天的位置,然后再按天走,因为14天以后就没关系了,所以列表15就够了,在以后不用管for _ in range(int(input())): an=[0]*15 #14天为一个周期,超过了有抗体,不用管 res=0 #结果 x,m,n=map(int,input().split原创 2021-03-24 10:27:30 · 94 阅读 · 0 评论 -
第十七届浙大城市学院程序设计竞赛 F Sumo and Luxury Car
F题意: 一个人有好多车,每天纠结开哪辆车(高级凡尔赛)先挑几辆车组成一个车队,然后他在里面选一辆自己开思路: 车队只有一辆车 N种可能,车队有两辆车(排列组合的可能)在乘以 2 ,一直加到车队有所有N辆车,1种组合,他再选一辆,N种化简,或者换个思路,就是,他一定有一辆开的车,即N-1 里面排列组合成为车队的所有可能,为2n 再乘以Nmd = 1000000000 + 7for _ in range(int(input())): n = int(input()) ans =原创 2021-03-23 19:26:55 · 95 阅读 · 0 评论 -
第十七届浙大城市学院程序设计竞赛 L Sumo and Coins python
L题意 有N个硬币,每次可以将N-1个硬币翻面,可以翻面无数次,最后结果若全朝上,输出UP,若全朝下,DOWN,若都可以出结果,ALL,若都不可以为NULL思路 打表找规律,若N为偶数,则为ALL,若a为奇数为UP,b 为奇数为DOWN然后!!!很生气的是!有没有这个AND对结果有什么影响???for _ in range(int(input())): n,a,b=map(int,input().split()) if n==1: if a==1:原创 2021-03-23 16:36:13 · 134 阅读 · 0 评论 -
2021年度训练联盟热身训练赛第三场 B Diagonal Cut Python
B就是分巧克力蛋糕,然后想吃巧克力然后,对半从左上角到右下角,然后刚好对半切出来的巧克力,两个人平分吃了,问最后两个人一共吃了夺嫂块巧克力思路: 若是正方形,那么巧克力数就是边长,若是正方形,求最大公约数import mathM, N = map(int, (input().split()))if M == N: print(M)else: p = math.gcd(M, N) m = M // p n = N // p if m % 2 != 0原创 2021-03-22 10:33:53 · 204 阅读 · 0 评论 -
第十八届浙大城市学院程序设计竞赛J--K-clearing python
J题意: 给的一串数组内,有和K相同的值则所有数减一,形成的列表若还有等于K的数,再全减一,直到没有为止,输出。(最小减到 0)思路: 统计从K开始的连续加一的数,每种有几个,比如例1有5个,例2只有1个。a,k = map(int,input().split())lst = list(map(int,input().split()))n = 0l = []for item in lst: l.append(item)# print(l)l = list(set(l))#原创 2021-03-22 10:23:11 · 140 阅读 · 0 评论 -
2021年度训练联盟热身训练赛第二场 ABCDGJ
滴 A Binarize ItB g2g c u l8rC Tip to be PalindromeD Soccer StandingsE NIH BudgetF Interstellar LoveG Plate SpinningH The Eternal Quest for CaffeineI Pegasus Circle ShortcutJ Lowest Common AncestorA Binarize ItA咱也不敢说,这不就是求大于等于这个数的最小2的倍数?打表也可以,然后算到那个2也原创 2021-03-17 10:59:23 · 729 阅读 · 1 评论 -
D Campaign 这是一个问题
D CampaignD这是一个没有解决的问题不要看这个代码 暂时的思路 只过了50for _ in range (int(input())): n=int(input()) cn=[] sn=[] for i in range(7): c,s=map(int,input().split()) cn.append(c) sn.append(s) # print(cn,sn) sn=list(zip(*s原创 2021-03-14 10:53:22 · 145 阅读 · 0 评论 -
第十五届浙江大学宁波理工学院程序设计大赛 python
第十五届浙江大学宁波理工学院程序设计大赛 A StarCraftB Fibonacci and CountingE Build PylonsH Protoss and ZergI Race SortingJ CarrierK Technology Tree星际争霸的世界A StarCraftA。。。。。。x=int(input())print(x+1998)B Fibonacci and CountingB诚恳的讲,我题目都没看过,但是属于还好做的范畴,谁知 有个小机灵,发现了输原创 2021-03-14 10:44:49 · 420 阅读 · 0 评论 -
西南民族大学第十二届程序设计竞赛BCDFGIJ--PYTHON
西南民族大学第十二届程序设计竞赛BCDFGIJ西南民族大学第十二届程序设计竞赛目录B我是科学家C最长的最短路D爱偷懒的小明F Easy problemG 阴阳怪气的宿舍I 矩阵运算J X_X的自信B我是科学家B这题看似一道生物题吼,实则半毛钱关系都没有就是4的n~m次的等比求和 再取1000000007的模当然,如果你就简单的用求和公式 再取模 恭喜你,超时就简简单单介绍一个 POW 函数n,m=map(int,input().split())c=0for i in range(n原创 2021-03-10 10:25:40 · 251 阅读 · 0 评论 -
第十七届中国计量大学程序设计竞赛C Cook Steak
第十七届中国计量大学程序设计竞赛C Cook SteakC题意: 就是煎牛排 ,几步工序,按序完成,提高或者减低一度温度要1 (min),完成一道工序要1(min),问所有完成要多少时间输入解释一下,就是第三个(两个数的输入)表示温度区间,在这个区间或者等于边界值的都是可以的思路这个就是判断温度在不在里面,上加还是下降,没什么技巧就是超级容易超时上面是没化简的思路for _ in range(int(input())): n=int(input()) t=0 fo原创 2021-03-09 11:40:37 · 205 阅读 · 0 评论 -
第十七届中国计量大学程序设计竞赛B Broken Pad ---python
第十七届中国计量大学程序设计竞赛B Broken PadB**题意:**油腻的叔叔在打牌,胖宅男在吃饭…咳就是输入两个数组,一个a,一个b,问点击哪几个位置可以将a变成比b,要求点击最少次。**PS:**点击的是位置不是下标,点击0就全部清零,而点击对应位置则该位置及以后的数全都取反。英语好的麻烦自己读题,就都这个题目,废了老大鼻子的劲。思路: c++的没看懂 python做的话基本思路就是异或,然后按位取反,但是真的每次都按位取反输出内存会爆,所以记录一个变量bool,在奇数次翻转时,a原创 2021-03-09 11:08:20 · 200 阅读 · 0 评论 -
“科林明伦杯”哈尔滨理工大学第十届程序设计竞赛 E 赛马 python
“科林明伦杯”哈尔滨理工大学第十届程序设计竞赛 E 赛马 pythonE好家伙 田忌赛马真就 匹配就不解释了思路,主要咱不止一匹马 所以就最好的比 对方比这个数小的即可所以先排序 再选分最高的那个和对方比有比这个小的就赢的多一局 当然最后记得吧比过的对方的马给删除 不然容易重复比较def f(b,an2): aa=[0] for k in range(len(an2),0,-1): if b>an2[k-1]: an2.pop()原创 2021-03-07 20:25:12 · 348 阅读 · 1 评论 -
“科林明伦杯”哈尔滨理工大学第十届程序设计竞赛 F 三角形 python
“科林明伦杯”哈尔滨理工大学第十届程序设计竞赛 F 三角形F思路: 这里提一个概念是斐波那契数列 顺序如下:1,1,2,3,5,8,13,21,34,55,89,144和无穷大。这个数列从第3项开始,每一项都等于前两项之和而三角形成立的条件就是 两边之和大于第三边,要不成立 两边和不大即可而给出的n就是求和,或者再这两个求和之间 (那只需要让最后一个数再大一点就好 )然后因为运算怕爆掉,我就直接写了一个斐波那契数的生成函数斐波那契函数再进行求和 很巧妙的是 从第三个斐波那契数开始就是第一原创 2021-03-07 20:16:54 · 156 阅读 · 0 评论 -
第八届“图灵杯”I 买花 python
第八届“图灵杯”I 买花滴这题讲真 大写自豪 他们好像是暴力还是这么解的 我说有规律不听 嘿~被姐妹我做出来了k=天数 x=当天买花数 n=总花数每天买花是前一天的两倍 相当于2n通过一丢丢数学推算得出 x=n/(2k-1)那么只要x 是整数 就可以啦~(悲哀的是 他们通过的比我快 修炼不到家–丢人)代码如下```pythonfor _ in range(int(input())): n=int(input()) t=False for i in range(原创 2021-03-06 19:53:33 · 144 阅读 · 0 评论 -
第八届“图灵杯”D Seek the Joker I python
第八届“图灵杯”D Seek the Joker I滴滴高速呜呜呜 这题老套路了 记录我还单纯的童年 还有一开始的积极参与 我居然还天真的用random来决定抽牌数量。。。。。。言归正传思路这个有一个定理 巴什博奕(Bash Game):只有一堆 n 个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取 m 个。最后取光者得胜。若给出的 n 是 ( m + 1 ) 的倍数,则先手必败,否则先手必胜巴什博奕不过这题刚好反一下代码如下for _ in range(int(inp原创 2021-03-06 19:42:35 · 186 阅读 · 0 评论