地址:http://acm.hdu.edu.cn/showproblem.php?pid=1297题意:n个字母,由F和M组成。F不能单独存在。求满足条件的字符串数目。mark:递推很容易得到方程dp[n] = 2*dp[n-1]-dp[n-2]+dp[n-3]。但是题目中n最大是1000,结果是200多位的整数,要写成大数运算,大数减法没写过。。。方程可等价为dp[n] = dp[n-1]+dp[n-2]+dp[n-4],这样就回避了减法的问题。代码:# include <stdio.h># include <string.h>char ans[1010][300]
转载
2012-02-14 00:00:00
40阅读
后缀数组求最长回文串#include#include#include#includeusing namespace std;#define MAXN 2010int dp[2010][30];char r[MAXN],rr[MAXN];int sa[MAXN
原创
2023-09-15 09:35:07
30阅读
Children’s QueueTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 959 Acc
原创
2023-07-11 16:39:39
59阅读
1 class Solution:
2 def maxFreq(self, s: str, maxLetters: int, minSize: int, maxSize: int) -> int:
3 n = len(s)
4 if n < minSize:
5 return 0
6 left
转载
2019-12-22 13:31:00
49阅读
因为边权最大为9,记录前9个状态矩阵快速幂。
转载
2016-09-28 15:15:00
53阅读
2评论
URAL_1297
找回文串最直观的一个算法就是枚举中间的点,然后向两边查找,看最后能拓展多远,但是这样是n^2的算法,利用后缀数组可以达到O(nlogn)的复杂度。
其实在枚举中间的点之后,向外拓展多远是取决于两个方向相反的字符串的公共前缀的,而如果利用后缀数组我们就可以在O(logn)的时间内找到这两个字符串公共前缀最长是多少。
下面面临的一个问题就是两个字符串是方向相反的,为
转载
2012-02-04 10:26:00
384阅读
2评论
PalindromeTime Limit: 1000msMemory Limit: 16384KBThis problem will be judged onUral. Original ID:1297-bit integer IO format:%lld Java class name:(An...
转载
2014-10-18 10:08:00
55阅读
2评论
http://www.elijahqi.win/2017/07/15/ural1297/ 1297. Palindrome Time limit: 1.0 second Memory limit: 64 MB The “U.S. Robots” HQ has just received a rather alarming anonymous letter. It states that...
原创
2022-08-08 16:40:21
37阅读
Description
原创
2022-11-09 19:11:32
47阅读
首先学习是学习矩阵乘法在邻接矩阵的应用ab两点经过k条边的路径数就等于图的邻接矩阵G的k次幂之后G[a,b]的值但这道题问的是经过长度为k的路径数考虑到每条边的长度最长只有9,所以我们把一个点拆成9个点,i1~i9 顺次相连长度为1,i9为出点对于长度为k的边eij,连边i9-->j(10-k) 长度为1这样图中的每条边的长度都变成了1,就相当于求k条边的路径数了
1 const mo
转载
2014-12-31 19:10:00
99阅读
2评论
公共子序列 基本思想与 编辑距离 一致。 1 #include<iostream> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 const int N=205; 6 int f[N][N]; 7 8 int m ...
转载
2021-08-22 17:45:00
74阅读
题目描写叙述 Description 我们知道即使是同一种面值的硬币,它们的重量也有可能不一样,由于它受到很多因素的影响,包含制造工艺和流程上的。可是不论什么一种面值的硬币的重量总是处于某个特定范围之内。如今已知全部面值的硬币的重量范围。给定一堆硬币的总重量,问这堆硬币的总价值有多少种不同的可能。举
原创
2022-01-10 16:28:00
109阅读
求出后缀数组和height数组,然后将这个串反过来写在前面然后枚举中心点并求两边的最长公共前缀即可(一定要加连接符)。 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define N 200005 4 int n,m,ans,a[N],b[N
转载
2019-07-28 10:26:00
65阅读
2评论
比较简单的数学问题 求最大可能的体积 由关系...
转载
2016-06-05 02:06:00
60阅读
思路: 搞个栈模拟一下,也才5w; 直接wa1了。。然后想到井口如果都进不去那就。。。一定GG了。 所以维护一下从井口到井底是非递增的就好了; #include #include #include #include #include #include using namespace std;st...
转载
2016-10-15 21:49:00
73阅读
Descriptionwindy在有向图中迷路了。 该有向图有 N 个节点,windy从节点 0 出发,他必须恰好在 T 时刻到达节点 N-1。 现在给出该有向图,你能告诉windy总共有多少种不同的路径吗? 注意:windy不能在某个节点逗留,且通过某有向边的时间严格为给定的时间。 Input第一行包含两个整数,N T。 接下来有 N 行,每行一个长度为 N 的字符串。 第i行第j列为’0’表
原创
2022-04-19 13:43:09
48阅读
Children’s QueueTime Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)Total Submission(s) : 8 Accepted Submission(s) : 1Font: Times New Roman | Verdana | Georgi
原创
2022-08-10 10:26:49
16阅读
Children’s QueueTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 12453 Accepted Submission(s): 4066Problem DescriptionThere are ma
原创
2023-04-20 11:33:10
53阅读
1297 - Largest Box PDF (English) Statistics Forum Time Limit: 2 second(s)Memory Limit: 32 MBIn the following figure you can see a rectangular card. ...
转载
2015-11-09 14:02:00
84阅读
2评论
给一个长度不超过1000的由大小写字母组成的字符串,求最长回文子串。一眼看上去就是一道裸题竟然调了这么久...一开始的
原创
2023-07-17 18:13:52
63阅读