闲言:今天是4.2,比赛时间4.12.好了可以开始学了,十天倒计时。
买个ipad差点被骗了,时间成本也是成本啊。算了,这方面先不想了。
做了一下14届的A组python。确实不是盖的,大部分都是动态规划的
三道题
allsum=20230610
num=1
nowsum=1
while allsum-nowsum > 0:
allsum-=nowsum
num+=1
nowsum+=num
print(num)codestr=input()
ak=[]
ok=1
for i in range(0,27): ak.append(0)
for i in codestr:
ak[ord(i)-ord('a')]+=1
for i in range(0,27):
if(ak[i]%2==1):
ok=0
break
if(ok):print("YES")
else:print("NO")n=int(input())
outtxt=[]
use=set()
for i in range(n):
N,M=map(int,input().split(" "))
ak=[]
ok=1
for j in range(M):
tag=0
nownums=list(map(int,input().split(" ")))
if(ok==0):
continue
innum=nownums[tag];tag+=1
insum=0
for k in range(innum):
a=nownums[tag];tag+=1
b=nownums[tag];tag+=1
if(a==b and a==-1):
insum=-1
elif(a<j and b<len(ak[a])):
if(insum!=-1):
if((a,b)in use):
ok=0
else:
use.add((a,b))
insum+=ak[a][b]
else:
ok =0
# print(f"可能用了没发生的数据 a:{a} b:{b}")
break
if(ok==0):
continue
#print(f"输入了{insum}元")
outnum=nownums[tag];tag+=1
outsum=0
ac=[]
for f in range(outnum):
a=nownums[tag];tag+=1
b=nownums[tag];tag+=1
if(a<N):
outsum+=b
ac.append(b)
else:
ok=0
continue
if(insum!=-1 and outsum!=insum)or ok==0:
ok=0
#print(f"输出了{outsum}元")
continue
#print(f"输出了{outsum}元")
ak.append(ac)
if(ok==0):
print("NO")
# outtxt.append("NO")
continue
# outtxt.append("YES")
print("YES")第三道题,不知道问题出现在哪里,好吧,动态要好好看看了,理论上不应该的啊啊啊