随笔分类 - 动态规划
摘要:传送门 题目大意:n瓶药水,从左到右开始喝,喝完一瓶健康值+a[i],(a[i]有可能是负数),要保证每喝完一瓶药水后健康值不能为负数。 问最多喝几瓶。 题解: 解法一:DP O(n^2) dp[i][j]表示前i瓶药水喝j瓶的最大健康值,则转移方程为dp[i][j]=max(dp[i-1][j-1
阅读全文
摘要:给定一张 n 个点的带权无向图,点从 0∼n−1 标号,求起点 0 到终点 n−1 的最短 Hamilton 路径。 Hamilton 路径的定义是从 0 到 n−1 不重不漏地经过每个点恰好一次。 输入格式 第一行输入整数 n。 接下来 n 行每行 n 个整数,其中第 i 行第 j 个整数表示点
阅读全文
摘要:P2871 [USACO07DEC]手链Charm Bracelet 题解:01背包 #include<iostream> #include<cstdio> #include<cstring> #define maxn 5000 using namespace std; int n,m,c[maxn
阅读全文
摘要:384. 筷子 ★☆ 输入文件:chop.in 输出文件:chop.out 简单对比时间限制:1 s 内存限制:128 MB A先生有很多双筷子。确切的说应该是很多根,因为筷子的长度不一,很难判断出哪两根是一双的。这天,A先生家里来了K个客人,A先生留下他们吃晚饭。加上A先生,A夫人和他们的孩子小A
阅读全文
摘要:题目描述 windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道, 在A和B之间,包括A和B,总共有多少个windy数? 题解 b站传送门 代码 #include<iostream> #include<cstdio> #include<c
阅读全文
摘要:A.同源 题目大意:gcd(a,b)=gcd(a,c)=gcd(b,c)=k,a+b+c=n,给出n,k,构造a,b,c(a,b,c!=k)。1<=n,k<=10^18 题解:思维+构造 因为gcd(a,b)=gcd(b,c)=gcd(a,c)=k.说明a,b,c都为k的倍数,设a=x*k,b=y*
阅读全文
摘要:传送门 A数学题统计 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define mod 1000000007 long long m,n; long long sum; int main() {
阅读全文
摘要:Problem 1 Graph (graph.cpp/c/pas) 【题目描述】 给出 N 个点,M 条边的有向图,对于每个点 v,求 A(v) 表示从点 v 出发,能到达的编号最大的点。 【输入格式】 第 1 行,2 个整数 N,M。 接下来 M 行,每行 2 个整数 Ui,Vi,表示边 ⟨Ui,
阅读全文
摘要:传送门 题目大意:从一个序列两端取数,先后手两人 均采用最优策略,问先后手的得分。 题解: 区间dp 如果先手面临的状态是a1,a2,a3,a4,a5. 如果取走一个那么后手面临的状态是a2,a3,a4,a5、 同样也是一个最优值。 f[l][r]表示选手A面临[l,r]状态的最优值,那么选手B的最
阅读全文
摘要:五道经典动态规划问题1)最大子序列和题目描述:一个序列,选和最大的子序列转移方程:sum[i]=max{sum[i-1]+a[i],a[i]}当前元素的状态是:自己单独一组还是并到前面最后的答案max{sum[i]}扩展到二维:最大子矩阵方法一:而为前缀和 取maxsum[i][j]=sum[i-1
阅读全文
摘要:题解: 贪心+dp 30% N<=5 5!枚举一下 20% 高度没有的时候,高度花费就不存在了,将ci排序, 从小到大挨个跳。另外,20% 准备跳楼没有花费,那么跳 楼的高度一定是从小到大,或者是从大到小。所以按照hi从 小到大排序,那么跳楼一定是排序后连续的一段。枚举第一 栋楼从哪开始跳。对于10
阅读全文
摘要:上午 T1 立方数 题目描述 LYK定义了一个数叫“立方数”,若一个数可以被写作是一个正整数的3次方,则这个数就是立方数,例如1,8,27就是最小的3个立方数。 现在给定一个数P,LYK想要知道这个数是不是立方数。 当然你有可能随机输出一些莫名其妙的东西来骗分,因此LYK有T次询问~ 输入输出格式
阅读全文
摘要:T1 reverse 题目描述 0比1小,所以一个串中如果0全在1前面,这个串就比较和谐。对于一个只包含0和1的串,你每次可以将一个0变成1,或者将一个1变成0。那么,最少需要变多少次才能把保证所有的0在1前面呢? 输入输出格式 输入格式: 一个01串 输出格式: 一个数即答案 输入输出样例 输入样
阅读全文
摘要:题目描述 称一个1,2,...,N的排列P1,P2...,Pn是Magic的,当且仅当2<=i<=N时,Pi>Pi/2. 计算1,2,...N的排列中有多少是Magic的,答案可能很大,只能输出模P以后的值 输入输出格式 输入格式: 输入文件的第一行包含两个整数 n和p,含义如上所述。 输出格式:
阅读全文
摘要:题目描述 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序编号,V是花瓶的数目。花束可以移动,并且每束花用1到F的整数标识。如果I < J,则花束I必须放在花束J左边的花瓶中。例如,假设杜鹃花的标识数为1,秋海棠的标识数为
阅读全文
摘要:括号序列(bracket) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK有一个括号序列,但这个序列不一定合法。 一个合法的括号序列如下: ()是合法的括号序列。 若A是合法的括号序列,则(A)是合法的括号序列。 若A和B分别是合法的括号序列,则AB是合法
阅读全文
摘要:Description 硬币购物一共有4种硬币。面值分别为c1,c2,c3,c4。某人去商店买东西,去了tot次。每次 带di枚ci硬币,买s的价值的东西。请问每次有多少种付款方法。 硬币购物一共有4种硬币。面值分别为c1,c2,c3,c4。某人去商店买东西,去了tot次。每次 带di枚ci硬币,买
阅读全文
摘要:2431: [HAOI2009]逆序对数列 Description 对于一个数列{ai},如果有i<j且ai>aj,那么我们称ai与aj为一对逆序对数。若对于任意一个由1~n自然数组成的 数列,可以很容易求出有多少个逆序对数。那么逆序对数为k的这样自然数数列到底有多少个? 对于一个数列{ai},如果
阅读全文
摘要:Description 某人有一套玩具,并想法给玩具命名。首先他选择WING四个字母中的任意一个字母作为 玩具的基本名字。然后他会根据自己的喜好,将名字中任意一个字母用“WING”中任意两个 字母代替,使得自己的名字能够扩充得很长。现在,他想请你猜猜某一个很长的名字,最初 可能是由哪几个字母变形过来
阅读全文
摘要:题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚。他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方。我们假定,他的农场划分成 N x N 的方格。输入数据中包括有树的方格的列表。你的任务是计算并输出,在他的农场中,不需要砍树却能
阅读全文

浙公网安备 33010602011771号