dp练习(2)——老鼠的旅行】的更多相关文章

1267 老鼠的旅行(来源:codevs) #include "bits/stdc++.h" using namespace std; ][]; ][]; int main() { memset(dp,,sizeof(dp)); memset(Map,, sizeof(Map)); int n, m; cin >> n >> m; int k; cin >> k; ;i <= k;i++) { int x,y; cin >> x &…
1267 老鼠的旅行 2012年CCC加拿大高中生信息学奥赛  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description You are a mouse that lives in a cage in a large laboratory. 你是一只生活在笼子里的实验室老鼠. The laboratory is composed of one rectangular grid of square cages, wit…
1267 老鼠的旅行  2012年CCC加拿大高中生信息学奥赛 题目描述 Description You are a mouse that lives in a cage in a large laboratory. 你是一只生活在笼子里的实验室老鼠. The laboratory is composed of one rectangular grid of square cages, with a total of R rows and C columns of cages (1 ≤ R,C…
时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题目描述 Description You are a mouse that lives in a cage in a large laboratory. 你是一只生活在笼子里的实验室老鼠. The laboratory is composed of one rectangular grid of square cages, with a total of R rows and C columns of cage…
http://codevs.cn/problem/1267/  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description You are a mouse that lives in a cage in a large laboratory. 你是一只生活在笼子里的实验室老鼠. The laboratory is composed of one rectangular grid of square cage…
FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 62898    Accepted Submission(s): 21231 Problem Description FatMouse prepared M pounds of cat food, ready to trade with the cats gu…
序 任何一种具有递推或者递归形式的计算过程,都叫做动态规划 如果你一开始学的时候就不会DP,那么你在考试的时候就一定不会想到用动态规划! 需要进行掌握的内容 1)DP中的基本概念 2)状态 3)转移方程:状态与状态之间的关系 4)无后效性 DP写代码的方式 1)For 2)记忆化搜索  两种转移的方式    1) 顺推 2)逆转 大致的几个过程: 1)根据题意划分阶段 2)根据阶段确定状态 3)根据状态书写方程 一些DP的种类 区间DP 数位DP 状压DP 插头DP(out) 树形DP 背包 博…
https://www.codechef.com/problems/LEMOUSE 题意: 有一个n *m的网格.有一头大象,初始时在(1,1),要移动到(n,m),每次只能向右或者向下走.有些格子中有老鼠,如果大象所在的格子和某个有老鼠的格子的曼哈顿距离$\e$1,大象就会被那只老鼠吓到.求一条移动路径,使得吓到过大象的老鼠数量最少.n;m $\le$100. 开始刷济南集训hzc的课件啦! 最简单的一道$DP$ 一只老鼠只会吓大象一次$f[i][j][0/1]$记录从左还是上走来的,转移时讨…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1422 解题报告:DP题,要使旅行的城市最多,关键是要选出一个城市作为开始,以这个城市作为开始的城市时,能使拥有的钱能旅行的城市最多,我的做法是把前n-1个城市添加到n个城市的数组后面,这样就不用考虑环的问题了, #include<cstdio> #include<cstring> #include<iostream> using namespace std; ],l[];…
关于 DP 的一些题目 String painter 先区间 DP,\(dp[l][r]\) 表示把一个空串涂成 \(t[l,r]\) 这个子串的最小花费.再考虑 \(s\) 字符串,\(f[i]\) 表示前 \(i\) 个字符相同时的最小花费. Parade 单调队列优化 DP. Free Goodies 对于第一个人,她选择的顺序是固定的.第二个人想要选到全局最优,那么有 \(dp[i][j]\) 表示到第 \(i\) 个数时,选了 \(j\) 个数时的最大值,顺便再记录下第一个人选的最大值…
Mice and Holes 单调队列优化dp n个老鼠,m个洞,告诉你他们的一维坐标和m个洞的容量限制,问最小总距离.1 ≤ n, m ≤ 5000. ​ 首先列出朴素的dp方程:\(f[i][j]=min(f[i-1][k]+s[j]-s[k])\),其中\(f[i][j]\)表示前i个洞,有j个老鼠进洞.s[j]-s[k]表示第k+1到j个老鼠进洞的路径和.然后我们发现,\(f[i][j]\)的值取决于最小的\(f[i-1][k]-s[k]\ (k<=j)\),同时,j-k必须小于等于第i…
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1160 FatMouse's Speed Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 17386    Accepted Submission(s): 7694Special Judge Problem Description…
120min, 5题.本菜鸡怒跪. 1.变身程序员 (读取时可以按行读取,直到读到空行为止,再对读取过的所有行做转换处理) 输出描述:如果能将所有的产品经理变成程序员,输出最小的分钟数:如果不能将所有的产品经理变成程序员,输出-1.示例1:输入:0 21 0输出:-1示例2:输入:1 2 11 1 00 1 1输出:3示例3:输入:1 22 11 20 10 11 1输出:4 此题与https://leetcode.com/problems/rotting-oranges/类似. 基本思想就是将…
设dp[i][j]为有白老鼠i只,黑老鼠j只时轮到公主取时,公主赢的概率. 那么当i = 0 时,为0 当j = 0时,为1 公主可直接取出白老鼠一只赢的概率为i/(i+j) 公主取出了黑老鼠,龙必然也要取出黑老鼠公主才能赢,跑出来的老鼠有两种可能 跑出来的是黑老鼠,公主赢的概率为dp[i][j] += j/(i+j)*(j-1)/(i+j-1)*(j-2)/(i+j-2)*dp[i][j-3].(j>=3) 跑出来的是白老鼠,公主赢的概率为dp[i][j] += j/(i+j)*(j-1)/(…
除非特别忙,我接下来会尽可能翻译我做的每道CF题的题面! Codeforces 148D 一袋老鼠 Bag of mice | 概率DP 水题 题面 胡小兔和司公子都认为对方是垃圾. 为了决出谁才是垃圾,大哥拿来了一袋老鼠,其中有w只白老鼠和b只黑老鼠.胡小兔先抓,先抓到白老鼠的人赢. 每次学姐抓完老鼠之后,总会有另外一只老鼠从袋子里自己跑出来(这只老鼠不算任何人抓的),而胡小兔抓老鼠时则不会发生这样的事. 每次袋子里的每只老鼠被抓到的概率相等,当有一只老鼠跑出来的时候,每只老鼠跑出来的几率也相…
Background 重要的不是去哪里,而是和你在一起.--小红 对小明和小红来说,2014年7月29日是一个美好的日子.这一天是他们相识100天的纪念日. (小明:小红,感谢你2场大考时默默的支持,100个日夜的陪伴:感谢你照亮我100个美好的日子,给我留下无数美好的回忆--在这个美好的日子里,我准备带你去旅行.) Description 小明和小红还剩下N天的假期,小明可以安排旅行的计划.如果连续X天旅游,小明需要花旅行费用PXX元:如果连续X天不旅游,小明需要请小红吃饭,花费为Q*X元.(…
题意:小C上周末和他可爱的同学小A一起去X湖玩. X湖景区一共有n个景点,这些景点由n-1条观光道连接着,从每个景点开始都可以通过观光道直接或间接地走到其他所有的景点.小C带着小A从1号景点开始游玩.游览完第一个景点后,先由小C决定下一个游览的景点,他们一起走去那个景点玩.接下来,他们轮流决定他们下一步去哪个景点玩.他们不会选择已经走过的景点,因为重复游览一个景点是无趣的.当他们无法选择下一个景点时,他们就结束旅程. 小C是好动的男孩纸,所以他希望游览的过程尽量长,也就是走过观光道的长度和最大.…
小象和老鼠 DP \(N*M\)的网格图,格子\((i,j)\)有\(A_{i,j}\)个老鼠,问小象从左上角\((1,1)\)走到右下角\((N,M)\)看到的最少老鼠.小象可以看见老鼠,当且仅当老鼠的位置\((x2,y2)\)满足\(|x1-x2|+|y1-y2|\le1\). 比较有意思的一道DP题,还是比较简单.我们发现如果直接设\(f[i][j]\)跑会导致一些格子重复计算,所以我们可以设\(f[i][j][0]\)表示到位置\((i,j)\)时最少看到的老鼠数量,并且当前状态是从上面…
题目大意:有$m$个人要从城市$1$开始,依次游览城市$1$到$n$. 每一天,每一个游客有$p_i$的概率去下一个城市,和$1-p_i$的概率结束游览. 当游客到达城市$j$,他会得到$(1+\frac{C_j}{C_{j-1}})H_{i,j}$的收益,其中$C_i$表示到访第$i$个城市的人数. 问所有人的期望收益. 数据范围:$n,m≤16$ 我们考虑状压$DP$ 设$f[i][S]$表示到达城市i的人群为$S$的概率. 设$ans[i][S]$表示到达城市i的人群为$S$时,所有人在前…
问题描述 : After coding so many days,Mr Acmer wants to have a good rest.So travelling is the best choice!He has decided to visit n cities(he insists on seeing all the cities!And he does not mind which city being his start station because superman can bri…
点此看题面 大致题意: 给你一张无向图,每个点权值为\(0\)或\(1\),多组询问两点之间是否存在一条回文路径. 暴力\(DP\) 首先,看到\(n\)如此之小(\(n\le5000\)),便容易想到一个\(O(m^2)\)的暴力\(DP\). 我们用\(f_{i,j}\)表示\(i\)与\(j\)两点之间是否存在一条回文路径. 初始化,\(f_{i,i}=1,f_{i,j}=1(s_i=s_j)\),即分别预处理最短的奇数长度回文路径和偶数长度回文路径. 然后我们把所有\(f_{i,j}=1…
[洛谷P2134] 百日旅行 题目背景 重要的不是去哪里,而是和你在一起.--小红 对小明和小红来说,2014年7月29日是一个美好的日子.这一天是他们相识100天的纪念日. (小明:小红,感谢你2场大考时默默的支持,100个日夜的陪伴:感谢你照亮我100个美好的日子,给我留下无数美好的回忆--在这个美好的日子里,我准备带你去旅行.) 题目描述 小明和小红还剩下N天的假期,小明可以安排旅行的计划.如果连续X天旅游,小明需要花旅行费用\(P*X*X\)元:如果连续X天不旅游,小明需要请小红吃饭,花…
题目链接 Solution 斜率优化\(DP\). 今天下午才打的第一道题 QwQ... \(90\) 分很简单,一个简单的递推. 令 \(f[i]\) 为最后一天旅游的花费, \(g[i]\) 为最后一天吃饭的花费. 转移很简单: \(f_i=min(f_i,g_j+p*(i-j)^2);\) \(g_i=min(g_i,f_j+q*(i-j));\) 时间复杂度 \(O(n^2)\),然后看优化. 对于 \(g[i]\),可以直接从\(1\)到\(i-1\)记录一个 \(Min(f[j]-q…
题意: 给出一个树,树上每一条边的边权为 1,求树上所有最长链的点集并. 细节: 可能存在多条最长链!最长链!最长链!重要的事情说三遍 分析: 方法round 1:暴力乱搞Q A Q,边权为正-> d f s 解决,如何标记点集呢,只需要求出最大长度,然后在进行一次遍历,当当前长度等于最长链长的时候就返回 true,并且对沿路的节点进行标记. 好吧这样你就成功的死亡了,还是细节最长链有多条!有多条!有多条!好吧我们再来看一张神奇的图片 点我的最帅最美 想象一下多条最长链一定是根所示的有一条链和一…
题目传送门 由于满足游览先后顺序从西到东的性质,我们很自然的想到用拓扑排序处理出一个合理的游览顺序. 然鹅,之后呢? 事实上,拓扑排序常与Dp相结合,解决后效性.我们就可以在每次拓扑入队的时候更新答案,设f[i]表示终点为i能经过的最多城市数.则f[j]=max(f[j],f[i]+1). *Update 思考的时候,没想到dp qwq. 知道要用dp后就想了很久,想出了记录前驱的方法,但是不太对.(挖坑) code #include<cstdio> #include<algorithm…
在DAG中,拓扑排序可以确定dp的顺序 把图的信息转化到一个拓扑序上 注意转移的时候要用边转移 这道题的dp是用刷表法 #include<bits/stdc++.h> #define REP(i, a, b) for(register int i = (a); i < (b); i++) #define _for(i, a, b) for(register int i = (a); i <= (b); i++) using namespace std; ; struct Edge{…
我看了一下其他大佬的题解,大部分都是拓扑排序加上DP.那么我想有的人是不明白为什么这么做的,拓扑排序有什么性质使得可以DP呢?下面我就提一下. 对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前. (源自百度) 通俗的说就是,一张有向无环图的拓扑序可以使得任意的起点u,它的一个终点v,在序列中的顺序是u在前v在后 我下面先附上代码,然后在继续…
链接:https://www.nowcoder.net/acm/contest/56/F   时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 有一天Masha回到家,发现有n只老鼠在它公寓的走廊上,她大声呼叫,所以老鼠们都跑进了走廊的洞中.  这个走廊可以用一个数轴来表示,上面有n只老鼠和m个老鼠洞.第i只老鼠有一个坐标…
题目传送门(内部题83) 输入格式 第一行两个整数$n,m$ 接下来$m$行,每行三个整数,$u,v,w$,表示从$u$到$v$有一条权值为$w$的边 接下来一行有一个整数$q$,表示$q$天 接下来$q$行,每行三个整数,$s_i,t_i,k_i$,表示从$s_i$到$t_i$至少经过$k_i$条边 输出格式 一共$q$行,每行一个整数,表示在第$i$天中的最短距离,如果没有符合要求的答案,输出$-1$. 样例 样例输入: 3 31 2 12 3 103 1 10031 1 11 2 11 3…
为什么有人永远渴望旅行,或许就因为,巧合和温暖会在下一秒蜂拥而至吧. 一直想去旅游的天天决定在即将到来的五一假期中安排一场环游世界的旅行.为此,他已经提前查阅了很多资料,并准备画一张旅游路线图.天天先将所有可能会去的 nn 个旅游城市依次编号标记为 1,2,⋯,n1,2,⋯,n.如果从城市 AA 到城市 BB 有一条直达的铁路线路,他就会在图上画上一条从 AA 向 BB 的有向线段.因为天天不喜欢把时间浪费在往返的乘车上,因此他设计的旅游地图路线是一个有向无环图. 天天身在 11 号城市,他每到…