![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
sicily
woshihuige123
这个作者很懒,什么都没留下…
展开
-
sicily 1031(week 5)
题目链接:http://soj.me/1031题目大意: 给出四个校区的一些地点之间的距离,地点名用字符串来表示,问某两个地点之间的最短路径长度,典型的单源最短路径题目思路: 单源最短路径问题可以用dijkstra算法实现,这道题比较麻烦的是用字符串来表示地点,我用的处理方法是建立map得到地点名字到序号的映射,对于每个新输入的地点名字,先在map里面查找是否存在,如果不存在就绑定一个新的原创 2017-03-23 10:46:35 · 210 阅读 · 0 评论 -
1090. Highways(week 6)
prim算法:#include<iostream>#include <vector>#include<string>#include <queue>using namespace std;#define INFINITE 65537//找出最小的post值int findMinPost(int post[],int n){ int result = 0; for(int原创 2017-03-31 20:21:47 · 271 阅读 · 0 评论 -
( Sicily1342) 开心的金明(week 8)
分析典型的0/1背包问题,注意初始化,注意if的判断,只要找到dp公式就行,dp[N][k] = max{dp[N][k-1], dp[N-v[k]][k-1]+v[k]*p[k]} dp为买N元前k件的最大价值。题解#include<iostream>using namespace std;int main(){ int N,m; int v[26],p[26]; int dp[原创 2017-04-16 16:08:13 · 225 阅读 · 0 评论 -
sicily 1024. Magic Island(week 11)
题目链接:http://soj.sysu.edu.cn/1024 这里要注意到,有n个点,但是只有n-1条路径,说明是树,用dfs求树的最长路径: (用c++输入0.35s,用c输入0.18s)#include <iostream> #include <vector> #include <string.h> #include <cstring> #include <stdio.h原创 2017-05-07 20:34:23 · 258 阅读 · 0 评论 -
Sicily1221:数字游戏(week 10)
1221. 数字游戏ConstraintsTime Limit: 1 secs, Memory Limit: 32 MBDescription小W发明了一个游戏,他在黑板上写出了一行数字a1,a2,….an,然后给你m个回合的机会,每回合你可以从中选择一个数擦去它,接着剩下来的每个数字ai都要递减一个值bi。如此重复m个回合,所有你擦去的数字之和就是你所得到的分数。 小W和他的好朋友小Y玩了这个游戏原创 2017-05-07 20:31:10 · 307 阅读 · 0 评论 -
sicily 1006 单词变换(week 18)
链接:http://soj.sysu.edu.cn/show_problem.php?pid=1006&cid=2572 这是一道动态规划的题目,循环的时候记得取等号设需要计算编辑距离的两个字符串分别为x[1..m]和 y[1..n],用E(i, j)表示x[1..i]和y[1..j]的编辑距离,则可 以得到动态规划的状态转移方程:当i=0时, E(i, j) = j;当j=0时,E(i, j原创 2017-06-16 19:41:18 · 365 阅读 · 0 评论 -
sicily 20622. 单词变换(week 19)
链接:http://soj.sysu.edu.cn/show_problem.php?pid=20622循环条件记得写等号。设需要计算编辑距离的两个字符串分别为x[1..m]和 y[1..n],用E(i, j)表示x[1..i]和y[1..j]的编辑距离,则可 以得到动态规划的状态转移方程:当i=0时, E(i, j) = j;当j=0时,E(i, j) = i;当i>0且j>0时,E(i原创 2017-06-16 19:46:21 · 228 阅读 · 0 评论 -
sicily 1005. 最大和(week 20)
链接:http://soj.sysu.edu.cn/show_problem.php?pid=1005&cid=2572动态规划class Solution {public: int maxSum(vector<int>& A) { int dp[100005]; dp[0] = A[0]; for(int i = 1; i < A.size原创 2017-06-16 19:48:19 · 239 阅读 · 0 评论