摘要:
链接这题纠结了好久,刚开始想到的是正解,不过想到可能会出现一个数支点不唯一的情况,这样就多算了,其实是我想多了,一个数只有一个支点。这样就好像想到了,枚举支点的位置,保存力矩的状态。dp[i][k][s] i为当前处理位 k为支点 s为到目前为止根据支点算出来的部分力矩。有一点需要注意算0的时候 会... 阅读全文
摘要:
A暴力 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 using namespace std;11 #define N 101012 #def... 阅读全文
摘要:
链接这题有一点小坑点 就是AX^B A只能为0或者1 ,剩下的就比较好做的了。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 using na... 阅读全文
摘要:
链接这个题因为总和加起来是比较小的9*9 = 81 这样可以保留前面枚举的数对所有的可能出现的和的余数,然后依次向下找。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include ... 阅读全文
摘要:
链接与前面几个类似,多开几维处理他的要求。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 using namespace std;11 #de... 阅读全文
摘要:
链接 这题当时在网络赛时很费劲的推出来的,以递推的形式写出来的,一些边界点特别不好控制,靠看数据改出来的。现在改出dfs形式,也是很简单的。因为f(x)的数不会很大,直接保留前面枚举的数得出的结果即可。 1 #include 2 #include 3 #include 4 #include 5 ... 阅读全文
摘要:
链接与上一个类似,更简单一些,标记前面是否出现过49和4. 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 using namespace st... 阅读全文
摘要:
链接题意求能够整除和包含13的数字。这个比较简单,保留余数及1,然后标记前面是否出现过13就行。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10... 阅读全文
摘要:
链接这个题最不好想到的是状态的保存,也没有几亿的数组让你开,怎么保存前面出现了哪些数字。题意让你求最长上升子序列的长度为k的数字的数目,可以是不连续的,可以保留一个状态栈,栈顶部依次更新,再保证长度最大的情况下使栈顶元素最小,这样就能保证下次加进来的元素有可能会使长度增加。这个状态就用2进制来表示,... 阅读全文
摘要:
数位dp中不错的题目求能够整除自身各位数字的数,那换句话来说也就是能够整除各位数的最小公倍数,可以算出1-9所有数字的最小公倍数为2000+从高位向下走的时候,要保留当前第几位i,当前lcm,以及前面对lcm的余数r,不过这个lcm是变换的,状态无法保存。可以看下这个式子 x%m = x%(2*m)... 阅读全文