自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Iguodala的博客

一哥球迷,并非本人

  • 博客(49)
  • 资源 (7)
  • 收藏
  • 关注

原创 hdu2546 饭卡(01背包水)

注意题上说的是大于等于5元就能随便买,那就用这5元买了最贵物品,然后就是个以价值为容量的背包。注意这题和寒冰王座类似,都是大材小用的可暴力背包。#include #include #include using namespace std;const int N = 1005;int main(){ // freopen("in.txt", "r", stdin);

2016-02-29 19:54:32 360

原创 hdu2553 N皇后问题(回溯dfs)

刚开始怎么也想不通怎么斜向判断,看了详解,服了。。戳这里N皇后详解准确的说他是用了滚动数组,分别用三行记录正对角线,纵向,反对角线方向所放置过皇后所能影响的状态记录。若在攻击范围内,则标记1。而且越想越觉得精妙,数组是动态的,dfs遍历每行,for遍历每列,每个状态的判断都在前一个判断的基础上,而且加之回溯节省时间,再加上打表的小技巧,这样的程序真的难得一见哪。。。ps:开

2016-02-29 19:02:38 492

原创 hdu1045 Fire Net(dfs水)

尼玛啊,一道很普通的深搜居然因为括号问题改了这么长时间,自己改代码的能力好低啊。。。不过通过本题还是能感觉到dfs的强大,一个while居然可以遍历几乎整个图。。。#include #include #include #include #include using namespace std;const int N = 30;const int INF = 1000000

2016-02-28 21:06:27 311

原创 hdu3111 Sudoku(DFS水)

有了上题的基础,这题就没难度了。#include #include #include #include #include using namespace std;const int N = 30;const int INF = 1000000;int Map[N][N];int k, f, flag0;struct node{ int x, y;}roa

2016-02-28 18:53:45 477

原创 hdu1426 Sudoku Killer(经典DFS)

看了别人的,思路很明确,但敲起来很困难,输入输出都要注意,越是长的题就越不容易找错误,还需要好好理解啊。。。PS:今天上午看了库里的封神战,有点感触,我们的努力不会白费,未来的奇迹就是由这些努力创造的!#include #include #include #include #include using namespace std;const int N = 30;cons

2016-02-28 15:43:09 436

原创 hdu1240 Asteroids!(三维bfs水)

天啦一道超水的题居然被我看错输入顺序WA到现在,差点连死的心都有了。。。总之A了就好,A了就好,A了就好。。。。#include #include #include #include #include using namespace std;const int N = 30;const int INF = 1000000;char Map[N][N][N];int

2016-02-27 18:55:37 362

原创 hdu1253 胜利大逃亡(三维bfs)

三维bfs,感觉搜索还很弱啊。。。#include #include #include #include #include using namespace std;const int N = 52;const int INF = 1000000;int Map[52][52][52], visit[52][52][52];int a, b, c, t;struct

2016-02-27 13:08:51 310

原创 hdu1158 Employment Planning(普通DP)

公司每个月都需要一定量的人,雇佣和解雇人都需要钱,但每月人数都在变化,让他放着不干活给工资不一定比再雇一个画的前多,求最小花费。由于当前子问题需要建立在上一个最有子问题的基础上,所以需要DP。题意不好理解。dp[i][j]表示前i个月(包含本月)总人数为j的最小花费,从上往下DP。状态方程:相比上一月人数增多,dp[i][j] = dp[i - 1][k] + (j - k) * hi

2016-02-27 09:33:23 273

原创 hdu1160 FatMouse's Speed(LIS普通法)

先以重量升序速度降序排序,求速度的LCS,LCS用路径表示,所以不能用二分法。。。今天才想起我不会普通法。。。 = =学习了。唯一搞不懂的是为何样例不一样也还是能通过?#include #include #include #include using namespace std;const int N = 1005;const int INF = 1000000;int

2016-02-26 21:19:08 339

原创 hdu4283 You Are the One(区间DP)

本题是用dp来模拟栈,通过将数列划分为两个区间,来代替栈内和站外的区别。首先确定状态方程:下标处理极其繁琐(参考FreeWifi_novicer)dp[i][j]表示第i个屌丝到第j个屌丝的愤怒值,则共有i + j - 1个屌丝。对于第i个屌丝,在本数列(只有i ~ j)他可以1 ~ j - i + 1个出场,考虑i号屌丝第K个上场。则出场方式只有三种:1、屌丝i第K个出场

2016-02-24 17:19:28 345

原创 hdu3496 Watch The Movie(二维01背包)

至今为止见过最恶心一道题。。。思路是二维的01背包,这个只不过是多了一个限制条件,所以也就多了一层判断,状态方程也要变。大致懂了二维背包是什么了。。。可是,初始化存在大问题,参考了n篇博客,初始化为-1的,我实在不能理解。可是负无穷也明显是错的啊,题中明明写着She give a value Vi (Vi > 0) of the N piece of movies. V大于0啊!!!

