2018年7月31日暑假训练日记

来了之后去给学弟学妹讲了一下逆元,顺便复习了一下中国剩余定理的结论使用,书上代码太过简单,所以手动打代码翻译了一遍

MZL's xor:

求一个序列的所有的(a[i]+a[j])的异或和。

对(a[i]+a[j])xor(a[j]+a[i])xor......

由于a[i]xora[i]=a[j]xora[j]=0,

因此原序列变成了2a[i]xora[j]xor......

以此类推,得到水题一枚

MZL's chemistry

根据电离能打表的一个题目

MZL's endless loop

这个题目就是给一个无向图变成一个有向图,使得所有节点的入度和出度之差小于1,暴搜题目,在图上不断的寻找欧拉路即可,技巧在于删边优化,被标记过的边就把他的指针指向下一个位置即可,注意下一个节点的状态不能和这个方向相违背

MZL's Border

JAVA大数的规律题目

MZL's simple problem

Muilt-set基本操作,据说题解做法更水...

数位dp:

因为窑子退役的原因一直在补dp,最少先都了解一下,数位dp与其说是个dp不如说是记忆化化的暴搜,由于是找区间里满足某种条件的数的个数,所以枚举每一位对下一位的关系并用dp[][]数组记录上一位无约束的某种状态,达到加速的目的

HDU 2089 数位dp入门

就是状态比较少的一个数位dp,二维记录没限制的情况下上一位是否为6的方案数

HDU 4734 数位dp

求比f(a)小的方案数字

这里用减法记录第二位,同样是枚举

POJ 3252 数位dp

多了个前导零的记录,有前导零在添加0的时候方案数不变

数位dp感觉就是一类套路题,难点在于细节处理,还是得在见识一些题目

 

猜你喜欢

转载自blog.csdn.net/m0_37772713/article/details/81319626