自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 UVA 10817 Headmaster's Headache (状压dp+记忆化搜索)

题意:这间学校开设S门课,给出校长已经有的师资n,然后再给出m个应聘者,每门课至少有两名任课老师,求最少需要的雇佣工资。分析:一开始没什么头绪,看到网上说01背包,一想是那么回事。还有一个技巧是把2*s位的二进制数表示状态,假设有两门课,那么1100表示两门课都有两个以上老师,0011表示这两门课都只有一个老师。根据现有老师算出初始状态,然后转移,转移终点是到达1100的状态(假设有两门课)。...

2019-01-29 17:40:07 202

原创 UVA 1218 Perfect Service (树形dp)

题意:给出一个图,每个点如果不是服务器,那么他必定和一个且只能和一个服务器相连,问最少有多少个服务器分析:dp[u][0] : u是服务器           dp[u][1] : u不是服务器,但是u的父亲是服务器           dp[u][2] : u不是服务器,且u的父亲也不是服务器状态转移:当前节点为u,子节点为v          dp[u][0] = sum{...

2019-01-28 17:56:07 163

原创 UVA 1220 Party at Hali-Bula (树形dp)

紫书P282 9-13#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <map>#include <vector>#include &lt

2019-01-28 17:43:55 198 1

原创 UVA 12186 Another Crisis (树状dp)

题意:有一家公司,有一个老板和n个员工,老板标号为0,每个员工都有它的上级,工人(最底层)想联名给老板上书,但是一个员工只有它的下级超过t%时它才会递给它的上级,求接下来要想传递信息给老板,至少需要多少个员工签字。分析:入门树状dp,算下这个人u如果要同意,那么dp[u]  = 前c=(K*T - 1)/100 + 1的人的dp[v]相加;状态转移:dp[u]=sum{ dp [ son[...

2019-01-28 17:30:25 200

原创 UVA 116 Unidirectional TSP (dp)

题意:给定一个n*m的矩阵,要求从第一列的任何一行出发,每次沿右或右下或右上到达后面一列,最后到第m列任何一行整个路程的最小值,并且要求是字典序最小的。、分析:正推不好做,选择逆推,同时记录路径代码:#include <iostream>#include <cstdio>#include <cstring>#include <cmath...

2019-01-27 22:47:07 206

原创 UVA 1347 Tour (记忆化搜索dp)

题意:见紫书分析:可以看成两个人一起走,dp[i][j]表示已经走过了max(i,j)个点还剩多长距离到达最后的点,规定i走在j前面,走的时候只往下走max(i,j)+1的那个点即可,最后的状态就是一个人在第n-1个点,求出另一个人在其他点时的最后所剩距离,然后dfs代码:#include <iostream>#include <cstdio>#inclu...

2019-01-27 22:43:26 133

原创 UVA 437 The Tower of Babylon (记忆化搜dp)

题意:有集中长方体,将其摞在一起,上面的底面面积要严格小于下面,每种长方体可以无限次使用,问最高可以摆放多高分析:DAG最长路算法,将一个长方体当成3个长方体使用,不用建边,转移的时候判断一下大小关系即可,最后dfs代码:#include <iostream>#include <cstdio>#include <cstring>#includ...

2019-01-27 22:39:01 153

原创 UVA 1025 A Spy in the Metro (dp)

题意:紫书分析:三种决策转移一下,时间逆向。代码:#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <map>#include <vector&gt

2019-01-27 22:35:14 146

原创 UVA 11925 Generating Permutations (贪心)

题意:给出一个排列,有两种操作1.交换前两个 2.将第一个数移动到最后,通过不超过2*n^2次操作使得一个升序的排列变成所给排列(紫书题意有误)分析:逆向来做,通过操作使得所给序列变为生序,对于操作1不用改变,对于操作2可以将后面的数拿到前面来,最后逆向输出操作序列。代码:#include <iostream>#include <cstdio>#inclu...

2019-01-27 22:32:52 198

原创 UVA 10285 Longest Run on a Snowboard(记忆化搜索)

#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <map>#include <vector>#define FRER() freopen("

2019-01-16 19:06:29 140

原创 UVA 1610 Party Games(构造)

分析:分情况讨论太复杂。可以从每个字母下手,从‘A’开始构造,讨论下特殊情况即可#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <map>#include &l...

2019-01-16 17:46:29 223

原创 UVA 1608 Non-boring sequences(瞎搞)

用map和两个数组保存和一个数左右距离最近相同的数的位置#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <map>#define FRER() freopen(...

2019-01-16 16:41:46 147

原创 UVA 12174 Shuffle (滑动窗口)

题意:有一个播放器用于播放音乐,现在给出s(已有曲目的数量),n给出记录的长度。播放器有随机播放的功能,每次生成一个1~s的随机系列进行播放,当s首歌全部播放完后,重新生成一个播放序列。现在有一段长度为n的播放记录片段(即不完全,前后可能还有歌曲),问下一次随机排序的位置有几种可能。(这题意读了好久。。)分析:可以开一个n+s的数组,从后向前处理,判断每一个窗口是否能成为一个播放列表,之后枚举...

2019-01-16 15:20:20 177

空空如也

空空如也

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

TA关注的人

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