POJ 3616 Milking Time ——(记忆化搜索)
第一眼看是线段交集问题,感觉不会= =。然后发现n是1000,那好像可以n^2建图再做。一想到这里,突然醒悟,直接记忆化搜索就好了啊。。太蠢了。。
代码如下:
- #include <stdio.h>
- #include <algorithm>
- #include <string.h>
- using namespace std;
- const int N = + ;
- int n,m,r;
- struct node
- {
- int l,r,val;
- void read() {scanf("%d%d%d",&l,&r,&val);}
- }p[N];
- int dp[N];
- int dfs(int u)
- {
- if(dp[u] != -) return dp[u];
- int ans = p[u].val;
- for(int i=;i<=m;i++)
- {
- if(p[u].r + r <= p[i].l)
- {
- ans = max(ans, p[u].val + dfs(i));
- }
- }
- return dp[u] = ans;
- }
- int main()
- {
- while(scanf("%d%d%d",&n,&m,&r) == )
- {
- for(int i=;i<=m;i++) p[i].read();
- memset(dp,-,sizeof dp);
- int ans = ;
- for(int i=;i<=m;i++) ans = max(ans, dfs(i));
- printf("%d\n",ans);
- }
- return ;
- }
POJ 3616 Milking Time ——(记忆化搜索)的更多相关文章
- POJ 1088 滑雪(记忆化搜索)
滑雪 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 92384 Accepted: 34948 Description ...
- POJ 1088 滑雪 DFS 记忆化搜索
http://poj.org/problem?id=1088 校运会放假继续来水一发^ ^ 不过又要各种复习,功课拉下了许多 QAQ. 还有呀,就是昨天被一个学姐教育了一番,太感谢了,嘻嘻^ ^ 好了 ...
- POJ 1088 滑雪【记忆化搜索】
题意:给出一个二维矩阵,要求从其中的一点出发,并且当前点的值总是比下一点的值大,求最长路径 记忆化搜索,首先将d数组初始化为0,该点能够到达的路径长度保存在d数组中,同时把因为路径是非负的,所以如果已 ...
- poj 1088 滑雪_记忆化搜索
题意:略 直接用记忆化搜索就行了 #include<cstdio> #include<iostream> using namespace std; int n,m; int m ...
- POJ 3176-Cow Bowling(DP||记忆化搜索)
Cow Bowling Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14210 Accepted: 9432 Desc ...
- HDU 1501 & POJ 2192 Zipper(dp记忆化搜索)
题意:给定三个串,问c串是否能由a,b串任意组合在一起组成,但注意a,b串任意组合需要保证a,b原串的顺序 例如ab,cd可组成acbd,但不能组成adcb. 分析:对字符串上的dp还是不敏感啊,虽然 ...
- POJ 1088 滑雪 【记忆化搜索经典】
题目链接:http://poj.org/problem?id=1088 滑雪 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: ...
- POJ 3373 Changing Digits 记忆化搜索
这道题我是看了别人的题解才做出来的.题意和题解分析见原文http://blog.csdn.net/lyy289065406/article/details/6698787 这里写一下自己对题目的理解. ...
- poj 1695 Magazine Delivery 记忆化搜索
dp[a][b][c],表示三个人从小到大依次在a,b.c位置时.距离结束最少的时间. 每次选一个人走到c+1位置搜索就好了. 坑点在于不能floyd.预计题目没说清楚.意思就是假设没送Li,那么Li ...
- poj 1163 The Triangle 记忆化搜索
The Triangle Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 44998 Accepted: 27175 De ...
随机推荐
- B+Tree的基本介绍
概念 特点 B-Tree有许多变种,其中最常见的是B+Tree,例如MySQL就普遍使用B+Tree实现其索引结构. 与B-Tree相比,B+Tree有以下不同点: 每个节点的指针上限为2d而不是2d ...
- android 蓝牙连接端(客户端)封装
0.权限 AndroidManifest.xml <uses-permission android:name="android.permission.BLUETOOTH"/ ...
- Down State Flush Feature
Down State Flush Feature ========================================================== Citrix NetScaler ...
- S2-052
前言 S2-052的RCE漏洞和以前的有些不同,不再是ognl表达式注入了,而是xml反序列化漏洞导致的RCE(另外还有S2-055漏洞是fastjson的反序列化漏洞).我复现的时候遇到一个坑,导致 ...
- Centos超详细安装步骤
Linux中三大主流操作系统 Ubuntu 优点:用户界面友好.工具完善 缺点:vps(虚拟服务器)成本较高.不具备商业化服务器操作系统 Centos--目前常用centos6.x,centos7.x ...
- Linux用户管理——useradd
除了useradd还有一个命令adduser,两者是链接关系 [root@51cto ~]# which adduser /usr/sbin/adduser [root@51cto ~]# which ...
- jade-render-renderFile
var http = require('http'); var jade = require('jade'); http.createServer(function(req, res){ res.wr ...
- 三道习题(1、将单词表中由相同字母组成的单词归成一类,每类单词按照单词的首字母排序,并按 #每类中第一个单词字典序由大到小排列输出各个类别。 #输入格式:按字典序由小到大输入若干个单词,每个单词占一行,以end结束输入。)
#coding=gbk ''' 1.将单词表中由相同字母组成的单词归成一类,每类单词按照单词的首字母排序,并按 #每类中第一个单词字典序由大到小排列输出各个类别. #输入格式:按字典序由小到大输入若干 ...
- Vant UI 组件库如何做rem适配?
Vant是一款移动端基于vue的组件库,V2.1.1版本非常棒.文档地址:https://youzan.github.io/vant/?source=vuejsorg#/zh-CN/intro,那么V ...
- CSS3媒体查询实例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...