![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
没名字-tw
scau
展开
-
CodeCraft-21 and Codeforces Round #711 (Div. 2) C Planar Reflections
这个DP和平时遇到的不太一样,这里的每一个状态都与给出来的平面数有关!我们定义dp[i][j]表示粒子现在年龄是i处于第j个平面反弹的数量,那有dp[i][j]={粒子i往右边走+粒子i-1往左边走},粒子i往右边走就是dp[i][j+1],而粒子i-1往左边走情况很复杂,难道要重新计算吗?利用对称性,可以求解。 假设年龄是3,平面是4个,那粒子2往左边第一个撞的数量就等于粒子3往第4个撞的数量。于是有状态转移方程dp[i][j]=dp[i][j+1]+dp[i-1][平面数-j+2]。 #include原创 2021-04-01 07:41:16 · 157 阅读 · 0 评论 -
字符串哈希
字符串哈希 全称字符串前缀哈希法,把字符串变成一个p进制数字,实现不同的字符串映射到不同的数字。 注意点: 任意字符不可以映射成0,否则会出现不同的字符串都映射成0的情况,比如A,AA,AAA皆为0 冲突问题:通过巧妙设置P (131 或 13331) , Q (2642^{64}264)的值,一般可以理解为不产生冲突。 #include<bits/stdc++.h> using namespace std; typedef unsigned long long ull; const in原创 2021-03-30 15:15:48 · 49 阅读 · 0 评论