算法:动态规划
dp题目
GoesM
业余兴趣,随便搞搞
展开
-
【状态dp】电车加油问题
你正在驾驶一辆电动车从上海前往北京,途中在距离上海x1, x2, …, xn处有充电站。由于等待时间c和充电速度g的不同,在充电站xi处为电动车充电k公里的电量需要ci + kgi分钟。你的车有足够的容量一次充满电后行驶400公里。假设车辆在上海的第一个充电站x1开始时电池电量为0,xn是你在北京的目的地。设计一个高效的算法,找出你应该在哪里停下来,在充电站花费的时间最少。原创 2024-03-31 16:53:32 · 294 阅读 · 0 评论 -
【模板】最长公共子序列
夯实基础2333模板1:蓝桥杯-算法提高-最长公共子序列就是处理字符串的#include<iostream>#include<cstring>#include<cstdio>using namespace std;#if 0Goes && G.S.M.Title://蓝桥杯-算法提高-最长公共子序列 #endif//dp[i][j]分别以i结尾 以j结尾 的公共子序列长度//if(s[i]==s[j]) dp[i][j]=dp[i-原创 2022-04-07 13:28:35 · 188 阅读 · 0 评论 -
【蓝桥杯 算法训练】强力党逗志芃
发现自己的dp能力还是很弱,记一道树形dp//title:http://lx.lanqiao.cn/problem.page?gpid=T2963//蓝桥杯 算法训练 强力党逗志芃//树形dp#include<iostream>#include<cstring>#include<cstdio>using namespace std;int m,n,f[205],v[205];struct ss{ int to,nex;}edge[205];int h原创 2022-02-22 15:41:42 · 2023 阅读 · 0 评论 -
汉诺塔(3塔、4塔思路详记)
时隔多年,忽然又回来了。记录一个小小的汉诺塔2333没想到3年过去,我写递推还要看题解才能想明白/(ㄒoㄒ)/~~#include<iostream>#include<cstring>#include<cstdio>using namespace std;#if 0Author: GoesMPreparation for competition as MUCerDay3--2021.8.4.Theme: Basic DFS & BFS &am原创 2021-08-04 21:54:55 · 1806 阅读 · 0 评论 -
洛谷P1437 [HNOI2004]敲砖块【巧妙dp】
——弃子省选前做水dp 其实挺巧妙的[HNOI2004]敲砖块 在一个凹槽中放置了 n 层砖块、最上面的一层有n 块砖,从上到下每层依次减少一块砖。每块砖 都有一个分值,敲掉这块砖就能得到相应的分值,如下图所示。14 15 4 3 23 33 33 76 2 2 13 11 22 23 31 如果你想敲掉第...原创 2018-04-05 12:29:47 · 382 阅读 · 0 评论 -
[AHOI2009]中国象棋【巧妙DP】
* [AHOI2009]中国象棋* 题目描述 这次小可可想解决的难题和中国象棋有关,在一个N行M列的棋盘上,让你放若干个炮(可以是0个),使得没有一个炮可以攻击到另一个炮,请问有多少种放置方法。大家肯定很清楚,在中国象棋中炮的行走方式是:一个炮攻击到另一个炮,当且仅当它们在同一行或同一列中,且它们之间恰好 有一个棋子。你也来和小可可一起锻炼一下思维吧! 输入输出格式 输入格式: 一行包含...原创 2018-02-11 15:45:08 · 269 阅读 · 1 评论 -
洛谷 P1415 拆分数列【巧妙dp】
洛谷 P1415 拆分数列 题目描述给出一列数字,需要你添加任意多个逗号将其拆成若干个严格递增的数。如果有多组解,则输出使得最后一个数最小的同时,字典序最大的解(即先要满足最后一个数最小;如果有多组解,则使得第一个数尽量大;如果仍有多组解,则使得第二个数尽量大,依次类推……)。输入输出格式输入格式: 共一行,为初始的数字。输出格式: 共一行,为拆分之后的数列。每个数之间用逗号原创 2018-02-01 17:55:30 · 584 阅读 · 0 评论 -
洛谷 P2157 [SDOI2009]学校食堂Dining【状态压缩】
不喜欢数据结构,决心练习水dp;洛谷 P2157 [SDOI2009]学校食堂Dining 题目描述小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭。学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴。当然,不同的人口味也不一定相同,但每个人的口味都可以用一个非负整数表示。 由于人手不够,食堂每次只能为一个人做菜。做每道菜所需的时间是和前一道菜有关的,若前一道菜的对原创 2018-01-24 00:18:15 · 281 阅读 · 0 评论 -
数位dp
洛谷 P2602 [ZJOI2010]数字计数 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次。 输入格式: 输入文件中仅包含一行两个整数a、b,含义如上所述。输出格式: 输出文件中包含一行10个整数,分别表示0-9在[a,b]中出现了多少次。 输入样例#1: 1 99 输出样例#1: 9 20 20 20 20 20 20 20原创 2018-01-11 18:09:06 · 233 阅读 · 0 评论 -
【模板】RMQ算法 && 用RMQ做LCA(倍增+动态规划)
早学了RMQ,今天才写了 其实就是一个比较特别的动规吧(⊙o⊙)… 用来求区间最值的一个算法嗯……..就是一个动态转移方程 dp[i][j]表示以第i个数字为开头,往后2的j次方个数字中最大的那个数字是哪一个 dp[i][j]=min/max (dp[i][j-1],dp[i+ (2的j次方) ][j-1]) 很神奇的一个东西。 也很好实现查询(x,y)的时候 int k=log(y原创 2017-10-02 18:18:45 · 539 阅读 · 0 评论 -
[ZJOI2006]物流运输 luogu.P1772
今天特别高兴,所以写博客2333一道浙江省选题 SPFA+DP可能正常的思维是: 我们可以求出一段最短路让这段路在某一段时间内可以一直使用 然后我们如果求出来每一段时间内的这条路就很容易知道答案 然后我们就可以DP 接下来就是后面的内容了。(我直接把我在洛谷发的题解粘过来了) 相信自己可以看得懂233//[ZJOI2006]物流运输 luogu.P1772 #include<iost原创 2017-10-18 20:42:32 · 360 阅读 · 1 评论