标签:python img 输出 split() inline == bisect print 一起
第一次尝试完全用 Python 答题
(然后发现了自己的垃圾
显然答案以 9 为循环节
exec(int(input())*"print((input()-1)%9+1);")
暴力即可
exec(int(input())*"s=input();print(‘NO‘ if sum([((i&1&(ord(s[i])%2))|(~i&1&~(ord(s[i])%2)))for i in range(len(s))]) else ‘YES‘);")
参见 CF1118C
def f():
n=int(input());D=list(map(int,input().split()));a=[[0]*20 for i in range(20)];C=[0]*1007;F=[];R=range((n+1)//2)
for i in D:C[i]+=1
for i in R:
for j in R:
if(i!=n-i-1)&(j!=n-j-1):F.append((4,(i,j)))
elif(i!=n-i-1)^(j!=n-j-1):F.append((2,(i,j)))
else:F.append((1,(i,j)))
for E in [4,2,1]:
L=1
for G in F:
if G[0]!=E:continue
while(L<1005)&(C[L]<E):L+=1
if L==1005:print("NO");return
i=G[1][0];j=G[1][1];a[i][j]=a[n-i-1][j]=a[i][n-j-1]=a[n-i-1][n-j-1]=L;C[L]-=E
print("YES")
for i in range(n):print(*a[i][:n])
exec(int(input())*"f();")
利用 bisect 模块即可
注意输出要一起输出,如果边操作变输出就会 T 掉(原因未知)
from bisect import bisect,insort
I=input;T=int(I())
for _ in range(T):
a=[-1];b=[];q=int(I())
for i in range(q):
x,y=map(int,I().split())
if x<2:insort(a,y)
else:
z=bisect(a,y)-1;b+=[a[z]]
if a[z]>0:del a[z]
for i in b:print(i)
显然我们可以给出一个 \(O(m)\) 的拉格朗日插值,做 \(k\) 次,总复杂度 \(O(mk)\)
当然也可以写多项式多点求值
翻译成 python 后的插值至今未调出来
第一次参加短码竞赛,策略不当
以及不知道 from xx import *
这种操作导致的懵逼
标签:python img 输出 split() inline == bisect print 一起
原文地址:https://www.cnblogs.com/mollnn/p/12686478.html