2020年12月
2020年12月-1 期末预测之安全指数
题目链接:
http://118.190.20.162/view.page?gpid=T123
代码:
n = int(input())
sum_s = 0
for i in range(n):
w,score = map(int,input().split())
sum_s += (w*score)
if sum_s < 0:
print(0)
else:
print(sum_s)
2020年12月-2 期末预测之最佳阈值
题目链接:
http://118.190.20.162/view.page?gpid=T122
70分代码 也不知道哪里不对?😭:
m = int(input())
info = {}
keys = []
for i in range(m):
y,result = map(int,input().split())
if y not in keys:
keys.append(y)
info[y] = [0,0]
if result == 0:
info[y][0] += 1
else:
info[y][1] += 1
keys = sorted(keys)
#正反遍历两次求解 前缀和
info_0 = []
count = 0
for i in range(len(keys)):
count += info[keys[i-1]][0]
info_0.append(count)
#反向遍历
info_1 = []
count = 0
for j in range(len(keys)-1,-1,-1):
count += info[keys[j]][1]
info_1.append(count)
info_1 = info_1[::-1]
max = 0
k = -1
for i in range(len(keys)):
count = info_0[i]+info_1[i]
if count >= max:
max = count
k = i
print(keys[k])
易错点或需记忆点:
前缀和、前缀和数组
普通想法代码 — 60分(不知道哪里出了问题??):
思路是在接受数据同时进行处理,分成结果为0和为1的数组并按从小到大排序,统计每个数据结果为0数组中比它小的个数加上为1数组中比它大的个数,找到最大的那个作为θ。
m = int(input())
max_c = 0
res = 0
temp_xita = set()
r_0 = []
r_1 = []
for i in range(m):
y,result = map(int,input().split())
temp_xita.add(y)
if result == 0:
r_0.append(y)
else:
r_1.append(y)
r_0 = sorted(r_0)
r_1 = sorted(r_1)
temp_xita = list(temp_xita)
for i in range(len(temp_xita)):
num = 0
#在 r_0 中找出小于θ的个数
for j in range(len(r_0)):
if r_0[j] < temp_xita[i]:
num += 1
else:
break
#在 r_1 中找出大于等于θ的个数
k = 0
for j in range(len(r_1)):
if r_1[j] < temp_xita[i]:
k += 1
else:
break
num += (len(r_1) - k)
# print(temp_xita[i],' ',num)
if num >= max_c:
max_c = num
res = temp_xita[i]
print(res)
2020年12月-3 带配额的文件系统
题目链接:
http://118.190.20.162/view.page?gpid=T121
代码:
在这里插入代码片
易错点或需记忆点:
2020年09月
2020年09月-1 称检测点查询
题目链接:
http://118.190.20.162/view.page?gpid=T113
代码:
n,X,Y = map(int,input().split())
l = {}
for i in range(n):
x,y = map(int,input().split())
d = pow((X-x),2) + pow((Y-y),2)
l[i] = d
l = sorted(l.items(),key=lambda x:x[1])
for i in range(3):
print(l[i][0]+1)
易错点或需记忆点:
字典根据key和value排序,一定要记住呀!
2020年09月-2 风险人群筛查
题目链接:
http://118.190.20.162/view.page?gpid=T112
代码:
n,k,t,xl,yd,xr,yu = map(int,input().split())
info = []
total = 0
total_j = 0
for i in range(n):
count = 0
l = list(map(int,input().split()))
tag = 0
for j in range(0,len(l),2):
if l[j]>=xl and l[j]<=xr and l[j+1]>=yd and l[j+1]<=yu:
count += 1
tag = 1
if count >= k:
total += 1
break
else:
count = 0
if tag == 1:
total_j += 1
print(total_j)
print(total)
易错点或需记忆点:
2020年09月-3 点亮数字人生
题目链接:
http://118.190.20.162/view.page?gpid=T111
代码:
在这里插入代码片
易错点或需记忆点:
2020年03月
2020年03月-1 线性分类器
题目链接:
http://118.190.20.162/view.page?gpid=T105
代码:
n,m = map(int,input().split())
info = []
for i in range(n):
t = input().split()
info.append([int(t[0]), int(t[1]),t[2]])
query = []
for i in range(m):
a,b,c = map(int,input().split())
tag_gt = -1
tag_lt = -1
tag = -1
for j in range(len(info)):
if a + b*info[j][0] + c*info[j][1] >= 0:
if tag_gt == -1:
tag_gt = info[j][2]
tag_lt = 'B' if tag_gt=='A' else 'A'
if tag_gt != info[j][2]:
print('No')
tag = 0
break
else:
if tag_lt == -1:
tag_lt = info[j][2]
tag_gt = 'A' if tag_lt == 'B' else 'B'
if tag_lt != info[j][2]:
print('No')
tag = 0
break
if tag == -1:
print('Yes')
易错点或需记忆点:
2020年03月-2 稀疏向量
题目链接:
http://118.190.20.162/view.page?gpid=T104
代码:
n,a,b = map(int,input().split())
u = {}
v = {}
for i in range(a):
index,value = map(int,input().split())
u[index] = value
for i in range(b):
index, value = map(int, input().split())
v[index] = value
ans = 0
for key in u.keys():
if key in v:
ans += u[key]*v[key]
print(ans)
易错点或需记忆点:
2020年03月-3 Markdown渲染器
题目链接:
http://118.190.20.162/view.page?gpid=T103
代码:
在这里插入代码片