自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(110)
  • 收藏
  • 关注

原创 Storage Keepers UVA - 10163 

看到很多人都是选择用两次DP去做的第一个dp[i, j] : 前i个人照看前j个物品的最大安全值。第二个dp[i, j] : 在得到最大安全值的前提下前i个人照看前j个物品的最少花费这种做法是我没有想到的,这两种都是是用01背包的解法第一种对应随便装,不要求恰好装满,第二种对应恰好装满具体写法见代码另外还看到了另外一种做法,时间复杂度相对高点,但更好写,利用二分+DP,具体...

2018-10-06 21:18:50 179

原创 Locker UVA - 1631 

一道相对简单的DP问题,之所以简单是因为状态转移比较容易想最初是想用一维就解决这个问题的,但是代码bug太多放弃了所以去看题解发现别人用的是四维,而且代码相当简洁,对比我用一维的思路,发现其实思想差不多,只不过增加维度后代码难度减少了很多,用一维的话需要你自己去计算怎么带动其他两位可以达到最优,这个稍微复杂点代码参考别人#include<iostream>#incl...

2018-10-06 19:45:34 189

原创 Stamps and Envelope Size UVA - 242 

完全背包问题附一篇完全背包问题很好的讲解https://www.cnblogs.com/Kalix/p/7622102.html01背包也值得一看http://www.cnblogs.com/Kalix/p/7617856.html代码也好理解#include<iostream>#include<cmath>#include<cstdio>...

2018-10-06 19:26:41 178

原创 M - Integer Transmission UVA - 1228 详细题解

问题简述: 给你一个n比特的非负整数k,比如3比特的正整数2就表示010,然后我们传输这个数,每个比特从左到右传输,也就是一个比特一个比特的传,其中每个比特都可能会有0~d的延迟,若同时有多个比特同时被传送过来,实际接受到的顺序任意,求实际收到的整数有多少种,已及他们的最大值最小值 很有难度的一道题,不过这道题对我的启发意义非常大 具体做法参考自刘汝佳,我这里主要是将他的思路说的更...

2018-09-29 01:49:08 251

原创 Fund Management UVA - 1412 

很有难度的一道题将n元组映射成一个数字,既方便了状态的转移,也加快了时间,否则利用九进制去进行操作,很麻烦的将所有状态都记录下来之后,股票的买个卖就可以抽象成一幅图了,也方便了状态转移具体细节看代码吧#include<iostream>#include<cmath>#include<cstdio>#include<cstdlib&g...

2018-09-24 21:41:22 194

原创 According to Bartjens UVA - 817 

很明显的暴力枚举,枚举的过程中会遇到关于表达式计算的问题,在暴力枚举中算是一个常见的问题吧代码参考别人的,看了之后感觉在表达式计算的方面还有可以改进的地方关于改进的问题等表示式计算模板出来再去考虑吧#include<iostream>#include<cmath>#include<cstdio>#include<cstdlib>...

2018-09-24 18:28:50 183

原创 51nod 1791 合法括号子段 括号匹配算法+dp计数