2016-02-23 20:22:13 341

原创 hdu1078 FatMouse and Cheese(记忆化搜索)

http://acm.hdu.edu.cn/showproblem.php?pid=1535题意:老鼠在一个图内藏了许多奶酪,输入图中每个方格中有若干奶酪。老鼠一次可以移动k个单位(每个方格一个单位),然后吃掉该方格的所有奶酪。但是每吃掉奶酪后这个老鼠就会变胖而失去行动力,要想继续移动(必须移动,因为后面有猫追着),必须移动到下一个更多奶酪的地方补充能量,完毕后才能继续移动。老鼠不能越界。

2016-02-23 15:53:25 304

原创 hdu4521 小明系列问题——小明序列(条件LIS)

明知道是有条件的LIS,但条件怎么也写不对。。。看了别人的,居然用个数组存储前驱下标,是在下输了。。。还有注意点,写注释里了。#include #include #include using namespace std;const int N = 100005;const int INF = 1000000;int ans, a[N], dp[N], pos[N];int

2016-02-23 11:42:26 375

原创 hdu1513 Palindrome(LCS+滚动数组)

第二次遇到滚动数组,不能忽视了。。。本题就是字符串反转比较LCS,以后还是写成函数好了。。。还有字符串反转的技巧。#include #include #include using namespace std;const int N = 5005;char s1[N], s2[N];int dp[3][N], n;int LCS(){ int i, j;

2016-02-22 16:12:55 398

原创 hdu1950 Bridging signals(最长递增子序列二分)

和上题一个思路,连题都没看,只不过这个是求单个的。可是有一点,我用500005的数据,居然无法编译!?上一道题可是加结构体和排序也可以啊,真是越来越搞不懂cb这软件了。。。#include #include #include #include using namespace std;const int N = 40000+100;const int INF = 1<<27;

2016-02-21 12:53:28 507

原创 hdu1025 Constructing Roads In JGShining's Kingdom(最长递增公共子序列二分法)

这题其实和1051是一个道理,以前看的别人的代码,现在看其实就是最长递增公共子序列的二分法。。。5e5的数据量很显然普通方法不能,但是我今天才发现原来这就是二分法。。。碉堡了。。。#include #include #include #include using namespace std;const int N = 500005;const int INF = 1<<

2016-02-21 12:08:02 335

原创 hdu1423 Greatest Common Increasing Subsequence(最长递增公共子序列)

LCIS其实就是LCS的一个变种。把a[i]作为被匹配串(代表n行),b[i]作为匹配串(代表n列),则要想成为递增匹配,每行的关系必须满足升序。这样DP时只需要比较上下的关系即可。从而DP到每一列的底部,找出最大匹配数即可。下面是LCS的直接改进:#include #include #include using namespace std;const int N = 50

2016-02-20 14:17:42 380

原创 hdu1080 Human Gene Functions(带权值最长公共子序列)

