自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 2021年浙大城市学院新生程序设计竞赛

快速幂

2022-03-07 22:38:00 694

原创 ++i ,i++

sososo简单 只是记录一种输入#include<iostream>using namespace std;int main(){ int s=0,i=0,n; cin >>n; while (n--) s += ++i; cout <<s; return 0;} s1 +=i1++;----> s1+=i1;i1+=1; s2+=++i2;-----> i2+=1;s2+=i2;...

2021-08-27 22:58:11 133

原创 c++ double 作用域 eg 洛谷1035级数求和

结论:1、加一个数到double 类型的值里面,1/n,麻烦改成1.0!!!!2、作用域,在循环内定义的数据类型,只在循环内输出,想循环结束输出该值的话,要定义在循环外上题:1035题目不难,但是是暴力循环求解1+1/2+1/3+…+1/n 可以数列错位相减求和(不过还没试)#include<bits/stdc++.h>using namespace std;int main(){ int k,i=0; cin>>k; for (double

2021-08-24 22:02:07 209

原创 “深圳计算科研院杯“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 344

原创 第19届上海大学程序设计联赛春季赛E Compute‘s Collection

C本来不准备说题意的,但是我的小伙伴说题目读不懂…其实就是,这个小朋友有一推卡片,每张卡片的满意度就是给出的数字(这个是文字游戏,题目说对i张卡片的满意度是i,但是输入哪里是第i天拿ai卡片,这个i和前面的i指代的不是一个东西,满意度是ai对应的值而不是第几天,,,,这让我很怀疑他们的语文)然后,小朋友只想要不一样的卡片,所以他把一样的挑出来给妈妈(们??)但是 妈妈拿卡片是有要求的,小盆友要一次拿三张卡片出来,妈妈拿走最大和最小的所以小盆友要准备好顺序,但是 当不要卡片的数量是奇数时,就要

2021-04-22 17:06:26 240 2

原创 HTML基础格式--标题段落换行P1-17

web标准结构 表现 行为标签的书写规范语法规范HTML页面也叫HTML文档骨架简体中文 繁体中文 简繁标签标签–让结构更加清晰HTML中有六个等级的网页标题 标签换行代码内的格式2.换行标识换行–单标签...

2021-04-22 14:28:21 211

原创 牛客小白月赛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 455

原创 小白月赛26-牛牛爱学习

二分查找要读的天数t,最少读一天,最多读n天,所以在1~n里面二分规定,要在t天里面读完这些书,那么就均分,先分每一天的第一本,即不减知识点的情况,再还有书多就分每天的第二本,(PS:若算出来知识点是负的就加0)以此类推。直接按照知识点加,若加到负数就开辟新的一天(判断知识点数够不够,若是够了就可以停了)--------------这样就导致了一开始纠结的,全局最大...

2021-04-08 19:37:59 77

原创 小白月赛25 G解方程

G这题硬要解方程好像也可以,但是代码不好实现,然后据说还有一种做法是牛顿迭代的公式,在类似循环找答案。思路:用二分查找,首先先带特殊值,1,然后会发现这个答案最小就是1,左边是递增数列,基于此可以知道1<=x<=c,然后既然确定了答案范围就可以用二分去做(因为是求解,算出来是小事,不是整数)(不知道为什么小于c就多带特殊值)这么一看好像挺简单对不对,但是单纯直接二分超时,然后我就在想为什么。。。。看他们都是有限制条件的,但是这个条件这么来的呢?然后我就试,发现当二分到一定次数的时

2021-04-08 15:38:45 118

原创 康托展开

这又是放收藏里面的坑具体解释,建议看百度百科,挺详细的----康托展开再,个人理解:就是分成展开值和展开逆运算:展开值X是再给1~n个数的随机组合中,第X大的数,即再这个数前面还有X-1个数。运算数组:1 2 3 4 5组合: 3 4 1 5 2展开值:2 * 4 !+2 * 3!+0* 2!+1*1!+0 * 0!=61该组合就排在第62位其中,阶层第一个是(总个数-1)的阶层然后递减然后乘号前面那个数:是该数对应位置那个数,在组合里面,在这个数后面比他小的数的个数eg: 3后面

2021-04-06 10:28:24 113

原创 小白月赛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 137

原创 堆排列---python