http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1791给定一串括号串,对于其中每个左括号‘(’最多只能找到一个与之相匹配的右括号‘)’。显然,在括号串固定的情况下,括号的匹配是固定不变的。根据题意,空串为合法括号,“()”为合法括号串,若A为合法括号串则”(A)”为合法括号串。那么我们可以先用括号匹配算法(利...

2018-09-20 15:30:01 302

原创 Twenty Questions UVA - 1252 

代码参考刘汝佳 #include<iostream>#include<cmath>#include<cstdio>#include<cstdlib>#include<cstring>#include<iomanip>#include<assert.h>#include<vect

2018-09-20 14:22:13 118

原创 Headmaster's Headache UVA - 10817 

#include<iostream>#include<cmath>#include<cstdio>#include<cstdlib>#include<cstring>#include<iomanip>#include<assert.h>#include<vector>#

2018-09-20 00:20:02 122

转载 最优配对问题 状压DP

感谢老哥的代码,总感觉紫书上的代码不太好,总感觉写法与状态定义有所出入,而且有一处明显错误,不知道是不是印刷错误,不过看了老哥的代码感觉他的代码超越刘汝佳,非常感谢https://blog.csdn.net/dolfamingo/article/details/72593993 ...

2018-09-19 23:21:03 299

转载 3个重要的同余式定理

https://www.cnblogs.com/ibilllee/p/7704927.html

2018-09-19 21:04:51 602

原创 Perfect Service UVA - 1218  树上的动态规划

#include<iostream>#include<cmath>#include<cstdio>#include<cstdlib>#include<cstring>#include<iomanip>#include<assert.h>#include<vector>#

2018-09-19 15:19:26 124

原创 Party at Hali-Bula UVA - 1220  树上动态规划

之前一直对树上动态规划不太感冒这道题总算是对树上的动态规划的敲门砖吧对这类题的理解又加深了许多,收获很大 #include<iostream>#include<cmath>#include<cstdio>#include<cstdlib>#include<cstring>#include<iomanip&...

2018-09-18 00:13:51 115

转载 表达式计算模板

代码来自https://www.cnblogs.com/demian/p/6104625.html可以实现+ - * / ( ) . 等运算符,表达式以字符串的形式计算,字符串中不允许有空格//欧拉函数打表#include<iostream>#include<cmath>#include<cstdio>#include<cstring&g...

2018-09-17 21:56:13 167

原创 Send a Table UVA - 10820  欧拉函数打表

//欧拉函数打表#include<iostream>#include<cmath>#include<cstdio>#include<cstdlib>#include<cstring>#include<iomanip>#include<assert.h>#include<vector&

2018-09-17 21:18:42 142

原创 Irrelevant Elements UVA - 1635  唯一分解定理

很不错的一道题 //a^b=c a^c=b #include<iostream>#include<cmath>#include<cstdio>#include<cstdlib>#include<cstring>#include<iomanip>#include<assert.h>#incl

2018-09-17 20:50:10 132

原创 Choose and divide UVA - 10375  唯一分解定理

//唯一分解定理#include<iostream>#include<cmath>#include<cstdio>#include<cstdlib>#include<cstring>#include<vector>#include<algorithm>#pragma warning(disable

2018-09-17 20:24:44 96

转载 Color Length UVA - 1625 

转载自https://www.cnblogs.com/zyb993963526/p/6364069.html题意:输入两个长度分别为n和m的颜色序列,要求按顺序合并成同一个序列,即每次可以把一个序列开头的颜色放到新序列的尾部。对于每个颜色c来说,其跨度L(c)等于最大位置和最小位置之差。思路:我们用d(i,j)表示两个序列已经分别移走了i和j个元素时的最小代价。当然为了在状态转移时...

2018-09-15 20:42:08 118

原创 Planning mobile robot on Tree (EASY Version) UVA - 12569 

https://blog.csdn.net/wcr1996/article/details/43631771感谢这位博主,学了很多,代码相当优秀很有难度的一道题思路的确不难,就是bfs搜索,但是具体实现起来还是很花时间的,数据结构还是比较好表示的,但是直接用结构体来表示石头和机器人位置会会超时,所以需要用到状态压缩代码在原来的基础上加了部分注释,方便回顾时理解#include...

2018-09-13 17:51:33 152

原创 Guarding the Chessboard UVA - 11214 

https://vjudge.net/problem/UVA-11214刚开始直接对棋盘进行操作,直接T到死代码借鉴别人的这道题如果采用常规的判重操作,时间是承受不住的,因为每次都要对一百个点进行判重因为这个又T了好几次另外从样例中可以看出放5个是最多的,所以如果前4个不行,直接输出5即可#include<iostream>#include<cmath...

2018-09-13 16:17:43 95

原创 最小生成树

http://poj.org/problem?id=1287Prim算法//Prim模板//题目链接 : http://poj.org/problem?id=1287#include <stdio.h>#include <string.h>#include <vector>#include <queue>using names...

2018-09-12 21:27:02 76

原创 Brackets sequence UVA - 1626 

参考刘汝佳代码写的加了一点点注释#include<iostream>#include<cmath>#include<cstdio>#include<cstdlib>#include<cstring>#include<iomanip>#include<assert.h>#include&amp

2018-09-11 22:02:01 97

原创 The Tower of Babylon UVA - 437  模板题

可作为DAG中最长路问题模板#include<iostream>#include<cmath>#include<cstdio>#include<cstdlib>#include<cstring>#include<iomanip>#include<assert.h>#include<

2018-09-11 16:04:48 95

原创 Partitioning by Palindromes UVA - 11584 

动态规划判断回文串采用左右逼近的方法,逻辑简单也好写另外这道题需要多次判断一个字符串是不是回文串虽然每次左右边界不一样,但是在判断到一定程度时还是会出现许多重复例如 判断1到8 ,先判断1位置字符是否与8位置字符相同,不同则返回0反之递归判断2到7,而2到7我们已经判断过了,如果我们保存了这个结果,那么久可以直接用了这道题数据规模为1000,所以不那样保存也可以我的写法...

2018-09-11 16:01:44 89

原创 Lighting System Design UVA - 11400 

如果要换就都换,否则都不换列一下式子很快就可以发现,如果要换一定是不是因为灯泡价格更低,就是因为当前电源太贵,所以要换就换紫书说的方法如下先对灯泡属性按照电压由小到大的顺序排序定义d[k]为买前k种灯泡的最优解状态转移方程为d[k]=d[j]+剩下的全买第k种灯泡 1<= j<k这里隐含了一个结论就是要换能换成一种灯泡的一定是连续的,可以自己通过列式子发现,...

2018-09-11 13:39:39 229

原创 Amphiphilic Carbon Molecules UVA - 1606  (看不懂)

思想简单易懂,代码晦涩难懂先放着吧代码来自刘汝佳代码仓库主要是统计个数那块不太明白// UVa1606 Amphiphilic Carbon Molecules// Rujia Liu// To make life a bit easier, we change each color 1 point into color 0.// Then we only need to ...

2018-09-10 17:00:21 152

原创 Fabled Rooks UVA - 11134 

很不错的题,利用贪心解决代码参考别人的#include<iostream>#include<cmath>#include<cstdio>#include<cstdlib>#include<cstring>#include<iomanip>#include<assert.h>#include&

2018-09-10 15:45:42 119

原创 选择不想交区间

贪心模板如下#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N = 10005;struct Node { int l, r;}p[N];bool cmp(Node a, Node b) { return a.r ...

2018-09-10 12:42:39 97

原创 逆序对问题的几种解法

问题描述(从别人那里盗的图)复杂度n方一定超时,不解释利用分治,复杂度n*logn int cnt = 0;void merge_sort(int *A, int x, int y, int *T){ if (y - x >1 ) { int m = x + (y - x) / 2; int p = x, q = m, i = x; merge_sor...

2018-09-10 00:02:36 403

原创 Cubic Eight-Puzzle UVA - 1604

参考了下这位博主的框架 https://blog.csdn.net/zju2016/article/details/78594948感谢博主9个格子,自然二维数组,每个立方体由于他的特殊性,所有只需要俩个参数即可,选择用pair状态转移也比较简单另外是优化,这位博主的判重比较简单,只判断这一步走的结果会不会走到上一步未走的状态,也就是会不会走回去这样应该还是会产生重复的,但是省...

2018-09-09 23:23:14 141

原创 F - Overlapping Squares UVA - 12113 

暴力枚举很多博客都使用了一个vis数组去进行判重虽然矩形摆放位置只有9种,但这好像并不意味着,摆过某个位置后就不能再摆了将vis判重去掉代码依旧可以AC,加上也可以AC不知道怎么解释?留存吧#include<iostream>#include<cmath>#include<cstdio>#include<algorithm&...

2018-09-09 01:17:37 126

原创 E - Pipeline Scheduling UVA - 690 

题目链接:uva 690 - Pipeline Scheduling题目大意:有10个任务,5个管道,每个任务需要占用不同时间的管道,给出任务所占用管道的时间,求最短需要多少时间。回朔法+剪枝注意数据表示有一种更好的做法,可以不需要开代码中的S数组博客链接 https://blog.csdn.net/ACM_HKBU/article/details/42677547代码参考...

2018-09-09 00:22:34 139

原创 D - Cutting Chains UVA - 818 

https://vjudge.net/contest/220824#problem/DSTL容器Bitset用法https://www.cnblogs.com/Ash-ly/p/5890024.htmlfill函数,fill_n函数用法https://blog.csdn.net/monkeyduck/article/details/44536371感谢博主暴力搜索,利用位运算简化了...

2018-09-08 22:59:30 421

原创 Square Destroyer UVA - 1603 

回朔法参考博客 ,感谢博主https://www.cnblogs.com/zyb993963526/p/6349947.html#commentformhttps://vjudge.net/problem/UVA-1603#include<iostream>#include<cmath>#include<cstdio>#include<...

2018-09-07 10:44:40 161

原创 Lattice Animals UVA - 1602 

参考博客https://www.cnblogs.com/Rubbishes/p/7206869.html?utm_source=itdadao&utm_medium=referral学到了很多,非常感谢回朔法求解通过对n-1个连通块进行扩展,可以得到所有的n个连通块的情形这个题如果我们直接对输入数据进行处理,将会做许多重复工作,因为每次都要从1开始,到n结束,要枚举完1到n...

2018-09-06 22:56:16 144

原创 Editing a Book UVA - 11212 

附一篇IDA*算法的总结,比较简略,https://blog.csdn.net/urecvbnkuhbh_54245df/article/details/5856756另附一篇A*算法的讲解https://blog.csdn.net/hitwhylz/article/details/23089415代码参考紫书代码仓库#include<iostream>#include...

2018-09-06 09:30:58 132

原创 The Morning after Halloween UVA - 1601 

将原来的地图转化为一个图,省内存,省时间第一份代码是刘汝佳代码仓库里的,我加了点注释第二份是看了代码之后自己模仿的写的,照抄都WA了好多次,太不仔细了,难受// UVa1601 The Morning after Halloween// Rujia Liu// This code implements the simpliest yet efficient-enough algo...

2018-09-05 23:37:57 133

原创 UVA225

总算A了 #include<iostream>#include<cmath>#include<cstdio>#include<algorithm>#include<cstring>#include<string>#include<vector>#pragma warning(disable:

2018-09-05 21:26:44 205

原创 Fill UVA - 10603

BFS看了刘汝佳代码依旧有一些不懂得地方比如代码中使用了dist数组,但是这个数组作用是什么依旧不懂另外这个方法是否正确的确存在争议如果追求次数最少,那么每次取出倒水次数最少的扩展自然无可厚非但是要求倒水量最少,取出当前倒水最少的进行扩展就一定能得到正确答案?当然刘汝佳也说明了这个问题代码直接看的代码仓库,加了一点注释等刷题多了再回过头来看// UVa1060...

2018-09-05 10:17:06 158

原创 构造子集的三种方法

包含空集代码来自紫书// {0~n-1}的所有子集:增量构造法// Rujia Liu#include<cstdio>#pragma warning(disable:4996)using namespace std;void print_subset(int n, int* A, int cur) { for (int i = 0; i < cur; i+...

2018-09-04 21:07:53 1343

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除