- 博客(9)
- 收藏
- 关注
原创 Linux SSH启动失败
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_keyssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_keychmod 600 /etc/ssh/ssh_host_dsa_keychmod 600 /etc/ssh/ssh_host_rsa_key#重启ssh服务...
2021-08-03 10:48:40
227
原创 统计逆序对数目
//计算数组data中[lo,hi)区间上逆序对数目,注意算法执行完后A数组已排序。复杂度:o(nlogn)int revCount(int* data, int lo, int hi){ int revC = 0; if (hi - lo < 2) return 0; int mi = (lo + hi) / 2; revC += revCount(data, lo, mi); revC += revCount(data, mi, hi); int *A = data + lo;.
2020-10-09 16:39:11
384
原创 UVA-10759
题意: n个筛子点数之和大于等于x的概率为多少。题解: 这道题第一眼看上去就是DP。思路很简单,DP[n][x]表示n个筛子点数恰好为x的情况数。DP[n][x] = DP[n-1][x-1] +DP[n-1][x-2]+DP[n-1][x-3] +DP[n-1][x-4] +DP[n-1][x-5] +DP[n-1][x-5]...
2020-09-25 22:29:43
316
原创 UVA-11137
题意:用1,8,27.....9261(都是n^3, 每个数都是无穷多个)从凑出n,有多少中不同的方案?题解:#include <iostream>#include <cmath>using namespace std;int main(){ long long DP[10000] = {1}; int n; for (int i = 1, t; (t = pow(i, 3)) <= 10000; i++) for (int j = t; j &l
2020-09-09 12:53:30
2961
原创 UVA-10617
题意: 找出一个字符串中的子串中的回文串个数。题解: 区间上动态规划。DP[i][j]表示S[i]到S[j]的局部解,则动态转移方程如下:DPi][j] = S[i]==S[j] ?dp[i][j] = DP[i+1][j] + DP[i][j-1] + 1:DP[i+1][j] + DP[i][j-1]-DP[i+1][j-1]推导过程(字比较丑...)正在上传…重新上传取消正在上传…重新上传取消...
2020-09-09 08:59:49
3325
1
原创 UVA-10285
题意: 给一个R*C大小的int型矩阵,起点终点任意,每次只能朝一个方向(上下左右均可,不能斜着走)走一步,且只能从更大的数走向更小的数,求最长路径。题解: 记忆化DP。DP[i][j]表示从(i,j)出发所能走的最长路径,则状态转移方程可描述如下:对于上下左右4个方向,如果走得通的话,则选择能走的最远的一个方向走。#include <iostream>#include <algorithm>#include <string>...
2020-09-05 15:50:49
6102
原创 UVA-10192
题意: 题目说了一大堆,其实就是求最长公共子序列。解法: 仿照《生物信息学》中的序列比对问题*(感兴趣的可以去了解了解)。#include <iostream>#include <algorithm>#include <string>#include <cstring>using namespace std;int main(){ string a, b; int DP[105][105], c...
2020-09-03 22:09:13
7712
原创 UVA-10131
题意: 输入一些大象的的重量和千克,找出满足:按重量严格递增,智商严格递减(严格递减的意思就是只能小于,不能等于)的最长的序列。解法: 参照小白书上的方法,将转换为求DAG上的最长路径问题(此题显然不存在自环、闭环以及重复边,因此可以转换为DAG问题)。 DAG使用邻接矩阵G存放,G[i][j] = true表示第i头大象重量大于第j头大象,且第i头大象智商小于第j头大象。 注意此题的最长路径是不固定起点和终点的,这里用的是记忆化DP(dijkst...
2020-09-03 20:24:04
7816
翻译 UVA-108
题意给一个N*N的int矩阵,求出所有子矩阵中的最大和。解法:蛮力算法(超时): 枚举所有左上角起点(startRow,startCow)O(N^2)和右下角终点(endRow, endCow)O(N^2),求出子矩阵的和O(N^2)。复杂度O(N^2)* O(N^2)* O(N^2)=O(N^6)。解法1: 动态规划。memo[i][j] = memo[i - 1][j] + memo[i][j - 1] - memo[i - 1][j - 1] +...
2020-09-01 22:53:05
7861
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人