2021.10.25

    今天学习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

    果然不写代码不行啊,发现自己不知道怎么写出现奇数次的字符的个数?

上一篇:NOIP2020 字符串匹配


下一篇:1606A - AB Balance(构造性算法+字符串+级)