杂题

NOI2013

向量内积

很有奥妙的题。暴力分很多,直接枚举有60,加个random_shuflle优化一下就有70了。

把n个向量写在一起变成一个n*d的矩阵,这个矩阵乘它的转置得到的矩阵第i行第j列就是第i个向量和第j个向量的内积,把这个矩阵跟全1矩阵比较即可知道有无解。

这样是个暴力的复杂度,用一些玄学的方式优化一下,随机一个n维向量和两个矩阵相乘,再比较。为了提高正确性要多随机几次。

这是mod2的情况下,mod3的情况下因为结果为0,1,2不能和全1矩阵比较,发现2^2=1^2=1(mod 3),那么把结果平方再比较。化化式子发现相当于每个向量变成d^2维的向量,bi*j=ai*aj。

矩阵游戏

暴力十进制矩阵快速幂,卡卡常说不定就过了。

更优美的做法,大力推一波式子,加等比数列求和加欧拉定理加快速幂就差不多了。

 

thupc2018

扫描二维码关注公众号,回复: 906600 查看本文章

太菜了网络赛只写了几道签到题,签到题都不会写没写完,要是以后改了再来补。

 

一直想写没写的几道题:

2961: 共点圆

cdq维护凸包,也是当时觉得好难啊。其实蛮好写的。至少比splay好写多了,但若是要强制在线我也没什么办法啊。

View Code

 

agc

001_d

读题读了好久,好久,好久。。。

相同的位置连边,要使得最后图联通,画图发现奇数的回文串只能伸出去一边,偶数的可以伸出去两边或一边,奇数的只能放两端,偶数的可以放中间或两端。

 

001_e

组合数水题吧。

 

001_f

长沙做过的原题我都不会,,真真是菜得没话说。。

原序列为a,设p[a[i]]=i,问题转换为使p数组字典序最小。操作转换为相邻两项的值的差的绝对值大于k即可交换。每个数向它后面不能交换的连边,即它们的先后顺序定下来了,再拓扑排序即可。发现这样会有多余的边。每个数只会向(a-k,a),(a,a+k),线段树维护区间位置最小值,每个数向后面第一个不能交换的连边即可。

 

猜你喜欢

转载自www.cnblogs.com/Achenchen/p/9053687.html