今天学习2020noip
中午十二点上楼学习了,发现noip2020的排水系统和noip2003的神经网络几乎一致,觉得可做,于是开始做
本题需要:链式前向星,分数加减乘除,高精度,拓扑。
2003题需要:链式前向星,拓扑。
转眼间已经17:18了
排水系统在我的不懈努力之下获得了60分,注意lld,写代码千万不要笔误啊,在分数除法的函数里面f1,f2写混了,导致我dbug耗费了至少1h,剩下40分被卡的原因是需要高精度,建议自己养成一个只写long long 不写int,在数据范围不确定的情况下有时间就写高精度的习惯。
本体收获:复习了拓扑及对拓扑的理解更深刻了。学习了如何写分数加减乘除。
由于写这道题的目的不是复习高精度,所以为了效率,开始写下一道题。
noip2020字符串匹配
看到题时第一思路:
将AB看作一个整体,枚举AB与C的分隔点。
记录c出现奇数次的字符个数,求AB字符串的自身前后缀相等的情况,再在每种情况内分割AB,当A中出现奇数次的字符的个数不超过C中的,记录为一种方案。
保守估计的话复杂度Tn^4,勉强可过24分。
需要的知识点:kmp。
哦哦,发现他有特殊数据
特殊数据1:
和暴力思路大体一致,省去了kmp,即不需要对于S的重复子串进行计算,n^2可过,总分+8.
特殊数据二没想出来啊。
理论存在,暴力开始(乐)
一些常识:
2^15==32768
` 2^16==65536
2^20==1048576
果然不写代码不行啊,发现自己不知道怎么写出现奇数次的字符的个数?