Codeforces Round #486-F.Rain and Umbrellas题解
一、题目链接:http://codeforces.com/contest/988/problem/F
二、题面
三、思路
很明显而且比较能想到的$dp$。
四、代码实现
#include<bits/stdc++.h> using namespace std; #define fst first #define snd second #define MAXN 2018 typedef pair<int, int> PII; typedef long long LL; int dest, n, m, p[MAXN], rain_len[MAXN]; PII rains[MAXN]; map<int, int> mp; bool wet[MAXN]; LL b[MAXN], dp[MAXN][MAXN]; int main(){ // freopen("input.txt", "r", stdin); int t1, t2; scanf("%d%d%d", &dest, &n, &m); ;i <= n;++i){ scanf("%d%d", &t1, &t2); rains[i] = make_pair(t1, t2); fill(wet + t1, wet + t2, true); } sort(rains + , rains + n + ); ;i <= m;++i){ scanf("%d%d", &t1, &t2); if(mp.find(t1) != mp.end())mp[t1] = min(mp[t1], t2); else mp[t1] = t2; } m = ; for(auto e : mp){ t1 = e.fst, t2 = e.snd; b[++m] = t2, p[m] = t1; } b[m + ] = , p[m + ] = dest; ;i <= m;++i){ ];j > p[i];--j){ ]){ rain_len[i] = j - p[i]; break; } } } ; ;i < p[];++i)dry &= !wet[i]; if(!dry)return !printf("-1\n"); else{ memset(dp, 0x3f, sizeof(dp)); dp[][] = ; ;i <= m;++i){ ;j <= i;++j){ dp[i + ][i + ] = min(dp[i + ][i + ], dp[i][j] + b[j] * rain_len[i]); dp[i + ][j] = min(dp[i + ][j], dp[i][j] + b[j] * (p[i + ] - p[i])); } } LL ans = *min_element(dp[m + ], dp[m + ] + MAXN + ); cout << ans << endl; } ; }
Codeforces Round #486-F.Rain and Umbrellas题解的更多相关文章
- Codeforces Round #486 (Div. 3) F. Rain and Umbrellas
Codeforces Round #486 (Div. 3) F. Rain and Umbrellas 题目连接: http://codeforces.com/group/T0ITBvoeEx/co ...
- 【赛时总结】◇赛时·V◇ Codeforces Round #486 Div3
◇赛时·V◇ Codeforces Round #486 Div3 又是一场历史悠久的比赛,老师拉着我回来考古了……为了不抢了后面一些同学的排名,我没有做A题 ◆ 题目&解析 [B题]Subs ...
- Codeforces Round #486 (Div. 3) E. Divisibility by 25
Codeforces Round #486 (Div. 3) E. Divisibility by 25 题目连接: http://codeforces.com/group/T0ITBvoeEx/co ...
- Codeforces Round #486 (Div. 3) D. Points and Powers of Two
Codeforces Round #486 (Div. 3) D. Points and Powers of Two 题目连接: http://codeforces.com/group/T0ITBvo ...
- Codeforces Round #486 (Div. 3) A. Diverse Team
Codeforces Round #486 (Div. 3) A. Diverse Team 题目连接: http://codeforces.com/contest/988/problem/A Des ...
- Educational Codeforces Round 63 (Rated for Div. 2) 题解
Educational Codeforces Round 63 (Rated for Div. 2)题解 题目链接 A. Reverse a Substring 给出一个字符串,现在可以对这个字符串进 ...
- Educational Codeforces Round 65 (Rated for Div. 2)题解
Educational Codeforces Round 65 (Rated for Div. 2)题解 题目链接 A. Telephone Number 水题,代码如下: Code #include ...
- Educational Codeforces Round 64 (Rated for Div. 2)题解
Educational Codeforces Round 64 (Rated for Div. 2)题解 题目链接 A. Inscribed Figures 水题,但是坑了很多人.需要注意以下就是正方 ...
- Educational Codeforces Round 40 F. Runner's Problem
Educational Codeforces Round 40 F. Runner's Problem 题意: 给一个$ 3 * m \(的矩阵,问从\)(2,1)$ 出发 走到 \((2,m)\) ...
- Codeforces Round #612 (Div. 2) 前四题题解
这场比赛的出题人挺有意思,全部magic成了青色. 还有题目中的图片特别有趣. 晚上没打,开virtual contest打的,就会前三道,我太菜了. 最后看着题解补了第四道. 比赛传送门 A. An ...
随机推荐
- shell 判断文件是否存在,没有则创建
没有该文件则创建,有则 ls -l 输出文件信息. #!/bin/bash echo "enter the name:" read filename if test -e $fil ...
- XML_Qt_资料
1.QXmlQuery Class _ Qt XML Patterns 5.7.html http://doc.qt.io/qt-5/qxmlquery.html ZC: evaluateTo(QAb ...
- session与cookie详解
session与cookie是什么? session与cookie属于一种会话控制技术.常用在身份识别,登录验证,数据传输等.举个例子,就像我们去超市买东西结账的时候,我们要拿出我们的会员卡才会获取优 ...
- spark 累加历史 + 统计全部 + 行转列
spark 累加历史主要用到了窗口函数,而进行全部统计,则需要用到rollup函数 1 应用场景: 1.我们需要统计用户的总使用时长(累加历史) 2.前台展现页面需要对多个维度进行查询,如:产品.地 ...
- 关于keyCode, 键盘代码。 和零散的javascript知识。http://js2.coffee/(转化工具)
这个是coffeescript代码 document.addEventListener 'turbolinks:load', -> document.getElementById(" ...
- Java网络编程和NIO详解4:浅析NIO包中的Buffer、Channel 和 Selector
Java网络编程与NIO详解4:浅析NIO包中的Buffer.Channel 和 Selector 转自https://www.javadoop.com/post/nio-and-aio 本系列文章首 ...
- c++ 中的 set
set (集合) 中的元素是排序好的,而且是不重复的. 例题:hdu 4989 题目大意:求一组数列中任意两个不重复元素和,再求不重复和的和. #include <bits/stdc++.h&g ...
- [转载]Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间)
本文主要解决一个问题,如何实现二叉树的前中后序遍历,有两个要求: 1. O(1)空间复杂度,即只能使用常数空间: 2. 二叉树的形状不能被破坏(中间过程允许改变其形状). 通常,实现二叉树的前序(pr ...
- java Web 工程servlet中@WebServlet("/HelloServlet") 是怎么工作的
编写好Servlet之后,接下来要告诉Web容器有关于这个Servlet的一些信息.在Servlet 3.0中,可以使用标注(Annotation)来告知容器哪些Servlet会提供服务以及额外信息. ...
- SQLServer查看用户连接数
SELECT login_name, ) user_count FROM Sys.dm_exec_requests dr WITH(nolock) RIGHT OUTER JOIN Sys.dm_ex ...