关闭

[置顶] 编程错误(长久更新)

1.01:【线段树】左右儿子结点编号传入错误——2017.08.15 1.02:【线段树】存储数据未选择合适存储类型存储(爆int型)——2017.08.16 1.03:【线段树】未判断输入数据是否合法(是否存在L > R的情况)——2017.08.16 1.04:【线段树】区间更新操作时未将lazy标记down下去——2017.08.17 1.04:【博客链接】 1.05:【int类型乘...
阅读(109) 评论(0)

【稀疏矩阵转置】线性时间复杂度实现稀疏矩阵转置

Think: 1知识点:线性时间复杂度实现稀疏矩阵转置 2方法: (1):通过三元组记录初始输入信息 (2):记录每一列的元素个数 (3):求得记录每一列的第一个元素应放置的转置三元组的位置 3反思: (1):记录的是每一列的第一个元素应放置的转置三元组的位置,[1, nu]而不是[1, tu]例题: SDUT——数据结构实验之数组三:快速转置Problem Description...
阅读(17) 评论(0)

【费马小定理降幂+矩阵快速幂+快速幂】M斐波那契数列 HDU - 4549

Think: 1知识点:费马小定理降幂+矩阵快速幂+快速幂 (1):费马小定理降幂: 定理:若gcd(A, M) == 1,则A^x = A^(x%Eular(M))(mod M) 注:Eular(M)为M的欧拉函数值 2题意: 已知: F[0] = a F[1] = b F[n] = F[n-1] * F[n-2] ( n > 1 ) 输入a, b, n,询问F[n] =...
阅读(20) 评论(0)

【矩阵快速幂】Recurrences UVA - 10870

Think: 1知识点:矩阵快速幂 2题意: 现输入d, n, m求解f(n) 注:f(i) = f(i) mod m; 3题意思考: (1):写出系数矩阵,矩阵快速幂求解 4反思: (1):注意系数矩阵与初始序列的对应关系 (2):输入数据中每组测试数据换行相隔,而并不是要求在输出中每组测试数据以换行相隔,注意读题的严谨,注意细节以下为Accepted代码#include <cs...
阅读(25) 评论(0)

【循环矩阵+矩阵快速幂】Cellular Automaton UVA - 1386

Think: 1知识点:循环矩阵+矩阵快速幂 2题意:输入n(1<=n<=500), m(1<=n<=1000000), d(0<=d<(n/2)), k(1<=k<=10000000)然后输入一个n个数的环,数的范围为[0,m-1],然后进行k次变换,变换为:取环中当前元素,然后取其左边d个数,取其右边d个数,然后相加取模m,询问经过k次变换之后的序列 3题意思考: (1):写出系数矩阵,...
阅读(34) 评论(0)

【矩阵快速幂+输入终止条件判断】Contemplation! Algebra UVA - 10655

