ZROI Day2 测试总结

考试时

一开始看错题了,先看的T2,既来之则安之吧,推了一下T2的一些性质,对于异或来讲最先想到的一些东西:
不进位加法;01Trie;以及前几天被wxq大佬虐的一场arc中巧妙利用了异或的性质,但把这些东西带进去会发现啥也不是…,然后就开始结合题目去思考,就感觉有背包那个味了,但是有个问题我不会去处理,当数字相同但位置不同这个条件我没有想好这么去搞,就仅仅推了一个简单的不加此条件的dp式子写在了本上。话说这种题目的第一档分不应该状压一下的吗??为什么直接上到dp一档分了呀

扭头去看第一题了,T1确实是要简单一点的吧,数麻花的数量,其实就是确定六个值,从而确定六个点,判断这六个点合不合法即可,最暴力的就六个点枚举呗,但显然没必要呀,根据一些点是可以确定另一点的,所以其实只需要枚举三个点就好了,这样就能确定整个麻花的形状,在枚举过程中我们直接判断合不合法,整体复杂度是 n 7 n^7 n7的,最起码10分是很好拿的

秉承着所有题都尽量先打低档分的信念,我看了第三题,根本看不懂,于是滚回第一题

进而再去思考我如何枚举少量的点数,然后我就发现枚举的三个点可以换成对角线上的三点,根据上一场以及之前的经验,我得通过预处理去找出来相对于一点而言,另外两点符合条件的方案数,所以我选择只去枚举中心点,预处理确定另外两点的合法数量,乘起来就是以其为中心点的麻花个数,这个的话就直接找一下以这一点往四个方向拓展出的最长线段,我没想出来怎么直接找出来,但是确实可以减少复杂度到 n 4 n^4 n4

第二题总不能也空着吧,最起码写个十分。。?然后就开始想,我可以多加一重循环来满足这个条件,令 f i , j , k f_{i,j,k} fi,j,k表示前 i i i个数字选 j j j个异或起来为 k k k的方案数,这样子就很好去转移了,但也只能止步于此,第二档分数由于 a i a_i ai比较小,我想能不能直接打表那样暴力的搞出来,用个组合数解决一下?但是推不出完全对的式子。

最后没办法孤注一掷攻第一题,到最后一个小时我突然发现我的代码的第四重循环貌似也可以通过预处理优化掉,但是我搞得上下左右太混淆了,让我当时自己陷进去,最后没有实现这个优化,我认为这个优化应该是可行的吧

考试后

自闭,题订不动,T2的20分就要FFT,T3又是个那样的变态式子,等把基础知识点搞会了再订正吧。。
望明天好运

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值