摘要: 本来刚开始还是想用每一位 -1的个数 然后再乘以10 不断累加 后来发现 完全不是这回事啊 因为本身就是0 和 1 所以只要记录出现的最大的数字 就是答案 因为 n >= 1 // 所以不需要考虑 0 也是1的情况 #include<bits/stdc++.h> using namespace st 阅读全文
posted @ 2017-08-21 22:33 Draymonder 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 就很简单很简单的dp 只能从右或者从下走 所以 dp方程直接看下面公式吧 反正也不难 #include<bits/stdc++.h> using namespace std; const int maxn = 550; int s[maxn][maxn]; int dp[maxn][maxn]; i 阅读全文
posted @ 2017-08-21 22:22 Draymonder 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 基本的矩阵乘法 中间for(int j=0;i<n;i++) //这里写错了 应该是j<n 晚上果然 效率不行 等会早点儿睡 //矩阵乘法 就是 两个矩阵 第一个矩阵的列 等与 第二个矩阵的行相同 // 然后ans[i][j] += a[i][k] * b[k][j]; #include<bits/ 阅读全文
posted @ 2017-08-21 22:15 Draymonder 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 之前一直没敢做矩阵一类的题目 其实还好吧 推荐看一下 : http://www.cnblogs.com/SYCstudio/p/7211050.html 但是后面的斐波那契 推导不是很懂 前面讲的挺好的 后来看到了 http://blog.csdn.net/flyfish1986/article/d 阅读全文
posted @ 2017-08-21 21:47 Draymonder 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 基础 矩阵乘法 关于 快速幂已经了解了 所以现在就是 矩阵快速幂了 相同的套路 只不过是运用到矩阵上面了; 推荐blog :http://www.cnblogs.com/SYCstudio/p/7211050.html 然后自己手写了两遍 之前一直不敢接触 其实接触了才发现 大概也不是很难的东西。 阅读全文
posted @ 2017-08-21 16:27 Draymonder 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 复杂度 O(n+m) 这个博主写的蛮不错的 http://www.cnblogs.com/SYCstudio/p/7194315.html 1.本文中,所有的字符串从0开始编号2.为了在程序中表示方便,在接下来的说明中,next[i]=0表示最长相同前缀后缀长度为1,即真实的最长相同前缀后缀=nex 阅读全文
posted @ 2017-08-21 15:17 Draymonder 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 题目链接 : http://acmoj.shu.edu.cn/problem/419/ 欧拉函数ϕ(n) 被定义1~n中与n互质的数的个数。例如ϕ(5)=4,因为1,2,3,4这四个数字与5互质。 12的因子全部因子是1,2,3,4,6,12φ(1)=1 φ(2)=1 φ(3)=2 φ(4)=2 φ 阅读全文
posted @ 2017-08-21 13:17 Draymonder 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 一直Runtime error 后来发现数组开小了 调了半天 大概两种写法吧 第一种是枚举每个值 把他的因子都记录 最后从最大的因子 倒着数 这样子 #include<bits/stdc++.h> using namespace std; const int maxn = 1000000+100; 阅读全文
posted @ 2017-08-21 10:37 Draymonder 阅读(161) 评论(0) 推荐(1) 编辑
摘要: 没想到居然可以O(n3)暴力过 就是大概之前的 最大连续子序列和 加成2维度了 枚举起始列 和 终止列 然后计算从1到n行最大的子矩阵的和 注意n 和 m 的输入顺序!! #include<bits/stdc++.h> using namespace std; typedef long long l 阅读全文
posted @ 2017-08-21 09:45 Draymonder 阅读(235) 评论(0) 推荐(0) 编辑