ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2021.10.05pm

2021-10-07 19:35:03  阅读:144  来源: 互联网

标签:2021.10 sum 矩阵 fa 05pm blacktriangle 互质 dp


2021.10.05PM

预期 实际
A 100 100
B 0 0
C 10 0
S 110 100

数学自信爆零人

A [HNOI2011] 数学作业 \(\blacktriangle\!\blacktriangledown\)

  1. 属于是非常离谱一道题。
  2. 从数据范围看出两点:要开unsigned long long,要 \(O(\log n)\) 的算法。
  3. 而每个数之间是有一定递推关系的。对于K位数的情况(一位数,两位数···),显然有 \(A_{i+1}=A_i*10^{k}+i+1\),而联想到对时间的要求那就得用矩阵乘法快速幂了。从递推关系式能找到初始矩阵:

\[\begin{bmatrix} A_0 & 0 & 1 \\ \end{bmatrix} \]

  1. 再通过矩阵乘法性质,能得到转移方程。

\[\begin{bmatrix} 10^k & 1 & 0 \\ 1 & 1 & 0 \\ 1 & 1 & 1 \\ \end{bmatrix} \]

  1. 这道题最离谱的地方就是这个 k,我们对于不同的位数要用不同的转移矩阵,得到一个总的转移矩阵(总转移矩阵要放在乘号右边)。
  2. 由由于初始矩阵矩阵前两项都是0,所以输出答案只需要输出总转移举证第一列第三行的数即可。记得取模。

B [HNOI2011]勾股定理 \(\blacktriangle\!\blacktriangledown\!\blacktriangle\)

  1. 昨天的 \(a*b \mod 12=0 和 a*b*c \mod 50 = 0\) 用通式分类讨论 \(m,n\) 的取值情况就容易得出。
  2. 通式推导过程:

\[\begin {aligned} a^2+b^2 & =c^2 \\ a^2 &=(c-b)(c+b) \\ 设&k=c-b\\ a^2&=k(k+2*b)\\ b&=\frac {a^2-k^2}{2k} \\ c&= \frac {a^2+k^2}{2k}\\ \end{aligned} \]

\[\begin {aligned} a^2+b^2& =c^2 \\ a^2+\frac {(a^2-k^2)^2}{4k^2}&=\frac {(a^2+k^2)^2}{4k^2}\\ 4k^2a^2+(a^2-k^2)^2&=(a^2+k^2)^2 \\ 4m^2n^2+(m^2-n^2)^2&=(m^2+n^2)^2\\ \end {aligned} \]

  1. 由于要求互质,那首先有$ \gcd(m,n)=0 $,其次有 \(n,m\) 奇偶性不同(如果奇偶相同,则 \(m^2-n^2\) 为偶数,显然不互质)

  2. 判断是否有互质的勾股数,枚举m和n,找到 \(1000000\) 以内的互质勾股数,出现矛盾关系就建边。找互质勾股数时间复杂度不会太高,大概是\(O(n\log n)\)。

  3. 接下来就是跑\(树形DP\) 吗?

  4. 并不见得,因为可能会有环,并且可能有环共用同一个点。(不可能是同一条边,因为不存在两个直角三角形两直角边相同而斜边不同),所以这是棵仙人掌,并且由于图会是很多个连通块,所以其实是沙漠图····。

  5. 而这显然是个NP问题,只能猜测数据比较良心····

  6. 仙人掌DP也没有什么办法,只能找到环后拆开强行设两端的状态进行DFS,连通块内所有矛盾点设完状态确认未出现矛盾两端同时选上后树形DP。

  7. 转移方程(1代表选,0代表不选):

    \[dp[fa][0]=\prod dp[son_i][0]+dp[son_i][1]\\ dp[fa][1]=2^{v[fa]-1}\prod dp[son_i][0]\\ 若fa被强制设了状态\\ sit[0]\to dp[fa][0]=1,dp[fa][1]=0\\ sit[1]\to dp[fa][0]=0,dp[fa][1]=2^{v[fa]-1} \]

  8. 对于每个连通块内不同DFS的情况答案进行累加。(对象没变,状态变了),对于不同连通块进行累乘。(不同对象)最后要除去全不选的情况。

C XOR和路径 \(\blacktriangle\!\blacktriangledown\!\blacktriangle\)

  1. 这次考试离谱在后面两道题都对主要算法进行了隐藏。B看着像数学,实际上主体是树形DP;再像这道看着像数学,实际上主体是数学·····
  2. 由于我太蒟了,期望题做到只能摆烂,特别是这种自己可以到自己的,更是懵得一批,然而对于这种非常难处理的题,可以设立方程组解方程。
  3. 由于期望的是异或和,那我们可以把它每一个二进制位分别拆开分别算。
  4. 那我们便可以得到这样一个方程(f[x] 表示x的第 k 位为1的概率:

\[f[x]*deg[x]=\sum_{edge.w=0}f[i]+\sum_{edge.w=1}(1-f[j])\\ f[x]*deg[x]-\sum_{edge.w=0}f[i]+\sum_{edge.w=1}f[j]=\sum_{edge.w=1}1 \]

  1. 像这样的式子有n个,而有n个元,显然肯定有解。

D 总结

  1. 这次考试其实不应该只拿第一道的分,后面两道只打暴力。而且没有认真读题也是一个大问题,导致 B 建模失败呜呜呜·····

image

\(\cal {Made} \ {by} \ {YuGe}\)

标签:2021.10,sum,矩阵,fa,05pm,blacktriangle,互质,dp
来源: https://www.cnblogs.com/u2003/p/15376762.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有