题 题意 f和m两种字母组成字符串,fmf 和 fff 这种为不安全的字符串,现在有2*L个字母,问你有多少安全的字符串。答案mod M。 分析 递推,这题本意是要用矩阵快速幂。不过我发现这题好神奇,只要适当的减少取模的次数,就可以水过去(呵呵呵)。 当时做这题的时候用的是比较奇怪的递推式,然后超时
分类:
其他好文 时间:
2016-02-15 14:57:48
阅读次数:
250
#include<iostream> #include<cstdio> #include<cstring>using namespace std;int main(){ char a1[100],b1[100]; int a[100],b[100],c[100],lena,lenb,lenc,i,j
分类:
其他好文 时间:
2016-02-15 12:16:23
阅读次数:
252
组合数学题。好难啊,请教了Xiang578大神&&看了他题解才会的...... 甩上题解链接:http://blog.csdn.net/xinag578/article/details/50645160 另外还发现了组合数递推公式实际上就是一个01背包。 #include <stdio.h> #in
分类:
其他好文 时间:
2016-02-13 14:33:06
阅读次数:
159
BZOJ 1002 高精度 + 递推 f[1] = 1; f[2] = 5; f[i] = f[i - 1] * 3 - f[i - 2] + 2; SPOJ 104 裸 + 不用Mod 1 #include <cstdio> 2 #include <cstring> 3 #include <cst
分类:
其他好文 时间:
2016-02-12 22:12:25
阅读次数:
323
这个问题可以使用dp来统计, 假设我们要统计s中连续的a的数量, 那么我们可以定义f[i]为以i结尾连续的a的个数, 那么我们可以定义如下递推式 , if s[i]=='a' then f[i] = f[i-1] + 1; else f[i]=0; 这样就统计了出来, 我们也可以定义以i为开头的连续
分类:
其他好文 时间:
2016-02-12 10:33:22
阅读次数:
151
树形背包。DP递推的思路很简单.... 但是由于节点有15万个,先不论空间复杂度,这样开dp数组 dp[150000+10][300+10],如果初始化是memset(dp,-1,sizeof dp),则必然超时。 所以需要一个状态数剪枝。。。即记录这个节点最多组合的数量。 UVALive是不限制内
分类:
其他好文 时间:
2016-02-10 10:58:55
阅读次数:
237
利用迭代算法解决问题,需要做好以下三个方面的工作:
一、确定迭代变量
在可以用迭代算法解决的问题中,我们可以确定至少存在一个可直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。
二、建立迭代关系式
所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)。迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成。
三、对迭代过程...
分类:
编程语言 时间:
2016-02-10 00:31:51
阅读次数:
242
二分+树形DP验证。 答案是通过二分查找得到的,对于每一次二分到的值,进行验证,是否可行。 可以用树形DP来求解所有叶子节点不能向根节点传送消息的最小费用,dp[i] 表示 节点i 的子树的叶子结点都不能向i传送消息的最小费用,这样很容易递推。 #include<cstdio> #include<c
分类:
其他好文 时间:
2016-02-09 15:53:09
阅读次数:
349
Description Problems involving the computation of exact values of very large magnitude and precision are common. For example, the computation of the n
分类:
其他好文 时间:
2016-02-09 01:19:54
阅读次数:
194
把x1~xn当成是1~n, 答案是不会变的. 然后直接模拟就行了...... P.S 双倍经验... BZOJ1416 && BZOJ1498 ------------------------------------------------------------------------------
分类:
其他好文 时间:
2016-02-07 13:31:56
阅读次数:
219