Think: 1知识点:矩阵快速幂+输入终止条件判断 2题意& 思路: ——参考博客链接 感谢博主 3反思: (1):题目要去当输入数据仅为两个0时终止,而0 0 n属于正常输入,因此判断while()语句是否输入终止的条件为scanf(“%lld %lld %lld”, &p, &q, &n) == 3而不能为~scanf(“%lld %lld”, &p, &q) && (p ||...
阅读(47) 评论(0)

【矩阵幂的和+矩阵快速幂】Power of Matrix UVA - 11149

Think: 1知识点:矩阵幂的和+矩阵快速幂 2题意:输入矩阵A,求A^1 + A^2 + … + A^(n) 3题意分析: (1):倍增法求矩阵幂的和,eg: 求:A^1 + A^2 + A^3 + A^4 + A^5 + A^6 + A^7 + A^8 + A^9 + A^10 (1):A^1 + A^2 + A^3 + A^4 + A^5 + A^6 + A^7 + A^8 +...
阅读(46) 评论(0)

【矩阵快速幂】Experienced Endeavour

Think: 1知识点:矩阵快速幂 2题意:初始时输入一个序列a(0), a(1), … a(n-1),之后不断构造一个新序列,新序列构造规则为每次选取上次序列的固定位置元素累加 3题意分析: (1):构造系数矩阵,矩阵快速幂.因为每次对于新序列结点ci,其值与上次序列的固定位置有关系,因此可思考是否可以构造一个0,1系数矩阵,之后每次重复构造新序列时,每构造一次,就乘以0,1系数矩阵一次....
阅读(46) 评论(0)

【kmp算法】数据结构实验之串三:KMP应用

Think: 1知识点:kmp算法 2题意:先输入n,然后输入n个数字,再输入m,然后再输入m个数字,询问这m个数是否为n个数字的唯一子区间[l, r],若是,则存在子区间[l, r]则输出l, r,若不存在则输出-1 3反思: (1):区间[l, r]必须是唯一存在 (2):当第一次寻找到一个区间[l, r]之后再次寻找判断是否是唯一存在时,要注意再次寻找时的出发位置SDUT题目链接以下...
阅读(35) 评论(0)

【矩阵快速幂+矩阵运算性质】Fast Matrix Calculation HDU - 4965

Think: 1知识点:矩阵快速幂+矩阵运算性质 2题意:多组测试数据,每组测试数据先输入n, m,然后分别输入一个n*m的矩阵A和一个m*n的矩阵B,运算步骤如下: (1):先计算C = A*B; (2):在计算M = C^(n*n); (3):M(i, j) = M(i, j) % 6; (4):sum += M(i, j); 注: (1):n:[4, 1000],m:[2,6]...
阅读(44) 评论(0)

【kmp】Corporate Identity HDU - 2328

Think: 1知识点:kmp算法+暴力枚举 2题意:输入一组字符串,寻找最长公共子串,长度相同时选择字典序最小的 3解题思路: (1):找到字符串组中长度最短的字符串,然后根据左右区间枚举查询 (2):找到字符串组中长度最短的字符串,然后根据长度从大至小枚举,若在当前长度梯度已经找到串,则结束枚举(因为从大至小枚举的长度梯度级,因此下面枚举的长度梯度级要小于当前已经枚举完成的长度梯度级)...
阅读(40) 评论(0)

【kmp算法】Substrings HDU - 1238

Think: 1知识点:kmp算法 2题意:T组测试数据,每组测试数据输入n个字符串,询问最长长度的子串x,要求子串x或者子串x的翻转串在每个字符串中都会出现 3思路:找到最小的字符串,然后暴力枚举子串查询,剪枝优化 4反思: (1):字符串长度为1的字符串不要忘记vjudge题目链接以下为Wrong Answer代码——未枚举字符串长度为1的字符串#include #i...
阅读(39) 评论(0)

【算数基本定理(唯一分解定理)】Aladdin and the Flying Carpet LightOJ - 1341

Think: 1知识点:算数基本定理(唯一分解定理) 算术基本定理的几个应用: 注:p1, p2, pi都是素数 同时全体正因数的和也可以写作: ——“算数基本定理”参考博客地址2题意:输入a, b(1 ≤ b ≤ a ≤ 1e12),a代表一个矩形的面积,b表示矩形中最小的那条边至少长度为b,询问有多少个符合条件的矩形 注:题意要去本题目中的矩形不是正方形 3解题思路:...
阅读(38) 评论(0)

【对象数组+静态数据成员+静态成员函数+...】面向对象程序设计(B)——第二次作业

Think: 1知识点:对象数组+静态数据成员+静态成员函数+构造函数+复制构造函数+析构函数题意: 编程实现求一定数量的学生的平均分。用类实现,Student类属性有学号、姓名、成绩、总分、数量,成员函数有总分及平均分。 输入: 多组测试数据,每组测试数据先输入学生数量n(n <= 4000),之后输入n行,每行输入第i个学生的学号,成绩,姓名,以空格分开 输出: 输出n个学生的总分和...
阅读(48) 评论(0)

【矩阵快速幂】233 Matrix HDU - 5015

Think: 1知识点:矩阵快速幂 2题意:定义一个233矩阵,第一行形如233, 23333, 233333, 233…(即a[0][1] = 233, a[0][2] = 2333,a[0][3] = 23333, a[0][4] = 233…),现输入n列的第一个数(即a[1][0], a[2][0], … , a[n][0]),询问a[n][m](n ≤ 10,m ≤ 1e9)的值 3...
阅读(64) 评论(0)

【模板——ing】O(n)回文子串(Manacher)算法

1.模板适应问题: (1):输入串st,求出串st中最长回文串2.模板代码:#include #include #include using namespace std;const int size_len1 = 110414; const int size_len2 = size_len1<<1;char str1[size_len1...
阅读(64) 评论(0)

【kmp算法next数组应用】Simpsons’ Hidden Talents HDU - 2594

Think: 1知识点:kmp算法next数组应用 2题意:输入两个串,询问“最长前后缀”,“最长前后缀”定义为:串ans为st1的前缀,st2的后缀,输出“最长前后缀”和“最长前后缀”的长度 3解题思路:连接串st1和st2,求next数组,next[len-1]表示串st的最大公共前后缀,需要判断len与len_st1和len_st2的长度,若len > len_st1 或 len > l...
阅读(60) 评论(0)

【kmp算法-子串暴力匹配+字符串地址传入】Blue Jeans POJ - 3080

Think: 1知识点:kmp算法+子串暴力匹配 2题意:输入n(2<=n<=10)个字符串集合(len == 60),询问n个字符串的最长公共子串,若长度相同,则输出字典序最小的 3解题思路:通过传入字符串地址和长度枚举第一个串的子串在其它串中是否可以匹配,更新维护最优解vjudge题目链接以下为Accepted代码#include #include #...
阅读(75) 评论(0)

【kmp算法next数组求解公共前后缀】Seek the Name, Seek the Fame POJ - 2752

Think: 1知识点:通过kmp算法next数组求解公共前后缀 2题意:输入串s,输出所有的符合条件的子串的长度,符合条件:子串既是s的前缀又是s的后缀 3解题知识点: (1):前缀定义:从s的开始字符到s的任意字符为止 (2):后缀定义:从s的任意字符到s的最后字符为止 (3):next[i]定义:字符s[i]及其前面至多有next[i]个连续的字符和字符串s从初始位置开始的next...
阅读(50) 评论(0)

【kmp算法next数组-串的最小循环节/循环周期】Period HDU - 1358

Think: 1知识点:通过kmp算法的next数组求解串的最小循环节和循环周期 2题意:一个长为N (2 <= N 1)的串是否是一个周期串,即k = A…A;若是则按k从小到大的顺序输出k和周期数 3解题知识点: (1):一个串的最小循环节长度:len - next[len] (2):若len%(len-next[len...
阅读(67) 评论(0)
410条 共21页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:52802次
    • 积分:4528
    • 等级:
    • 排名:第6967名
    • 原创:406篇
    • 转载:4篇
    • 译文:0篇
    • 评论:3条
    文章分类
    最新评论