题目大意
给定一个\(W*H\)的方格矩阵。和\(n\)的小方格阵,每个覆盖了左下角为\(x_{i1},y_{i1}\),右上角为\(x_{i2},y_{i2}\)的方格。
每一步会等概率随机选择一个方格阵(包括被染色的),把它全部涂黑,问把\(W*H\)的方格矩阵全部涂黑的期望步数是多少? more >>
给定一个\(W*H\)的方格矩阵。和\(n\)的小方格阵,每个覆盖了左下角为\(x_{i1},y_{i1}\),右上角为\(x_{i2},y_{i2}\)的方格。
每一步会等概率随机选择一个方格阵(包括被染色的),把它全部涂黑,问把\(W*H\)的方格矩阵全部涂黑的期望步数是多少? more >>
有\(n\)个豆子排成一排,每个豆子有\(p_i\)的概率被选中.每次随机选一个豆子,将其放到最前面,每次操作的代价是该豆子前面豆子的个数,问在操作无限次后再操作一次,操作代价的期望是多少?
more >>给定一个\(n\)个节点的树,每个点有个权值\(b_i\),任选一条路径,路径上的点至少为\(2\)个。求\(max(\sum\frac{-x^2+b_kx}{v})\),其中\(b_k\)是路径上点的权值,\(v\)是路径上点的个数,\(x\)是任意一个自己选择的数。
more >>G准备玩\(n\)场游戏,它心中有个胜率\(x = \frac{a}{b}\),如果当前赢的局数 / 总局书 小于等于\(x\),那么他就会赢,否则它就会输。 给定\(a,b,n\),求他能赢多少局。 more >>
Python3.x版本默认使用UTF-8格式编码
在字符串前面加上'r',或者'R',表示后面的字符串不进行任何转义。 1
path = r'C:\windows\python.exe'
1 | print('%d %s' % (a, b)) |
'-' 指定左对齐 '+' 正数前面加+号 '.n' 指定精度 1
2>>>'%.2f' % 0。33333
0.33
基本语法是通过'{}',':'替换之前的'%' 1
2>>>'{:%}'.format(3.5)
'350.0000%'
1 | "{}{}".format('Hello', 'World') # 按默认位置 |
与format方法基本类似 1
2
3
4
5
6
7
8
9
10
11>>> name = 'Dong'
>>> age = 39
>>> f'My name is {name}, and I am {age} years old.'
'My name is Dong, and I am 39 years old.'
>>> width = 10
>>> precision = 4
>>> value = 11/3
>>> f'result:{value:{width}.{precision}}'# 可以指定宽度和精度
'result: 3.667'
1 | find(str,beg=0,end=len(str)) |
1 | split(str="", num=string.count(str))、rsplit(str="",num=string.count(str)) |
返回通过指定字符连接序列中元素后生成的新字符串。 1
2
3>>> li = ["apple","peach","banana","pear"]
>>> ','.join(li)
'apple,peach,banana,pear'
1 | >>> s = |
查找替换replace(old, new[, max]),类似于Word中的“全部替换”功能 * old -- 将被替换的子字符串 * new -- 新字符串,用于替换old子字符串 * max -- 可选字符串, 替换不超过 max 次
注意:返回的是一个新字符串 1
2
3
4
5
6>>> s ="中国,中国"
>>> print(s)
中国,中国
>>> s2 = s.replace("中国","中华人民共和国")
>>> print(s2)
中华人民共和国,中华人民共和国
字符串对象的maketrans()方法用来生成字符映射表,而translate()方法用来根据映射表中定义的对应关系转换字符串并替换其中的字符,使用这两个方法的组合可以同时处理多个字符。
1 | #创建映射表,将字符"abcdef123"一一对应地转换为"uvwxyz@#$" |
一些常用的全体字母,并实现凯撒加密 1
2
3
4
5
6lower = string.ascii_lowercase #小写字母
upper = string.ascii_uppercase #大写字母
before = string.ascii_letters
after = lower[k:] + lower[:k] + upper[k:] + upper[:k]
table =''.maketrans(before, after) #创建映射表
return s.translate(table)
1 | >>> s =" abc " |
注意,这三个函数的参数指定的字符串并不作为一个整体对待,而是在原字符串的两侧、右侧、左侧删除参数字符串中包含的所有字符 1
2>>> 'aabbccddeeeffg'.strip('gbaefcd')
''
s.startswith(t, beg=0,end=len(string))、s.endswith(t,beg=0,end=len(string)),判断字符串是否以指定字符串开始或结束 1
2
3
4
5
6
7>>> s = 'Beautiful is better than ugly.'
>>> s.startswith('Be') #检测整个字符串
True
>>> s.startswith('Be', 5) #指定检测范围起始位置
False
>>> s.startswith('Be', 0, 5) #指定检测范围起始和结束位置
True
isalnum()、isalpha()、isdigit()、isspace()、isupper()、islower(),用来测试字符串是否为数字或字母、是否为字母、是否为数字字符、是否为空白字符、是否为大写字母以及是否为小写字母。 1
2
3
4
5
6
7
8
9
10>>> '1234abcd'.isalnum()
True
>>> '1234abcd'.isalpha() #全部为英文字母时返回True
False
>>> '1234abcd'.isdigit() #全部为数字时返回True
False
>>> 'abcd'.isalpha()
True
>>> '1234.0'.isdigit()
False
center()、ljust()、rjust(),返回指定宽度的新字符串,原字符串居中、左对齐或右对齐出现在新字符串中,如果指定宽度大于字符串长度,则使用指定的字符(默认为空格)进行填充。 1
2
3
4
5
6
7
8>>> 'Hello world!'.center(20) #居中对齐,以空格进行填充
' Hello world! '
>>> 'Hello world!'.center(20,'=') #居中对齐,以字符=进行填充
'====Hello world!===='
>>> 'Hello world!'.ljust(20,'=') #左对齐
'Hello world!========'
>>> 'Hello world!'.rjust(20,'=') #右对齐
'========Hello world!'
生成新的字符串 1
2>>> 'hello ' + 'world'
'hello world'
成员判断,关键字in 1
2
3
4
5
6
7
8>>> "a" in "abcde" #测试一个字符中是否存在于另一个字符串中
True
>>> 'ab' in 'abcde'
True
>>> 'ac' in 'abcde' #关键字in左边的字符串作为一个整体对待
False
>>> "j" in "abcde"
False
Python字符串支持与整数的乘法运算,表示序列重复,也就是字符串内容的重复,得到新字符串 1
2>>> 'abcd' * 3
'abcdabcdabcd'
1 | >>> x = |
给定一个$n$节点的树,并且认定$1$号节点为根。初始时,所有节点都是未感染状态,而我们的任务是感染这颗树。
每一秒中,我们依次执行以下两个操作:
输出最少需要多长时间感染所有节点。
more >>有一个$n$个点的完全图,每个点上有$a_i$个饼干。我们可以任意选择一个点,让它给它每个相邻的节点分一个饼干,如果不够,那就无法执行此操作。
问我们是否可以一直进行此操作?如果不能,那就输出最终每个点剩余的饼干的数量(即所有点的饼干都不够$n-1$个)
more >>tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia-plus根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true