带权值的最长公共子序列。原本s1[i] == s2[j]时dp[i][j] = dp[i - 1][j - 1] + 1,现在变为dp[i][j] = dp[i - 1][j - 1] + Map[s1[i]][s2[j]]。原本s1[i] != s2[j]时dp[i][j] = max(dp[i][j - 1],dp[i - 1][j] ),现在变为dp[i][j] = max(dp[i

2016-02-20 10:20:16 543

原创 hdu4540 威威猫系列故事——打地鼠(简单DP)

虽然简单DP,但我还是想了半天。。。状态方程:dp[i][j] = min(dp[i][j], dp[i - 1][l] + abs(a[i - 1][l] - a[i][j]))   (0 把k的坐标写在数组里当成花费,从上往下规划,该层每个点都是前面节点经过此节点的最小能量消耗。#include #include #include using namespace std;

2016-02-19 19:12:36 653

原创 hdu1009 FatMouse' Trade(贪心水)

很简单的贪心。#include #include #include using namespace std;const int N = 1005;struct MOU{ int j, f; double per;}mou[N];bool cmp(MOU a, MOU b){ return a.per > b.per;}int main()

2016-02-19 16:38:08 377

原创 hdu1159 Common Subsequence(最长公共子序列)

http://acm.hdu.edu.cn/showproblem.php?pid=1159题意:给你两个字符串,求他们的最长公共子序列。思路:感觉比LIS略难,按照这个递推式理解吧:思路根源感觉和背包的放与不放相似。当相应字符相匹配时,一个两者都有的状态是由有你没我、有我没你、(两者都没然后+1)的状态转移而来的;当相应字符不匹配时,虽然(两者都没然后+1)的状态

2016-02-18 15:26:04 461

原创 hdu2577 How to Type(经典DP)

本题真够经典的,原来我们平时的输入法用的就是动态规划= =。。。我们通常都是先调状态再输入,所以给定两个数组。on[N]代表输入完字母后存储的按键数,前提是最后灯亮着。off[N]代表输入完字母后存储的按键数,前提是最后灯暗着。所以输出的on[len],off[len]就是最后一个字母输入后灯状态分别是亮着和暗着所存储的按键次数。初始化,输入字符串以前(下标为0)灯应该

2016-02-18 14:24:18 339

原创 hdu1176 免费馅饼(简单DP)

和数塔类似,只不过顶点换成了该人的起点。状态方程:dp[i][j] = max(dp[i + 1][j - 1], dp[i + 1][j], dp[i + 1][j + 1]) + a[i][j]。注意0和10的特殊情况。还要注意= =,codeblock似乎无法承受N = 100005的数据量,但oj可以A掉。。。#include #include #include u

2016-02-17 20:44:00 308

原创 hdu2571 命运(简单DP)

这个是自顶向下,自左到右。注意边界的处理,比较最大值所以-105,起点处不需要有前驱点得到所以其上下值都为0。#include #include #include using namespace std;const int N = 1005;int main(){ //freopen("in.txt", "r", stdin); int C, i, j,

2016-02-17 17:18:47 475

原创 hdu2084 数塔(简单DP)

http://acm.hdu.edu.cn/showproblem.php?pid=2084题意:中文题不解释。ps:帮学妹改错顺便换了种dp方向重做了一下,感觉还不错,以前绝对没有现在想的透彻。思路:每个点的状态只与上一层的当前位和上一层的前一位数有关,靠着这样的思路得出动态方程。首先是曾经看了别人的逆向递推法:#include #inclu

2016-02-17 15:47:53 959

原创 hdu1024 Max Sum Plus Plus(M段子序列的最大和)

会做一段子序列的最大和,但没想到M段子序列的最大和这么难,完全不会啊!看了题解几乎清一色都是这种做法,方法和一段子序列的思路完全不一样啊。。。dp[j]表示以第j个元素结尾的i个子段的最大和,包含a[j]。pre[j]表示第j个元素以前元素的i个子段的最大和,不包含a[j]。temp用于存放临时最大值。真的很不好凭空理解,只好写下来了。可以看出,当前

2016-02-17 12:16:51 1526

原创 hdu1231 最大连续子序列(DP之最大子序列和)

和上一题一样,只不过变为数组。#include #include #include using namespace std;const int N = 10005;int main(){ // freopen("in.txt", "r", stdin); int K, i, maxx, pro, fir, endd, s, a; int num[N];

2016-02-15 13:31:49 573

原创 hdu1003 Max Sum(DP之最大子序列和)

本题看似复杂,而且如果想不出好的算法确实麻烦。以下是我认为比较精妙的算法,居然两个if就解决了,想出它的人还真是厉害啊。思路很清晰,而且不用复杂的理论推导。如果序列中全是负数,那么子序列中多加任何一项都会变小,所以每次都是两个if同时执行,每一项和0比较,取最大项和相应位置。如果序列中全是正数,那么子序列中多加任何一项都会变大,所以每次只执行第一个if,然后位置保存。最后是最麻烦的

2016-02-15 13:14:07 722

原创 hdu1248 寒冰王座(完全背包)

本题可以用完全背包做,但感觉背包就是大材小用。背包是指不同大小和价值的物品放入固定容量背包所得的最大价值,注意有两个变量。而本题只是衡量价值。为一个变量,所以暴力也可以。暴力法:#include #include #include using namespace std;const int N = 1005;int main(){ // freopen("in.tx

2016-02-13 20:32:31 455

原创 hdu2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包+二进制优化模板)

http://acm.hdu.edu.cn/showproblem.php?pid=2191题意:你所拥有的金额为V,物品种类为n,每种价格为cost,重量为weight,数量有限为amount个,求用这些钱(可剩余)可以买到最多多重的粮食?思路:每种物品数量有限,多重背包。直接用九讲里二进制优化过的模板就行。每种物品拆分为系数为2次幂的物品,对这些物品用以01背包的思想,背包

2016-02-13 18:44:29 540

原创 hdu1114 Piggy-Bank(完全背包)

http://acm.hdu.edu.cn/showproblem.php?pid=1114题意:存钱罐可以往里面放一些价值小的钱,但是时间久了就不知道里面有多少钱了,除非你打破它。现在给出空罐子的重量和最满能装到多重,然后给出每种硬币的价值和重量,我们要在不打破它的情况下确认罐子里最少有多少钱。思路:很贴近生活。每种硬币数量不限,所以是完全背包。条件必须在装满的情况下,求最小

2016-02-12 23:18:21 2548 2

原创 hdu2602 Bone Collector(01背包+入门)

http://acm.hdu.edu.cn/showproblem.php?pid=2602题意:容量V,物品数量n,然后n个物品的价值和体积。求不超过背包容量骨头的最大价值。思路:最基础的01背包问题。入门建议直接看背包九讲,其他什么杂牌博客都讲的不好,我是这样觉得。由于01是最基础的背包,所以我用三种方法都试了一下。二维相对于一维中间多了个判断。注意,这个判断必须要有,代表

2016-02-12 22:17:13 461

原创 hdu4268 Alice and Bob(贪心)

本题没完全懂,set还是没有用熟练,以后再看。不想做贪心了,真是瞎了我的狗眼5555。。。。#include #include #include #include #include using namespace std;const int N = 100005;struct CARD{ int hig, wed; bool operator < (c

2016-02-12 15:40:29 470

原创 hdu4864 Task(贪心)

本题看了别人的做法,顺便熟悉了下multiset。每个等级对应有一个时间,且等级间可以重复,正好用multiset。注意set插入元素后自动排序,以及set的末尾元素是1073741823(无穷大),而multiset又可以看成是一个二维数组,所以可以通过it == S[j].end()来判断该元素是否为空。还要注意定义迭代器类型后,调用时相当于是对指针的调用。此外,还学到cmp函数也可写

2016-02-12 10:50:45 333

原创 hdu1789 Doing Homework again(贪心)

以分数为主排序,截止日期为次排序排序后筛选得出值。#include #include #include #include using namespace std;const int N = 5005;const int INF = 1<<27;struct WORK{ int ded; int sco;}work[N];bool cmp(WOR

2016-02-08 15:38:48 318

原创 hdu4296 Buildings(贪心)

除夕夜刷题,好没效率。。。还是没搞懂为何排序函数是按a.w + a.s 不过尽力了,总比不看强吧。。。#include #include #include #include#include using namespace std;const int N = 100005;const int INF = 1<<27;struct FLOOR{ int w;

2016-02-08 00:05:39 337

原创 hdu4310 Hero(贪心)

普通的贪心题。排序后遍历看杀死每个怪需要多少血,加起来即可。刚开始得数对的,但是A不掉。搜了下题解,结果居然有人说是double,题上不明写着 each contains two integers DPSi and HPi吗,我真是日了狗了。。。最后发现是排序函数有问题,看来还是图样奶义务啊。。。#include #include #include #include u

2016-02-07 18:08:20 487

原创 hdu1257 最少拦截系统(最长上升子序列)

本题就是给你一个无序序列(依次飞来的高度),让你动态规划这个序列。#include #include #include #include using namespace std;const int N = 5005;const int INF = 1<<27;int main(){ // freopen("in.txt", "r", stdin); int

2016-02-07 08:39:01 395

原创 hdu1051 Wooden Sticks(DP入门)

传说中的动态规划第一题。。。光看英语题就看了好久。。。本题刚开始一看,这尼玛真简单,排个序筛选就行了,然而还是我图样。。。拿第一个样例来说,排好序(1, 4),(2,1),(3,5),(4,9),(5,2)。而最后最好的方案是(5,2)、(2,1);(4,9)、(3,5)、(1, 4)两种。换句话说,排好序后并不是按照顺序筛选,而是无规律的可以跳着筛选,从而找出方案。这就要求运用动态规

2016-02-06 11:54:02 379

原创 hdu2037 今年暑假不AC(贪心||暴力)

http://acm.hdu.edu.cn/showproblem.php?pid=2037题意:中文题不解释。首先是尽人皆知的贪心,用烂了。刚开始入门时候不懂,就跟着人模仿。今天(2016/10/22)学妹用暴搜写出来但没过,我看了看感觉思维没问题啊。这思路核心就是枚举时间,看代码都能看懂。想了一会这题的时间表示不是我们熟知的24小时啊!那就尽量往大开呗,好在貌似机器的测试数据不是很多,

2016-02-05 18:48:25 623

我的第一个作品.prproj

我的第一个pr作品,资源自取

2021-12-26

04.yizhongyuan.rar

山西益众源农业网站前端部分,怕以后找不到,传上来拿来参考啊

2020-02-21

两种swiper实现的轮播图素材

两种swiper实现的轮播图素材

2019-05-15

images.rar

滑动型展品展示图素材包

2019-05-15

风景轮播图素材包

风景轮播图博客资源。

2019-03-21

即刻招聘图片素材

我的第一个html其中的页面资源

2019-03-02

mp3转mid转换器

mp3转mid转换器,游戏开发设置音效时可能会用到

2017-02-23

空空如也

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

TA关注的人

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