DP
我不吃海鲜
这个作者很懒,什么都没留下…
展开
-
HDOJ 1024 DP
题意:在n个数里找m个不相交的子段让他们和最大。这题目自己的思路有了明显偏差。别说没写出来,写出来都是O(n^2)的。不过还好,我还是反应用DP的,但是这道题我一开始自己一直没想明白DP的话,怎么存在下。因为m可能很大的说。哇,这个纯属就是自己蠢了。先写出DP转移方程吧 do[i][j]=max(dp[i][j-1]+a[j],dp[i-1][k]+a[j],i原创 2017-12-06 19:41:28 · 217 阅读 · 0 评论 -
HDU 46DP 之三
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1231 这题目很早前做过很多次累死的,不过当时使用模拟。贪心来做的。这次用了DP 因为要输出头元素和尾元素。所以用结构体保存方便一点。 dp[i] = max(dp[i],dp[i-1]+val[i]);#include<bits/stdc++.h>#define INF 1e18#define i原创 2018-03-17 16:13:29 · 115 阅读 · 0 评论 -
HDU 48DP 之四
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1003和前面那题差不多emm。没啥说的。#include<bits/stdc++.h>#define INF 1e18#define inf 1e9#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define IOS ios_base::sync_w原创 2018-03-17 16:21:53 · 134 阅读 · 0 评论 -
HDU 46DP 之五
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1506这个题目我最开始的思路是DP前i块时候的最大面积。后来发现不行。然后在DP前i快面积是,觉得左边和右边满足条件的是可以DP出来的。有了思路。#include<bits/stdc++.h>#define INF 1e18#define inf 1e9#define lson l,m,rt<<1#d原创 2018-03-17 20:05:08 · 144 阅读 · 0 评论 -
HDU 46DP 之六(1506加强版)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1505 说真的这道题不让我做了1506来做我还真不知道要怎么做这题- -。不过今天是做了1505来的。所以也就容易想到了。他是面积。但是我们可以通过牺牲时间来降维啊。我们把n变成高。然后就成了操作n次m长的序列。就是前面那题了。#include<bits/stdc++.h>#define INF 1e18原创 2018-03-17 20:25:11 · 149 阅读 · 0 评论 -
HDU 46DP (7 01背包问题 8 最长上升子序列O(n*n))
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2602 模板题#include<bits/stdc++.h>#define INF 1e18#define inf 1e9#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define IOS ios_base::sync_with_stdio(fa原创 2018-03-19 20:04:12 · 134 阅读 · 0 评论 -
HD 48DP 1069(最长递增子序列)?
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1069 别人的方法和我有点不一样- -?我的是真的暴力。。。。不过也可以优化。不过数据很小也懒得了。#include <bits/stdc++.h>#define INF 1e18#define inf 1e9#define lson l,m,rt<<1#define rson m+1,r,rt<<原创 2018-04-02 20:59:29 · 138 阅读 · 0 评论 -
HD 48DP 1171 多重背包问题
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1171 以前做多重背包的问题。都是直接用母函数做的。但是这次不能了- -,因为这个数据有点多。。用母函数肯定要跑很久。要是和上次那个6个数字一样用母函数就好很多了。多重背包问题其实最主要的就是多一次预处理。因为二进制可以表示任意10进制的数。所以通过二进制的思路进行预处理。后来就当做普通的01背包问题就行了原创 2018-04-03 10:18:09 · 147 阅读 · 0 评论 -
HD 48DP之 七 (2571)
题目:#include<bits/stdc++.h>#define INF 1e18#define inf 1e9#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define IOS ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0)using namespace std ;t原创 2018-03-28 17:44:55 · 176 阅读 · 0 评论 -
HDU 46DP 之二(01背包问题)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1864 这道题就是都是小数,所以直接扩大100倍。当成正常的背包问题。#include<bits/stdc++.h>#define INF 1e18#define inf 1e9#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define IOS原创 2018-03-17 12:08:11 · 133 阅读 · 0 评论 -
HDU 46DP 之一(01背包DP)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2955 这道题开始被误导了。 因为是小数。所以直接放大去做。然后突然想起来概率是乘除来的???? 然后我们求成功的概率更容易嘛。预处理一下。然后拿价值当容量。拿概率当价值。最后DP结束后只要从后开始找。找到概率大于等于1-p的就输出他的容量。#include<bits/stdc++.h>#define原创 2018-03-17 12:06:31 · 133 阅读 · 0 评论 -
HDU 6082 完全背包
题目:http://acm.hdu.edu.cn/showproblem.php?pid=6082这是中文题,肯定就不需要翻译了。这道题很有意思。和前两个月个月华东师范差不多的DP题。 这是一个很明显可以用背包问题解决但是会超时的题目。因为数据量太大了。但是这种题目有个特点。 就有一个状态很小。可以开二维数据进行打表喽。 不过这题题目有个注意的地方就是。他是打怪伤害可以超的。所以我们在每一次D原创 2018-03-14 20:34:34 · 137 阅读 · 0 评论 -
哈尔滨理工大学第七届程序设计竞赛决赛 C 小明打联盟
时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 小明很喜欢打游戏,现在已知一个新英雄即将推出,他同样拥有四个技能,其中三个小技能的释放时间和固定的伤害值为: 1.乌鸦坐飞机 释放时间:x 固定伤害值:a 2.蜘蛛吃耳屎 释放时间:y 固定伤害值:b 3.饿狼前进 释放时间:z 固原创 2017-12-15 19:09:46 · 424 阅读 · 0 评论 -
哈尔滨理工大学第七届程序设计竞赛决赛 D 数圈圈
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 tabris有一个习惯,无聊的时候就会数圈圈,无论数字还是字母。 现在tabris更无聊啦,晚上睡不着觉就开始数羊,从a只数到b只。 顺便还数了a到b之间有多少个圈。但是tabris笨啊,虽然数羊不会数错,但很原创 2017-12-15 19:51:19 · 274 阅读 · 0 评论 -
桂电第一次程序设计 B 大数,DP
Problem 1195 # 叠高高 ediszhao添加于2017-12-22 14:54:45 时间限制 : 1000MS 内存限制 : 65536KB ×提示 : 你已解决此题目。 问题描述 有一座高度为N(N<10000)的墙,给你两种不同砖头:一种高度为1,另一种高度为2,数目不限。要将这个高度为N的墙叠好,一共有多少种不同的叠法。输入 只有一个数N,代表墙的高度。输出 输出原创 2017-12-25 11:36:49 · 229 阅读 · 0 评论 -
HDOJ 1025 DP
题意:河两边各n座城市,修路,不能交叉,最多几条。这种题目难还是怎么把模型转换,比如这道题。可以把所要连接的城市当做比较值,然后以初始点当下标。也就是LIS。 比如例子 3 1 2 2 3 3 1 我们就可以当做是长度3的数组a[]={2,3,1}; 就是求这个数组的最长子序列了。#include #include using namespace std ;const原创 2017-12-07 16:05:11 · 327 阅读 · 0 评论 -
桂电第一届程序设计 D 双线程DP
Problem 1198 # 情迷意乱 ediszhao添加于2017-12-22 15:01:51 时间限制 : 1000MS 内存限制 : 65536KB ×提示 : 你还没有解决此题目! 问题描述 小明和小红是同班同学,上课了,小明心里乱慌慌的,因为刚才下课时小红盯着小明看了一会,小明想急切知道小红刚才为什么盯着他。他们坐在一个m行n列的教室里,而小明和小红被安排在矩原创 2017-12-25 20:26:16 · 268 阅读 · 0 评论 -
HDOJ 1028 多种解法
Ignatius and the Princess IIITime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 23401 Accepted Submission(s): 16310Problem Description"Well, i原创 2018-01-05 17:40:28 · 535 阅读 · 0 评论 -
HDOJ 1284 背包DP
钱币兑换问题Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 11382 Accepted Submission(s): 6917Problem Description在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法原创 2018-01-05 17:48:51 · 156 阅读 · 0 评论 -
HDOJ 1398 背包DP
题目在母函数的方法里有。不多说。#include<bits/stdc++.h>#define max(a,b) a>b?a:b#define min(a,b) a<b?a:busing namespace std ;typedef long long ll;typedef unsigned long long ull;const int MAX = 300+5;int dp[MAX];原创 2018-01-06 17:37:51 · 159 阅读 · 0 评论 -
codeforce 983B XOR-pyramid
For an array bb of length mm we define the function ff asf(b)={b[1]if m=1f(b[1]⊕b[2],b[2]⊕b[3],…,b[m−1]⊕b[m])otherwise,f(b)={b[1]if m=1f(b[1]⊕b[2],b[2]⊕b[3],…,b[m−1]⊕b[m])otherwise,where ⊕⊕ is bitwi...原创 2018-05-17 11:42:39 · 206 阅读 · 0 评论