完全二叉树的规律大小根堆堆排序完全二叉树的规律完全二叉树:然后,统一一下称呼,往右走的数叫右孩子,往左走叫左孩子,他就是父,即2是1 的右孩子,同理3是1的左孩子,1就是2和3的父再假设将这些数存在列表里边,1的下标是0,那么他的右孩子是2再假设一个数的下标是i,那么他的右孩子是i * 2+2,左孩子是 i * 2+1,父就是(i-1)/2若第一个数下标是1:设这个数下标是i,左孩子下标为2i,右孩子为2i+1,父为i/2每一行有2n-1 个数大小根堆(上网找图的时候发现了这个–&.

2021-04-05 10:48:00 115

原创 codeforces 2017 JUST Programming Contest B Array Reconstructing

B题意:准确的意思就是给的一串数,不清楚的为-1,清楚的那个数,每前面一个是这个数减一,后一个是加一。且是按照0到m-1的一次次循环 (PS: 开头的数不一定确定,也可能是-1 (我一开始一直做不出来就是因为那个 1<i <=n,以为第一个数一定有赋值,却忽视了,要i不大于一,怎么i-1!!!)思路:其实方法挺多的吧。 1.根据数遍历,找到第一个被赋值的数,然后再这个数前面减一,到0以后回复m-1,后面的数加一%m 2. 也是找到第一个被赋值的数,然后推出第一个数是多少,然后按位

2021-04-02 19:43:43 164 2

原创 牛客小白月赛28B牛牛和牛可乐的赌约2

B这题真的就是一个迷我一直想着先到达(0,0)的牛输,也就是踩到3,6的牛必输,结果好久好久以后,被告知,是挪到(0,0)后不能移动的牛输 ! ! ! 心态崩了也就是,除了一开始(0,0) 然后是谁先到(0,0)谁赢!然后因为有横纵坐标(好像是不能又向上又向左移动)所以,不能叠加考虑,在基本上赛况都是控制在先手手里,而又是智商在线,所以画图得结论:就基本这样?就记住那个位置可以控制全局就好然后遍出来那个,普遍结论 (x-y)%3==0牛牛必输很荣幸的告诉你这样还不够,如果是pyth

2021-04-02 13:44:31 113

原创 CSDN 使用说明

!https://editor.csdn.net/md/?articleId=114451491

2021-04-01 16:21:00 97

原创 牛客小白月赛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 136

原创 codeforces1498 B - Box Fitting python

b题意: 有一个宽为W的大箱子,和N个宽不一的小箱子,将小箱子都放到大箱子里面,边上可以有空隙,问最低叠放多少层(默认高度一样)思路:1.先排序,再在选最大的小箱子,在取剩余宽度,在剩余列表中找有没有剩余宽度的箱子。要循环判断剩余空间2.队列优先,也是先排序,在最大的放一格,取第二大,看可不可以加到第一格,若不可以再开一格,若可以,则放到第一个,然后要记得加了以后要删去,最后统计有几个格子就是高度判断这个是可以加到哪一格还是新建一格代码执行的时候一直碰到这个问题,晕不行,后来吧所

2021-03-30 20:12:56 238 4

原创 leetcode 1046. Last Stone Weight python

1046题意: 找出数列中最大的两个值且删除,大减小,若不为零则加入到数组,若为0则都删除class Solution: def lastStoneWeight(self, stones: List[int]) -> int: while len(stones) > 1: stones.sort() m = stones[-1] - stones[-2] ston

2021-03-29 10:31:07 130 2

原创 中国计量大学现代科技学院第四届“中竞杯”程序设计校赛 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 79

原创 吉林大学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 208

原创 第十七届浙大城市学院程序设计竞赛 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 84

原创 第十七届浙大城市学院程序设计竞赛 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 88

原创 第十七届浙大城市学院程序设计竞赛 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 109

原创 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 178

原创 第十八届浙大城市学院程序设计竞赛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 134

原创 codeforces1492 C. Maximum width python

C题意思路: 一次从前遍历到最后,找到每一个字符最早出现的位置,一次从后往前遍历,找到每个字符最后出现的位置 然后,从后遍历的第i+1个字符的位置-从前遍历第i个字符的位置,就是相邻两个最大的宽,然后持续更新。PS 结合使用n,m=map(int,input().split())s=input()t=input()a=[]ans=0i=-1for x in t[:-1]:#反着遍历一遍 i=s.find(x,i+1) a+=[i]i=nfor x in t[

2021-03-18 11:51:52 120

原创 codeforces1492 D. Genius‘s Gambit python

D越来越觉得就是找规律啦~听说这是俄罗斯中小学生比赛…原来我还是一个孩子呀 真棒回归记录题意: 有a个0 b个1 组成X Y使得X-Y的值有K个1 (均为二进制)思路: 首先 要会二进制加减 然后会发现要几个1 再 1 0给的个数够用的情况下,是很简单的,只要确定K个数的排排,然后保证其他相等就好了。(爷累了,好难码字清楚)思路这是一位大佬详解就是我大概思路也是这个样子,不过实现有所不同就 除了题目所限制的情况外都是可的再分0个数是否够 且开头必须是10 够的情况下就照上不够:

2021-03-18 10:11:17 100

原创 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 568 1

原创 codeforces A. Common Subsequence python

C1这题不要特别注意输出,最首页有一个通知就是,有多种答案任意一个都可以所以只要保证第一行变成第二行,然后改变的次数是长度的3倍以内,然后每次选中(输出)长度的数按位取反然后反转。思路: 我的思路是从最后面开始,要是相同不管,不同则记录不同的个数,然后全部取反,再个数取反,再全部取反,刚好3次,所以也可以一个字母一个字母比,次数也刚好够for _ in range(int(input())): n=int(input()) a=input() b=input()

2021-03-16 20:02:36 96

原创 codeforces B. Sequential Nim python

B题意: N堆石子,两个人,轮流按顺序拿,每次拿最少一个,最多一堆,最后拿不到石子的人输,输出赢的人(第一个,第二个)思路: 一开始以为是尼姆博弈,但发现不是很一样,尼姆是任意取哪一堆石子,这个是要按顺序(其实就是要另找规律),简单了一点规律: 看开头1的个数,要是是奇数个,1必输,其他情况都是1赢(就是占据主导地位的人赢,而中间出现1 无论几个1都可以再上一个数选择全拿或者留一个来控制局面)for _ in range(int(input())): n=int(input())

2021-03-16 15:53:23 93

原创 2018浙江省省赛---ZOJ4024-4036

PeakKing of KaraokeCONTINUE...?Lucky 7Peak4024题意 找到这里面是否有一个数K,在K前面都是递增,后面都是递减思路 遍历 判断#找一个K位置,这个位置前都是递增,这个位置后都是递减for _ in range(int(input())): n=int(input()) an=list(map(int,input().split())) ai=an[0] f=2 for i in an[1:] : .

2021-03-14 20:44:01 142

原创 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 139

原创 第十五届浙江大学宁波理工学院程序设计大赛 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 271

原创 西南民族大学第十二届程序设计竞赛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 241

原创 第十七届中国计量大学程序设计竞赛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 198

原创 第十七届中国计量大学程序设计竞赛B Broken Pad ---python

第十七届中国计量大学程序设计竞赛B Broken PadB**题意:**油腻的叔叔在打牌,胖宅男在吃饭…咳就是输入两个数组,一个a,一个b,问点击哪几个位置可以将a变成比b,要求点击最少次。**PS:**点击的是位置不是下标,点击0就全部清零,而点击对应位置则该位置及以后的数全都取反。英语好的麻烦自己读题,就都这个题目,废了老大鼻子的劲。思路: c++的没看懂 python做的话基本思路就是异或,然后按位取反,但是真的每次都按位取反输出内存会爆,所以记录一个变量bool,在奇数次翻转时,a

2021-03-09 11:08:20 170

原创 “科林明伦杯”哈尔滨理工大学第十届程序设计竞赛 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 319 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 148

原创 斐波纳契生成函数

斐波纳契生成函数def f(n): a,b=0,1 res=[] for i in range(0,n): a,b=b,a+b res.append(a) return res

2021-03-07 14:55:08 175

原创 CodeForces - 1472E- Correct Placement -python

CodeForces - 1472E- Correct PlacementE题意题目说的是朋友 我个人觉得转换成矩形更好形容有n 个矩形 对于每个矩形可以将它横着放或者竖着放 问能否找到另一个矩形J能够放在 i 前面并且不将 i 遮挡(i的高宽都要有剩余) 如果有的话输出符合条件的矩形的编号 否则输出-1解题思路理解的话好像不难想 我个人觉得难在 将其用代码表示出来就 找到一个比这个矩形长宽都小的矩形 先将h w比较大小 将小的放在前面(这样小的和小的比不容易出错)然后 再加上序号存到新的列

2021-03-07 11:38:40 125

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除