
UVa
文章平均质量分 67
Kim0403
这个作者很懒,什么都没留下…
展开
-
UVA10375 Choose and Divide (唯一分解定理)
题意:已知C(m,n)=m! / (n!*(m-n!)),输入整数p,q,r,s(p>=q,r>=s,p,q,r,s 解题思路:使用唯一分解定理进行求解 #include #include #include #include #include #include #include #include #define CPY(A,B)memcpy(A,B,sizeof(A))原创 2017-03-11 16:11:05 · 641 阅读 · 0 评论 -
uva 11584 Partitioning by Palindromes 回文+dp
dp[i]表示以i结尾的串最少可以分割的串数。 状态方程:dp[i] = min{ dp[j]+1, 串[j,i]是回文串&&1 #include #include #include #include #include #include #include #include #include #include #include #include #include #include原创 2016-07-11 16:23:24 · 355 阅读 · 0 评论 -
UVa 116 Unidirectional TSP
逆向dp,保证字典序最小。 借鉴了小白菜又菜大神的码…… 抽空再把书上的敲一遍。嗯…… #include #include #include #include using namespace std; int maps[11][101]; int dp[11][101]; int fath[11][101]; int main() { int n,m; while原创 2016-07-08 21:17:36 · 423 阅读 · 0 评论 -
UVa 12563 dp 背包
有人称此题为双肩包,哈哈,因为题意是问你 所以状态有两个并列的,并且优先顺序不一样。 我看了另外两篇博文,觉得dp写法很神奇,果然dp可以做多样变化,但是大同小异,殊途同归。 http://blog.youkuaiyun.com/u013480600/article/details/40376143 http://blog.youkuaiyun.com/u014733623/article/details/381原创 2016-07-08 20:53:39 · 304 阅读 · 0 评论 -
UVa 1347 Tour
规定从最左边的点出发以简化问题,然后严格向右直至最右边的点,再从最右边的点走到最左点,保证途径所有点各一次(除了最左点)且路径最小。 用dp(i,j)表示A走到i,B走到j时的状态还需要走多远到终点(注意表示的是还有多少到终点,所以其结果与前面怎么走的无关),所以必然dp(i,j)==dp(j,i); 规定dp(i,j)规定为:A在i,B在j(i>=j)且i之前的所有点都走过了。 那原创 2016-07-07 17:54:48 · 275 阅读 · 0 评论 -
UVa 437 The Tower of Babylon
思路借鉴了下别人的 据说坑爹的sort不支持二维数组,最好用结构体。 嗯……反正这道题我用不着二维数组,不过留意一下 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #in原创 2016-07-07 16:20:36 · 300 阅读 · 0 评论 -
UVa 1025 A Spy in the Metro
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define CPY(A, B) memcpy(A, B, sizeof(A)) typed原创 2016-07-05 17:10:10 · 336 阅读 · 0 评论 -
UVa 11400 Lighting System Design
通过用电压大的灯泡替换某些电压小的灯泡来减小总花费,因为不能降低大厅亮度。求最小的花费。 首先,为求得最小花费,对于某种灯泡,要么全部替换,要么全不替换,这个很容易证明。 我们应该对决策进行一定的限制: 求前i个灯泡的最小花费时,只允许用第i种灯泡进行替换! 如何替换呢? 只能替换1 到i 中序号连续的灯泡! 即决策应为选择一个j,替换掉序号为 j 到i - 1的所有灯泡,使得前i号原创 2016-07-11 11:37:43 · 329 阅读 · 0 评论 -
UVALive 7270 (hihoCoder 1258) Osu! Master
T组数据,每组有n行,每行为下面三种格式之一: C x B x S 其中x为一个正整数,x值从1连续增长到k的一组C序列或者B序列视为一个pattern,单独的一个S视为一个pattern。 统计序列中pattern的总数。即C或B后面是1就ans++,遇到S就ans++。 #include #define CPY(A,B)memcpy(A,B,sizeof(A))原创 2016-08-07 19:23:06 · 544 阅读 · 6 评论