算法
QuincyTan
You will make it as long as you put your heart into it.
展开
-
ZOJ 4011——Happy Sequence(dp)
题意:给一个n和m,求所有组成m长且值在1-n内且满足 a[i]%a[i-1]==0 的序列方案数。思路:dp[i][j] 表示长度为 i 的序列的最后一位为 j ,转移方程:dp[i][j]=0 , dp[i][j]+=dp[i-1][ j的因子 ] 。因子可以通过埃氏筛打表得到,dp[m][i]累加和即为答案,预处理2000*2000以内所有答案即可。代码:#include<...原创 2018-10-13 17:45:36 · 222 阅读 · 0 评论 -
CF GYM-101915-G. Robots(dfs+思维)
链接:http://codeforces.com/gym/101915/problem/GG. Robotstime limit per test5.0 smemory limit per test256 MBinputstandard inputoutputstandard outputThe Robotics Olympiad teams were co...原创 2018-11-03 22:50:40 · 623 阅读 · 0 评论 -
ZOJ 2594——Driving Straight(bfs)
题意: 给出一个(2*m-1)*(2*n-1)的图,要求输出从左下角走到右上角最短距离走法的路径,只能在 ‘-’ 或 ‘|’ 上移动,答案保证有解,有多解输出任一,n,m<=400。 思路:因为题目要求输出路径,而bfs中如果每个状态都记录到当前状态的路径,可能会TLE或者MLE。所以考虑先从终点开始bfs出每个点到终点的最短距离,然后再从起点出发bfs一直找 当前点的...原创 2018-11-21 22:19:48 · 279 阅读 · 0 评论 -
CodeForces 110D——Lucky Probability(dfs+思维)
题意: 出个两个(P,V)范围在1e9的正整数区间,分别从其中随机选出一个数,选出的两个数作为一个新区间的左右端点。要求新区间内的幸运数刚好为k个的概率(幸运数指一个数的数位只有4或7)。思路: 首先可以dfs找出所有在数据范围内的幸运数,记为L数组,因为数目不多,便可成k段遍历 L数组,每次分别计算【 L[i-1]+1,L[i]】与【Pl,Pr】的线段交集,和【 L[i+k-1...原创 2018-11-27 21:17:15 · 301 阅读 · 0 评论 -
POJ 2774——Long Long Message(二分+hash)
题意:给出两个最长长为1e5的字符串,求他们的最长公共子串长度。 思路:分别将两个字符串预处理出hash值,二分【1-min(lens,lent)】的长度,check函数中每次将长度为mid的hash值记录并检查是否符合条件,是则下边界右移,否则上边界左移。复杂度O(nlogn) 代码:#include<stdio.h>#include<vecto...原创 2019-01-15 21:49:29 · 259 阅读 · 0 评论