- 博客(8)
- 收藏
- 关注
原创 UVA10003 Cutting Sticks
题目大意一根长度位L的木棍上有n个切割点,这个木棍做n次切割,求总花费最少是多少。每次花费为被切割木棍的长度。如L=10,切割点为2,4,7。一次切割2,4,7,总花费=10+8+6=24;解题思路这是一道类似矩阵连乘的题目,套用模板就行了。先求小区间的最小花费,然后根据小区间推得大区间的最小花费。参考代码#include<cstdio>#include&...
2018-07-27 11:17:25 144
原创 UVA11584Partitioning by Palindromes(回文串,动态规划)
题目大意给你一个字符串,划分成尽量少的回文串,要求字串在原串中是连续的。解法用一个dp数组存储最优解,dp[i]表示字符0~i至少需要划分多少回文串。用pal[i][j]数组表示i~j是否是一个回文串,对于pal数组需要预处理。dp的状态转移方程dp[i]=min{dp[j-1]+1|pal[j][i]==true}。参考代码#include<cstdio>...
2018-07-24 15:58:13 211
原创 UVA116Unidirectional TSP(多段图的最短路)
紫书上的例题,自己实现了一遍,供参考。参考代码#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int inf = 0x3f3f3f3f;int mp[15][105]; int...
2018-07-24 09:33:38 181
原创 UVA437 The Tower of Babylon(DAG上的动态规划)
题目大意有n(n&lt;=30)种长方体,每种都有无穷多个。要求选一些长方体摞成一根尽量高的柱子(可以自行选择一条边作为高),使得每个长方体的底面长宽分别严格小于它下方立方体的地面长宽。解题思路这是一个DAG(有向无环图)模型。每种长方体将长宽高全排列变成6个长方体,这就够了,因为题目的限制,这六个长方体最多被使用一次。定义dp[i]表示以第i个长方体为顶时柱子的最大高度。对于每个长方...
2018-07-22 16:55:57 193
原创 uva10375 Choose and divide(唯一分解定理)
题目大意:C(m,n)= m!/((m-n)!*n!),给你四个数p,q,r,s,求解C(p,q)/C(r,s)。解题思路:根据唯一分解定理,任何一个大于1的自然数 N,如果N不为质数,那么N可以唯一分解成有限个质数的乘积。所以我们可以用一个factor数组保存每一个质因数。具体做法是,比如计算时乘以2,而2只有一个质因数2,那么factor[2]++;反之,如果要处以一个2,那么...
2018-07-20 16:28:22 134
原创 洛谷——P1032 字串变换
题目描述:已知有两个字串 A,B 及一组字串变换的规则(至多 6 个规则): A1 -> B1 A2 -> B2 规则的含义为:在A 中的子串 A1 可以变换为 B1 ,A2可以变换为 B2…。 例如: A =’ abcd ’ BB =’ xyz ’ 变换规则为: ‘ abc ’->‘ xu ’ ‘ ud ’->‘ y ’ ‘ y ’->‘ yz ...
2018-07-15 18:33:50 357
原创 洛谷——P1162 填涂颜色
题目描述由数字 00 组成的方阵中,有一任意形状闭合圈,闭合圈由数字 11 构成,围圈时只走上下左右 4 个方向。现要求把闭合圈内的所有空间都填写成 2 .例如: 6×6 的方阵( n=6 ),涂色前和涂色后的方阵如下:0 0 0 0 0 00 0 1 1 1 10 1 1 0 0 11 1 0 0 0 11 0 0 0 0 11 1 1 1 1 10 0 0 0 0 00...
2018-07-14 19:45:12 299
原创 SCU4439——Vertex Cover
SCU4439——Vertex Coverfrog has a graph with n vertices v(1),v(2),…,v(n) and m edges (v(a1),v(b1)),(v(a2),v(b2)),…,(v(am),v(bm)).She would like to color some vertices so that each edge has at least ...
2018-04-22 11:25:12 251
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人