
ACM_动态规划、贪心
我爱吃狮子头
有人在这虚度,有人在这成长
展开
-
动态规划入门——数字三角形问题(The Triangle)Poj1163
转自教你彻底学会动态规划——入门篇(这篇文章写的非常好,思路清晰,浅显易懂,反正我是一遍就看明白了,感谢大神) 动态规划相信大家都知道,动态规划算法也是新手在刚接触算法设计时很苦恼的问题,有时候觉得难以理解,但是真正理解之后,就会觉得动态规划其实并没有想象中那么难。网上也有很多关于讲解动态规划的文章,大多都是叙述概念,讲解原理,让人觉得晦涩难懂,即使一时间看懂了,发现当自己做题的时候又...转载 2018-08-15 11:43:18 · 925 阅读 · 0 评论 -
牛客寒假算法基础集训营3_G处女座和小姐姐(三)(数位dp)
题目链接:https://ac.nowcoder.com/acm/contest/329/G题目大意:输入两个数l,r,求l到r之前所有不含6的数有几个。代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;int a[20];ll dp[20][20]; ll dfs(int...原创 2020-03-23 22:20:34 · 302 阅读 · 0 评论 -
牛客寒假算法基础集训营3_D处女座的训练(贪心、排序)
题目链接:https://ac.nowcoder.com/acm/contest/329/D题目描述处女座靠着自己的家教本领赚够了去比赛的钱,于是开启了疯狂训练。在每个夜深人静第二天不收作业的夜晚,他都会开始刷题。"今日又是一个刷题的夜晚。"他挑选了n道题开始刷,而题太多,刷不掉,理还乱(呜呜)、自己没有解决的题目每分钟都会给他带来bibi的疲倦值,而解决每一道题目都需要花费aiai分钟的时...原创 2019-02-07 17:12:19 · 269 阅读 · 0 评论 -
牛客寒假算法基础集训营2_G处女座与复读机(dp)
题目链接:https://ac.nowcoder.com/acm/contest/327/G题目描述一天,处女座在牛客算法群里发了一句“我好强啊”,引起无数的复读,可是处女座发现复读之后变成了“处女座好强啊”。处女座经过调查发现群里的复读机都是失真的复读机,会固定的产生两个错误。一个错误可以是下面的形式之一:1.将任意一个小写字母替换成另外一个小写字母2.在任意位置添加一个小写字母...原创 2019-02-07 15:19:10 · 270 阅读 · 0 评论 -
牛客寒假算法基础集训营1_C小a与星际探索(dp)
题目链接:https://ac.nowcoder.com/acm/contest/317/C题目描述小a正在玩一款星际探索游戏,小a需要驾驶着飞船从11号星球出发前往nn号星球。其中每个星球有一个能量指数pp。星球ii能到达星球jj当且仅当pi>pjpi>pj。同时小a的飞船还有一个耐久度tt,初始时为11号点的能量指数,若小a前往星球jj,那么飞船的耐久度会变为t⊕pjt⊕...原创 2019-02-06 23:09:18 · 377 阅读 · 0 评论 -
01背包模板
上图网址为:http://www.karaffeltut.com/NEWKaraffeltutCom/Knapsack/knapsack.html#include <bits/stdc++.h>using namespace std;const int maxn=50;//最大物品数 const int maxw=100;//最大包容量(不是包的容量) in...原创 2019-02-06 18:45:00 · 322 阅读 · 0 评论 -
牛客寒假算法基础集训营6_D美食(贪心)
题目链接:https://ac.nowcoder.com/acm/contest/332/D题目描述:小B喜欢美食。现在有n个美食排成一排摆在小B的面前,依次编号为1..n,编号为i的食物大小为 a[i] ,即足够小B吃 a[i] 口。小B每次会吃两口,这两口要么是编号相同的美食,要么是编号之差的绝对值为1的美食。小B想知道,她最多能吃几次?思路:从前往后加起来,遇到0或结束时,...原创 2019-02-05 12:00:34 · 557 阅读 · 0 评论 -
CodeForce_Average Superhero Gang Power(贪心)
题目链接:http://codeforces.com/contest/1111/problem/B(第一次打codeforce,AC的代码被人hack了,大年三十都不让人好过T_T)题目:Every superhero has been given a power value by the Felicity Committee. The avengers crew wants to ...原创 2019-02-04 17:01:32 · 556 阅读 · 0 评论 -
最大连续子矩阵和
问题求一个M*N的矩阵的最大子矩阵和。比如在如下这个矩阵中:0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2 拥有最大和的子矩阵为:9 2-4 1-1 8其和为15。代码#include <bits/stdc++.h>using namespace std;const int maxn=100;int max_sub...原创 2018-08-16 18:11:11 · 626 阅读 · 0 评论 -
最大连续子序列和
一个序列,连续子序列和的最大值,以及左值和右值的下标(从0开始)。如:1 -3 -5 2 6 -1 4 9下标3到7即从(2到9)之和最大,为20。#include <iostream>const int maxn=100;using namespace std;int ml, mr, l, r;int max_sub_array(int x[], int...原创 2018-08-16 17:24:27 · 601 阅读 · 0 评论 -
01背包、完全背包、多重背包、分组背包
参考链接:01背包、完全背包、多重背包问题的C++实现 史上最易懂的01背包,完全背包,多重背包讲解浅谈分组背包 各种背包的描述:01背包(ZeroOnePack): 有N件物品和一个容量为V的背包。(每种物品均只有一件)第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。完全背包(CompletePack): 有N种物品和一个容量为V的...转载 2018-08-16 16:43:46 · 1000 阅读 · 0 评论 -
多机调度
转自https://www.cnblogs.com/cxmhy/p/4477670.html多线程问题 之多机调度问题类型一:机器是完全相同的,不同的作业处理时间是独立的问题描述:设有n个独立的作业{1,2,...n},由m台相同的机器进行加工处理。作业i所需的处理时间为ti。现规定,任何作业可以在任何一台机器上加工处理,但未完工之前不允许中断处理。任何作业不能拆分成更小的子作业。...转载 2018-08-13 16:39:52 · 3529 阅读 · 0 评论 -
01背包问题
转自:总结——01背包问题 (动态规划算法)0-1 背包问题:给定 n 种物品和一个容量为 C 的背包,物品 i 的重量是 wi,其价值为 vi 。问:应该如何选择装入背包的物品,使得装入背包中的物品的总价值最大? 分析一波,面对每个物品,我们只有选择拿取或者不拿两种选择,不能选择装入某物品的一部分,也不能装入同一物品多次。 解决办法:声明一个 大小为 m[n][c] 的...转载 2018-08-15 23:40:35 · 246 阅读 · 0 评论 -
区间调度问题_多线程
区间调度问题_单线程是一个人,这里是k个人。题目:https://nanti.jisuanke.com/t/28880有n项工作,k个人,每项工作分别在si开始,ti结束。对每项工作,人都可以选择参加或不参加,但选择了参加某项工作就必须至始至终参加全程参与,注意(x1,y1) (x2,y2) y1==x2 不算重叠。求最多参加几项工作。样例输入5 21 45 92 7...原创 2018-08-13 11:55:40 · 287 阅读 · 0 评论 -
动态规划进阶——最长公共子序列(POJ1458)、最长上升子序列(百练2757)
转自:教你彻底学会动态规划——进阶篇在我的上一篇文章中已经详细讲解了动态规划的原理和如何使用动态规划解题。本篇文章,我将继续通过例子来让大家更加熟练地使用动态规划算法。 话不多说,来看如下例题,也是在动态规划里面遇到过的最频繁的一个题,本题依然来自于北大POJ: 最长公共子序列(POJ1458) 给出两个字符串,求出这样的一个最长的公共子序列的长度:子序列中的每个...转载 2018-08-15 20:14:34 · 1889 阅读 · 0 评论 -
区间调度问题_单线程(最多、最大区间)
1、最多区间调度转自:https://www.cnblogs.com/yjlblog/p/7506887.html 本文由 YJLAugus 创作(这个大佬的博客还挺萌的)问题描述:有n项工作,每项工作分别在si开始,ti结束。对每项工作,你都可以选择参加或不参加,但选择了参加某项工作就必须至始至终参加全程参与,即参与工作的时间段不能有重叠(即使开始的时间和结束的时间重叠都不行)。求最...转载 2018-08-12 23:10:48 · 911 阅读 · 0 评论 -
CodeForces_Flood Fill(区间dp)
题目链接:Codeforces Round #538 (Div. 2)_D. Flood Fill题目描述:一排不同颜色的方块,每次可以把连续的相同颜色方块变成相邻的颜色,要把全部方块变成一种颜色最少要几步?如:[5,2,2,1] [5,5,5,1] [1,1,1,1]需要三步。思路:区间dp,用dp[l][r]存从l到r都成一种颜色时至少需要变换的次数,数组a是原方块,数组b是...原创 2019-02-11 16:45:14 · 344 阅读 · 1 评论