NOI2013

Day1:

  矩阵游戏:

    矩阵乘法。

    构造两个转移矩阵,一个从f[i][j]转移到f[i][j+1],一个从f[i][m]转移到f[i+1][1],然后快速幂矩阵乘法就好了。

    注意这题要使用十进制快速幂,免去写高精度的麻烦,也加快了速度。

    十进制快速幂要维护当前位应该乘的对应从0到9的矩阵,所以自带10的常树,数据范围较小的时候不推荐使用。

  书法家:

    长见识了,听说这叫写字型DP。

    根据题目描述,我们发现可以把”NOI“从左到右分成11个部分,于是就可以按列DP了:

      设f[col][up][down][type]代表当前做到col列,第col列上界为up下界为down且属于第type个部分。

    具体转移可以参考我的代码,或者maijing的博客:http://www.cnblogs.com/maijing/p/4686399.html

Day2:

  向量内积:

    这题解法简直杂技。

    一些杂技:

      1.我们将n个d维向量用一个n*d的矩阵A存储,然后第i个向量和第j个向量的点积就是A*AT(即A的转置)的第i行第j列上的值。

      2.判断两个矩阵A,B是否完全相同,假设是两个n*n的矩阵,我们有一种不靠谱但是可以用的写法:随机1*n的矩阵x,看x*A是否等于x*B。

      3.因为矩阵乘法具有结合律,所以我们可以通过结合来减少复杂度。

    详解可以见这个博客:http://www.cnblogs.com/Randolph87/p/3788313.html

  树的计数:

    树的dfs序和bfs序有一些神奇的关联,值得研究。

    可这题我也说不清楚啊...去看ydc的blog吧:http://ydcydcy1.blog.163.com/blog/static/216089040201361564925276/

posted @   iamCYY  阅读(222)  评论(0编辑  收藏  举报
编辑推荐:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
阅读排行:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
点击右上角即可分享
微信分享提示